The 3PL Guide
Part XIV · 14.2how-to11 min readUpdated Oct 20, 202610 sources

How to reconcile 3PL order charges with the orders you shipped

Why check billed orders against shipped orders#

A wrong order count repeats across every per-order line on the bill. The order fee (also billed as order processing, order charge, order fulfillment charge, base fee or per-order fee, and at a few 3PLs pick ticket) follows the count, and so can picks, packaging and inserts. These errors bill the right rate on the wrong quantity: a correct $1.75 order fee on 2,030 orders is still wrong if you shipped 2,000 (illustrative).

Gaps can also come from timing, data and order types, and they run both ways. Matching order by order shows which gap is which. This article expands Step 5 of How to audit a 3PL invoice, step by step.

What you need before you start#

From your 3PL

  • Order-level detail: the spreadsheet behind the invoice's order lines, one row per order or per package, with your channel order number, the 3PL's order ID, ship date, packages, units and picks billed.
  • The shipment-level file, with tracking numbers for each package.
  • Every invoice for the period, weekly and corrected or reissued ones included, each reissue marked with the number of the invoice it replaces.

From your side

  • An order export with each order's status and its created, fulfilled and cancelled dates. If you ship from more than one location, keep only orders your 3PL fulfilled2.
  • A list of orders created outside your store (manual orders): customer-service replacements, PR or seeding orders, wholesale samples, and marketplace orders the 3PL fulfills.

From the contract: the order fee's definition and trigger, how it applies to split shipments and to orders packed in several boxes, any order cancellation fee and when a cancelled order starts to carry a charge, reship terms, and the billing period and cutoff. See The supporting detail files you should always request.

Line up the period first: which date your 3PL bills on#

Your store dates an order when the customer places it. Your 3PL bills an event, which can be a pick scan, a wave or batch close, the pack or the shipment, depending on its system and your contract4,6,7. Most 3PLs bill an order fee when the order ships, so filter your export on fulfillment date. Some bill at pick or pack; ask yours.

A Shopify order export has separate "Created at", "Fulfilled at" and "Canceled at" columns and puts each additional line item on its own row1, so count unique order numbers, not rows. It has no pick or pack date; if your 3PL bills on one, use the fulfilled date and expect timing gaps at the period's edges. A split shipment, an order shipped in parts on different days or from different warehouses, has one fulfillment per part2, so an order-level fulfilled date can reflect the last part. Store exports can include cancelled orders unless you filter them out10.

Check the 3PL's cutoff time and time zone against your export's time zone, because an order shipped late on the last day can land on either side. An order placed in one period and shipped in the next is timing, not an error, as long as it's billed once.

How to match billed orders to shipped orders, step by step#

Compare the totals#

Compare the billed order count with your shipped order count, which assumes one order fee per order, plus one per further part of a split shipment; if your contract bills the order fee per package, compare packages. A net gap shows something is off but not which orders, and offsetting errors cancel out, so matching totals don't prove each order is right.

Clean up the order numbers#

Map every billed row to your channel order number. A 3PL's detail can carry your order number, its own order ID, or your number with a prefix, a per-package suffix such as "-1", or cut short. Shopify's export holds a display number ("Name") and a separate internal ID ("Id")1, and a 3PL file may use either. Marketplace orders your 3PL fulfills may be missing from your store export, and their rows can carry the marketplace's order ID instead of yours.

Use tracking numbers from the shipment-level file as a second key. For bundle SKUs, see Bundles, virtual kits and SKU aliasing. An order that synced to the 3PL twice can ship and bill twice; whether it earns a credit depends on whose system duplicated it.

Match in both directions, across every invoice#

Match both ways, across all of the period's invoices at once (minus any invoice a reissue replaces), to get three lists:

  • Billed, with no shipped match: cancelled orders, another period's orders, reships, orders created outside your store, and shipped orders your store never marked fulfilled.
  • Shipped, with no billed row: timing near the cutoff, a billed row whose order number you haven't mapped, or an undercharge.
  • Billed more than once: a duplicate, the second part of a split shipment, a reship under the same number, or a re-release. A multi-parcel order, packed in several boxes at once, can show a row per box but should carry one order fee.

A duplicate split across two invoices looks correct on each. One reconciliation guide recommends checking for repeated order numbers across consecutive billing periods8. One order's charges can also arrive on more than one invoice, for example its picks on one and its pallet or wrap charges on another, so compare the charges before calling a repeat a duplicate. See Double-billing the same activity across invoices.

Then check units and picks on the matched orders#

Check picks against the row for your contract's pick structure:

Pick structureWhat the invoice should show (picks counted per unit)
Order fee includes the first pick, plus an additional pick fee per further unitNo pick charge on single-unit orders; billed picks equal units minus orders
Lower order fee, plus a pick fee on every unitOne pick charge on each single-unit order; billed picks equal units

