True cost per order: how to calculate it from your 3PL invoices
Why your true cost per order is higher than the quoted fee#
A quote's per-order fee prices one activity, or a set of tasks under all-in pricing; your invoices bill every other activity you use, plus postage. A full rate card can run to a few dozen lines, and some of them (accessorials, special projects, B2B lines) may not appear in a typical month. For most direct-to-consumer (DTC) brands that ship on the 3PL's carrier accounts, postage is the largest share of total 3PL spend, larger than all warehouse fees combined.
In the invoices we review, shipping markups are often not written on the rate card. On a 3PL's own shipping rate card, the margin is inside the price and needn't be written down, so you judge the rates, not the margin. When postage is billed at cost plus a markup, the markup belongs in the contract.
Some charges arrive on another invoice or a month later. In the example below, a $1.75 order fee becomes $3.54 of warehouse fees per order, $12.04 with postage and $12.37 once return labels and late items are counted.
The true cost per order formula#
True cost per order divides a month's fulfillment and shipping charges by that month's shipped orders:
True cost per order = (warehouse fees + postage + carrier adjustments − credits) ÷ orders shipped
Warehouse fees means every 3PL charge other than postage: receiving, storage, pick and pack, packaging, inserts, returns processing, account and technology fees, special projects and other accessorial charges for work outside the standard flow, and any monthly minimum shortfall (the true-up line billed when eligible fees fall below the floor). It's the formula in How 3PL pricing works: an overview of the rate card with adjustments and credits written out.
Postage, with surcharges such as fuel and residential fees, goes in however it's billed: at the 3PL's carrier cost, at cost plus a markup, on the 3PL's own shipping rate card, or on your own carrier account, billed by the carrier (How 3PLs bill shipping: pass-through, markup or the 3PL's own rate card). Many 3PL invoices label parcel postage "freight"; here, freight (LTL/FTL) means pallets and truckloads.
Orders shipped are orders that left the warehouse that month, for the same channels as the costs. Published guides disagree on whether shipping belongs in the numerator1,2. Teams also call this total fulfillment cost per order; a fully loaded figure adds internal staff and software.
How to calculate your true cost per order, step by step#
Five steps, in a spreadsheet with one row per charge, turn a month of invoices into one repeatable figure.
1. Collect every invoice for the month#
Gather the fulfillment invoice, any separate storage, shipping, returns or supplies invoices, and credit notes (Separate invoices for fulfillment, storage, shipping and freight: tying them together). Small-parcel postage is on the 3PL's invoice in about nine in ten of Implentio customers' 3PL contracts. Add the carrier's own invoices for any orders shipped on your carrier account, even when other postage is on the 3PL's invoice. Ask for the shipment-level file, which lists postage and surcharges per package. If it repeats an order-level charge on each package row of a split order, count the charge once.
2. Assign charges to the month the activity happened#
File each charge under the month of the activity it bills, not the invoice date. Billing cycles can straddle month-end, and storage can be billed for the month ahead or the month just ended. Carriers bill adjustments (corrections to a parcel's weight, dimensions, address or service) after the parcel ships4, and an adjustment can take time to show up in the shipper's account5. Re-billed adjustments show up as separate lines in roughly a quarter to a third of Implentio customers' 3PL contracts; some brands see no corrections, and others have them folded into regular shipping lines.
Work out a provisional figure when the month's invoices are in. Finalize it when the next month's invoices arrive, moving adjustments and credits for this month's orders back into it. Anything later goes into the month it arrives, labeled as a prior-month item. Carrier adjustments usually reach a 3PL invoice within a few weeks of shipping, though some arrive later.
3. Sort charges into cost groups#
Sort charges by behavior, not name: a per-order technology fee is variable, not recurring.
| Group | Examples | Moves with |
|---|---|---|
| Variable per order | Pick and pack, packaging, inserts, postage, carrier adjustments | Orders and units |
| Recurring | Storage, flat account and technology fees | Time and inventory |
| Inbound | Receiving | Stock arrivals |
| Returns | Returns processing, return labels | Returns |
| One-time and projects | Setup, integration, special projects | Events, not volume |
| Conditional | Minimum shortfall | Months under the floor |
Divide each group by orders shipped, as well as the total (Fee mix analysis: which fees are driving your spend?).
4. Decide what counts as an order, and keep it fixed#
Divide by orders shipped, not orders placed, which include cancelled and unshipped orders. Count customer orders, not packages: an order shipped in two boxes is one order, and both boxes' costs go in the numerator. A replacement or reship adds cost but not an order; if replacements are frequent, track their cost on its own line. A 3PL that bills the order fee or first pick per package changes the cost, not your order count.
Keep wholesale and other B2B orders, inventory transfers and their freight in a separate calculation. Split orders by the order type, sales channel or account on the shipment-level file, and costs by the B2B lines (B2B order fees, case or pallet picks, LTL or FTL freight).
5. Add adjustments, subtract credits, then divide#
Add the month's carrier adjustments, subtract credits, and divide. Subtract only credits that reverse a charge in the figure: a reimbursement for lost or damaged inventory offsets your inventory cost, and a goodwill credit or a credit for a missed service-level agreement (SLA) that reverses no charge stays out of the figure. A credit belongs to the month of the charge it reverses, shown by the invoice and line it references.
In a month under the minimum, a credit on a fee that counts toward the minimum (for an earlier billing error or a missed SLA) that is applied before the shortfall is calculated raises the shortfall by the same amount, so the credit is worth nothing. Don't move such a credit back to the month of the charge it corrects. Unless the contract sets the order, ask for such credits to be applied after the shortfall is calculated. See Monthly minimums: how they're calculated, when they apply, how to negotiate them.
What to include, what to track separately and what to leave out#
Include every charge for fulfilling and shipping the month's DTC orders, plus sales tax on those charges unless you recover it. Calculate B2B separately, and report one-off projects and one-time fees separately (one-time fees can instead be spread evenly). Leave out inbound freight and duties, software you pay for yourself and internal staff.
| Item | In true cost per order? | Why, or where it goes |
|---|---|---|
| Pick and pack, packaging, inserts | Include | Variable per order |
| Postage with surcharges, on any account | Include | Same formula on every billing basis |
| Carrier adjustments | Include, in the month the parcels shipped (any arriving after next month's invoices go in the month they arrive) | Don't add them twice where they're folded into shipping lines |
| Storage, receiving, flat account and technology fees | Include | Billed whether or not you ship |
| Returns processing and return labels | Include | Labels are postage; group them with postage or returns, consistently |
| Minimum shortfall | Include | A cost of the contract in the months it applies |
| Sales tax on 3PL invoices | Include, unless you recover it | Tax you recover isn't a cost to you |
| Special projects | Include if recurring; otherwise report separately | One-off work distorts one month |
| One-time fees (setup, integration) | Report separately, or spread evenly over the contract's initial term | Either works if done the same way every month |
| B2B and wholesale fees and freight | Separate calculation | Shared storage and account fees stay in the DTC figure or are split by one fixed rule, such as share of units shipped |
| Inbound freight and duties | Leave out | Part of landed cost; receiving fees the 3PL bills stay in |
| Software you pay for yourself, internal staff | Leave out | Fully loaded cost per order; 3PL technology fees and postage bought through any portal stay in |
Worked example: one month, every invoice (illustrative)#
In this illustrative month, with rates that are not benchmarks, a DTC brand's true cost per order is $12.27 when the month's own invoices are in and $12.37 once next month's invoices bring a carrier adjustment and a credit.
The brand ships 2,000 orders (3,200 units). Warehouse fees are the $7,081 from the example in How 3PL pricing works: an overview of the rate card, with a $1.75 order fee including the first unit and $0.40 per additional unit. On the other common pick structure, an order fee one pick lower ($1.35) plus $0.40 for every unit, pick and pack comes to the same $3,980: (2,000 × $1.35) + (3,200 × $0.40). Postage is $8.50 per label at carrier cost.
| Item | Where it's billed | Amount | Running total | Per order |
|---|---|---|---|---|
| Warehouse fees | This month's 3PL invoice | $7,081 | $7,081 | $3.54 |
| Postage (2,000 × $8.50) | This month's 3PL invoice | $17,000 | $24,081 | $12.04 |
| Return labels (60 × $7.50) | This month's 3PL invoice | $450 | $24,531 | $12.27 |
| Carrier adjustments on this month's parcels | Next month's 3PL invoice | $320 | $24,851 | $12.43 |
| Credit for packaging overbilled this month | Next month's credit note | −$120 | $24,731 | $12.37 |
True cost per order = ($7,081 + $17,000 postage + $450 return labels + $320 − $120) ÷ 2,000 = $24,731 ÷ 2,000 = $12.37
The overview's $12.04 counts its warehouse table and outbound postage; return labels and the two late items take the same month to $12.37.
| Group | Lines | Amount | Per order |
|---|---|---|---|
| Variable per order | Pick and pack $3,980, packaging $1,100, inserts $300, postage $17,000, adjustments $320, credit −$120 | $22,580 | $11.29 |
| Recurring | Storage $1,100, account fee $250 | $1,350 | $0.68 |
| Inbound | Receiving $96 | $96 | $0.05 |
| Returns | Processing $210, return labels $450 | $660 | $0.33 |
| One-time and projects | One routine project hour | $45 | $0.02 |
| Conditional | No shortfall: pick and pack of $3,980 clears the overview's illustrative $2,500 minimum | $0 | $0.00 |
| Total | $24,731 | $12.37 |
If five wholesale orders on the same invoice ($1,150 of B2B order fees, case picks and LTL freight, or $230 per order) were mixed in, the figure would be ($24,731 + $1,150) ÷ 2,005 = $12.91, which is $0.54 too high for DTC and far too low for wholesale.
What a reliable cost-per-order figure looks like#
A reliable figure is built the same way every month, so a monthly change comes from orders, inventory or rates. It:
- uses the same definition and order count every month (Trending 3PL cost month over month: what normal variance looks like);
- ties to the invoices, with any timing difference from finance's books explained;
- is reported as a total plus each cost group;
- is finalized after next month's invoices bring in late adjustments and credits, or carries an accrued estimate until then (Accruing 3PL costs when invoices arrive late);
- keeps DTC and B2B in separate calculations.
For market ranges, see Total fulfillment cost per order by vertical and order profile.
Common mistakes#
These mistakes change the number without any change in what you paid:
- Leaving out postage because it's on another invoice. One pricing guide runs its cost-per-order math before shipping2; carrier invoices on your own account count too.
- Dividing by orders placed, or mixing B2B orders into the DTC figure.
- Finalizing a month before the next month's invoices arrive, or counting the carrier adjustments and credits those invoices bring in the later month. Only items that arrive after that go in the month they arrive, labeled as prior-month items.
- Dropping charges that aren't "per order" or weren't on the quote. One quote guide lists returns processing, onboarding fees, account maintenance and carrier accessorial charges (residential, fuel, DIM and peak surcharges) as items "rarely on a 3PL quote but always on the invoice"3.
- Counting a fee twice. "Pick and pack" includes the shipping label at some 3PLs, and adjustments can be folded into shipping lines.
- Comparing true cost with a quote's order fee. To compare a quote, run the same month through its rate card (How to compare rate cards apples to apples).
- Changing the definition between months, such as spreading setup fees in one month and not the next.
Questions to ask your 3PL#
- Which invoices will I receive each month, and on what schedule?
- Is storage billed for the month ahead or the month just ended, and on what count date?
- Do carrier adjustments arrive on a later invoice, and how are they labeled?
- Can I get a shipment-level file with postage, surcharges and the order number for each package?
- Are credits issued as credit notes or netted on the next invoice, and which invoice and month do they reference?
- Does the order fee include the first pick? Is an order fee charged on each part of a true split (an order fulfilled across days or warehouses), and only once on a multi-parcel order (one fulfillment packed in two or more boxes)?
- Which charges are billed outside the monthly invoice, such as projects or supplies rebills?
- How does your system identify a B2B order: by account, sales channel, order tag or order type?
True cost per order calculator
Calculated from the itemized lines below; close the section to type totals.
True cost per order
$12.37
($7,081 + $17,450 postage + $320 − $120) ÷ 2,000 = $24,731 ÷ 2,000 = $12.37
True cost per order = (warehouse fees + postage + carrier adjustments − credits) ÷ orders shipped
($7,081 + $17,000 postage + $450 return labels + $320 − $120) ÷ 2,000 = $24,731 ÷ 2,000 = $12.37
Provisional figure, when the month's invoices are in
$24,531 ÷ 2,000 = $12.27
Finalized after next month's invoices bring in late adjustments and credits
$24,731 ÷ 2,000 = $12.37
A $1.75 order fee becomes $3.54 of warehouse fees per order, $12.04 with postage and $12.37 once return labels and late items are counted.
| Item | Where it's billed | Amount | Running total | Per order |
|---|---|---|---|---|
| Warehouse fees | The month's own invoices | $7,081 | $7,081 | $3.54 |
| Postage | The month's own invoices | $17,000 | $24,081 | $12.04 |
| Return labels | The month's own invoices | $450 | $24,531 | $12.27 |
| Carrier adjustments for this month's parcels | Next month's invoices | $320 | $24,851 | $12.43 |
| Credits for this month's charges | Next month's invoices | −$120 | $24,731 | $12.37 |
| Group | Lines | Amount | Per order |
|---|---|---|---|
| Variable per order | Order fee (includes first unit) $3,500, Additional units $480, Packaging (at cost) $1,100, Inserts $300, Postage $17,000, Carrier adjustments on this month's parcels $320, Credit for packaging overbilled this month −$120 | $22,580 | $11.29 |
| Recurring | Pallet storage $800, Bin storage $300, Account fee $250 | $1,350 | $0.68 |
| Inbound | Receiving $96 | $96 | $0.05 |
| Returns | Returns $210, Return labels $450 | $660 | $0.33 |
| One-time and projects | Special projects $45 | $45 | $0.02 |
| Conditional | $0 | $0.00 | |
| Total | $24,731 | $12.37 |
Cost per unit
If 5 wholesale orders on the same invoice ($1,150 of B2B order fees, case picks and LTL freight, or $230 per order) were mixed in, the figure would be ($24,731 + $1,150) ÷ 2,005 = $12.91, which is $0.54 too high for DTC and far too low for wholesale.
Work out a provisional figure when the month's invoices are in. Finalize it when the next month's invoices arrive, moving adjustments and credits for this month's orders back into it. Anything later goes into the month it arrives, labeled as a prior-month item.
Leave out inbound freight and duties, software you pay for yourself and internal staff.
Divide by orders shipped, not orders placed, which include cancelled and unshipped orders. Count customer orders, not packages: an order shipped in two boxes is one order, and both boxes' costs go in the numerator.
Runs in your browser. Nothing you enter is sent or saved.
Worksheet: true cost per order for one month#
Copy this table into a spreadsheet, enter each charge from each invoice, and divide the total by orders shipped, adding rows for any charge your contract has that isn't listed.
| Line | Source invoice | Amount | Cost group |
|---|---|---|---|
| Order and pick fees | 3PL fulfillment invoice | Variable | |
| Packaging and inserts | 3PL invoice or supplies bill | Variable | |
| Postage, with surcharges | 3PL invoice or your carrier's | Variable | |
| Carrier adjustments for this month's parcels | Later 3PL or carrier invoice | Variable | |
| Storage | 3PL storage or fulfillment invoice | Recurring | |
| Account and technology fees | 3PL invoice | Recurring | |
| Receiving | 3PL invoice | Inbound | |
| Returns processing and return labels | 3PL invoice or your carrier's | Returns | |
| Special projects; one-time fees if included | 3PL invoice | One-time and projects | |
| Minimum shortfall | 3PL invoice | Conditional | |
| Credits for this month's charges | Credit note or later invoice | (negative) | Group of the charge corrected |
| Total | Sum of lines | ||
| Orders shipped (DTC) | Order or shipment file | ||
| True cost per order | Total ÷ orders shipped |
FAQ#
How much does a 3PL cost per order?
No single figure fits every brand, because cost per order moves with units per order, packaging, inventory and where you ship. Work it out from a month of your own invoices and see What do 3PLs charge? Fee-by-fee ranges, with methodology and caveats for ranges.
Should I track cost per order, cost per unit or cost as a percent of revenue?
Cost per unit divides the same total by units shipped, and cost as a percent of revenue divides it by net revenue. Which to track is covered in Cost per unit vs. cost per order vs. cost as a percent of revenue and Fulfillment cost per order vs. as a percent of revenue: which to track and why.
Should inbound freight be in cost per order?
No. Freight and duties to bring goods into the warehouse are part of landed cost, not the cost of fulfilling orders. See Landed cost: what to include and how to calculate it.
How often should I calculate true cost per order?
Monthly, with the same definition and order count each time. Treat it as provisional until the next month's invoices have brought in late adjustments and credits.
Sources#
5 sources cited
- Ops Engine (Arsen Janikyan), "3PL Pricing Explained: 2026 Complete Guide" (undated; accessed Oct 9, 2026). https://www.opsengine.co/blog/3pl-pricing-guide
- Fulfill.com, "How Much Does a 3PL Cost in 2026? 16 Fee Benchmarks" (Jun 10, 2026; methodology updated Sep 2026). https://www.fulfill.com/3pl-pricing
- Simple Distribution (Anna Celetaria), "What a 3PL Quote Actually Looks Like: A Sample Rate Card, Line by Line" (updated Aug 8, 2026). https://simple-distribution.com/resources/what-a-3pl-quote-looks-like
- ShipEngine help center, "What are post-shipment adjustments?" (updated May 21, 2026). https://help.shipengine.com/hc/en-us/articles/20540858865435
- Stamps.com, "How to Avoid Post-Billing Adjustments" (last modified Nov 13, 2025). https://www.stamps.com/article/post-billing-adjustments.md