Among Implentio customers' 3PL contracts where picks can be classified, an order fee that includes the first pick and a lower order fee plus a pick on every unit are about equally common (roughly 40–50% each). Some contracts count order lines or SKUs instead of units, and kits can count as one pick or one per component5. See Per-order fees, first-pick vs. additional-pick, and per-unit pricing.

Packaging follows its own basis: a flat fee per order follows orders; a fee per box or mailer, or materials rebilled at cost or cost plus, follow boxes used; packaging included in the order fee has no line. A technology fee per order, where your contract has one, follows orders. Postage is checked per package, in Reconciling carrier invoices to 3PL shipping charges.

Why billed and shipped counts can differ legitimately#

These order types can make a correct invoice's count differ from your export. Check each against your contract before calling it an error.

ReasonWhat you seeBillable whenCheck
Split shipment, including a backorder released laterA row for each part of one orderAn order fee on each part is customaryParts shipped on different days or from different warehouses
Multi-parcel order (one fulfillment in two or more boxes)A row per box in package-level detailOne order fee, unless your contract bills it per packageOrder fee definition; extra boxes add packaging and postage
Reship (a replacement shipment for an order)A new row, sometimes with a new or suffixed order numberReships you request are normally billableIf it fixes the 3PL's mis-ship, ask for a credit
Cancelled after releaseAn order fee or cancellation fee rowIf the contract has an order cancellation fee, that fee applies, not a full pick and packWhen the cancellation reached the 3PL
Re-released at your request (an address change)A second charge or a change feeUnder your contractIf the 3PL caused it, ask for a credit
Manual, customer-service, PR or seeding ordersRows not in your exportIf you approved themHow the 3PL flags them; any manual entry fee
Marketplace or wholesale ordersRows from another systemMay sit on a separate B2B order fee or invoiceYour channel records
TimingShipped on the last day, billed next periodOnceNext period's first invoice
Test ordersRows at go-liveAs agreed; settle it in writing before go-liveYour go-live agreement

Cancelling in your store may not stop work at the 3PL. As of October 2026, Shopify's help says that when a third-party fulfillment service is processing an order, "you might need to cancel the order through that service's system" first3. An order cancelled before release, under a contract with no fee for that, should carry no order charge. An order cancellation fee was billed in about one in seven of Implentio customers' 3PL contracts with outbound fulfillment charges in the year we reviewed. See Billing for cancelled or unshipped orders.

Worked example: one month's order match (illustrative)#

In this illustrative month, the totals show a net gap of 42, while the order match finds 52 extra billed rows, 10 unbilled orders and $108.60 to dispute.

The contract charges $1.75 per order including the first unit, $0.40 per additional unit, and packaging at cost averaging $0.55 an order. Order fees are billed once per order on ship date, not per box, and orders cancelled before release carry no fee. Each multi-parcel order's second-box row bills a second order fee only; its picks sit on the first row. Every other disputed order is a single-unit order with no inserts; otherwise add $0.40 per additional unit.

The weekly invoices covering the month bill 2,046 order fees for its ship dates. The store export, filtered on fulfillment date without cancelled orders, shows 2,000 shipped orders. Adding 4 customer-service replacements the brand approved gives a shipped list of 2,004.

Net gap = 2,046 − 2,004 = 42

The two-way match across all of the month's invoices finds 1,994 shipped orders with a billed row, 34 extra rows for orders already billed (20 second-box rows on multi-parcel orders and 14 orders billed again on the next weekly invoice) and 18 billed rows with no shipped match (12 cancelled before release and 6 reships of the 3PL's own mis-ships). Ten shipped orders have no billed row: they shipped after the 3PL's cutoff on the 31st, so the brand checks next month's first invoice.

Tie-out: 1,994 + 34 + 18 = 2,046 billed rows, and 34 + 18 − 10 = 42

ReasonOrdersDisputed amountStatus
Second-box rows on multi-parcel orders2020 × $1.75 = $35.00Dispute the order fee; the second box's packaging is fine
Billed again on the next invoice1414 × $2.30 = $32.20Dispute
Cancelled before release1212 × $2.30 = $27.60Dispute
Reships of the 3PL's mis-ships66 × $2.30 = $13.80Ask for a credit
Approved replacements4$0Legitimate
Shipped, not yet billed10$0Timing
Total$108.60

The $2.30 is the $1.75 order fee plus the $0.55 average packaging. Had those 20 orders been true splits shipped on different days, or on a contract that bills the order fee per package, the second fees would be correct and the dispute $108.60 − $35.00 = $73.60. If the same causes recurred every month, $108.60 a month would be $1,303.20 over a year.

What good looks like#

Judge the process by these markers:

  • Every billed order row carries your channel order number.
  • The order-level detail ties to the invoice's order lines.
  • The contract defines the order fee's trigger, how it applies to split shipments and multi-parcel orders, and the cancellation and reship terms.
  • A corrected invoice names the invoice it replaces and comes with a matching credit.

Common mistakes and red flags#

Four mistakes make a correct invoice look wrong or let a wrong one through: comparing an order-date export with ship-date billing, counting export rows instead of unique orders, checking one invoice at a time, and matching on totals only.

Question these before you pay:

  • Billed rows with no order number, unless they're a flat or manual line with no detail rows, or the detail file covers a different period.
  • Rows for orders your store shows cancelled before release, unless the cancellation reached the 3PL too late or the contract's cancellation fee applies.
  • The same order ID on two invoices with no credit, unless it's a split shipment, a reissued invoice, an agreed reship or a re-release you asked for.
  • Two order fees on an order shipped at once in several boxes, unless your contract bills the order fee per package.
  • A reship of the 3PL's own mis-ship billed as a new order, unless you requested the reship.

Questions to ask your 3PL#

Copy these into an email to your 3PL.
  1. Which event triggers an order fee (pick, wave close, pack or shipment), and what are the cutoff time and time zone?
  2. Can every row in the order-level detail carry our channel order number?
  3. Do you charge an order fee on each part of a split shipment or backorder release, and one on an order packed in several boxes?
  4. At what point does a cancelled order start to carry a charge, and which charge?
  5. How are reships billed when the cause is your mis-ship?
  6. How are manual and customer-service orders flagged in the detail?
  7. When you reissue an invoice, how do you mark which rows it replaces?

Checklist: matching one period's orders#

FAQ#

Is a split shipment billed as one order or two?

Generally two: an order fee on each part of a true split, shipped on different days or from different warehouses, is customary. An order packed in two or more boxes at once is one fulfillment and one order fee, unless your contract bills per package; the extra boxes add packaging and postage. As of October 2026, one warehouse-software product prices each shipment separately for tiered per-item handling4. See Split shipments: when they happen and what they cost.

What if I shipped orders that weren't billed?

Log them with the same evidence as overcharges and raise them with your disputes. A 3PL may bill missed work later, so don't count them as savings. Your dispute window for that charge usually starts from the invoice that bills it, not from when the work happened.

Do I need to match every order, or is a count check enough?

A count check isn't enough: it shows only the net gap, and offsetting errors cancel out. Matching order numbers finds which orders are wrong. Review every invoice, at the very least with a spot check. A 30-day dispute window is common; 14 days is short. Where a contract adopts them, IWLA's standard terms for merchandise warehouses (revised January 2026) give 30 days from the date of invoice9. See How often to audit: every invoice, sampling or quarterly?

Sources#

10 sources cited
  1. Shopify Help Center, "Exporting orders" (undated; accessed Oct 17, 2026). https://help.shopify.com/en/manual/orders/export-orders
  2. Shopify developer documentation, "Fulfillment" object, GraphQL Admin API, version 2026-10 (accessed Oct 17, 2026). https://shopify.dev/docs/api/admin-graphql/latest/objects/Fulfillment
  3. Shopify Help Center, "Canceling orders" (undated; accessed Oct 17, 2026). https://help.shopify.com/en/manual/fulfillment/managing-orders/canceling-orders
  4. Zenventory Help Center, "Customize and Manage 3PL Client Billing" (undated; accessed Oct 17, 2026). https://help.zenventory.com/customize-and-manage-3pl-client-billing
  5. ShipHero Help Center, "How Picking Fees are Calculated in 3PL Billing" (updated June 2026; accessed Oct 17, 2026). https://software-help.shiphero.com/hc/en-us/articles/46573338603021-How-Picking-Fees-are-Calculated-in-3PL-Billing
  6. Racklify (Erwin Richmond Echon), "When Are Pick Fees Charged? Timing, Triggers, and Billing Cycles" (Nov 12, 2025; updated Oct 8, 2026). https://racklify.com/encyclopedia/when-are-pick-fees-charged-timing-triggers-and-billing-cycles/
  7. Extensiv, "Billing Per Client in 3PL WMS" (May 12, 2026). https://www.extensiv.com/blog/billing-per-client-in-3pl-wms-complete-guide
  8. Invoice Data Extraction (David Harding), "3PL Invoice Reconciliation: A Buyer's Guide to Billing Audits" (Mar 10, 2026; updated Mar 23, 2026). https://invoicedataextraction.com/blog/3pl-invoice-reconciliation-guide
  9. International Warehouse Logistics Association (IWLA), "Standard Contract Terms and Conditions for Merchandise Warehouses" (rev. January 2026; accessed Oct 17, 2026), Sec. 4(e). https://iwla.com/wp-content/uploads/2026/01/2026-IWLA-Standard-Contract-Terms-and-Conditions-Final-1-6-26-1.pdf
  10. Highview Apps, "How do I filter my Shopify orders to exclude all cancelled orders?" (undated; accessed Oct 17, 2026). https://www.highviewapps.com/kb/how-do-i-filter-my-shopify-orders-to-exclude-all-cancelled-orders/
Reviewed by Implentio’s 3PL billing team. Every number is checked against a cited source, reviewed by people who work with 3PL invoices daily, and re-checked on a schedule. We never name a brand or a 3PL. How this guide is written