How to check 3PL shipping charges against carrier invoices
Why reconcile 3PL shipping charges to the carrier's invoice#
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. Small-parcel postage is on the 3PL's invoice in about nine in ten of Implentio customers' 3PL contracts. In those contracts, the shipping charges you check are on the 3PL's invoice.
The check needs the carrier's record. Your 3PL's shipment-level file is the 3PL's own record of what it billed, even with a carrier-cost column. A file that agrees with the invoice proves the arithmetic, not the charge, so that check is a tie-out. Only the carrier's invoice or billing data is independent. Differences can come from process failures, such as a voided label still billed or an adjustment not traced. This article covers parcel postage, which many 3PL invoices call "freight". Pallet freight is billed differently (Freight (LTL/FTL) billing for B2B orders), and duties and taxes on international parcels have their own check (Checking cross-border shipping charges: duties, taxes and provider fees on your invoice).
When you can reconcile, by shipping basis#
You can reconcile only where a carrier charge sits behind what you were billed, and your basis sets what should agree (How 3PLs bill shipping: pass-through, markup or the 3PL's own rate card).
| Basis | Carrier record to match against | What should agree | Where to go next |
|---|---|---|---|
| At carrier cost (pass-through) | Carrier invoice or billing data for your labels | Amount per parcel, after adjustments | This article |
| Cost plus a percentage | The same | Carrier charge × (1 + contract %), on the charges the markup covers | Verifying shipping markup against your contract |
| Cost plus a fee per label | The same | Carrier charge + the fee | Verifying shipping markup against your contract |
| The 3PL's own rate card | None: no carrier cost is on your bill | Each label against the card | Rate verification: checking every billed rate against your rate card |
| Your own carrier account | Your carrier invoice | No 3PL postage for those labels; any per-label fee count equals labels shipped | Bringing your own account to a 3PL: setup, billing and liability |
On hybrids, reconcile each service on its own basis. All-in per-order pricing that includes the label has no postage line to reconcile.
A 3PL is entitled to mark up shipping. On cost-plus billing the contract states the markup, so the check is that each charge equals the carrier's charge plus that markup, whether a percentage or a fee per label. On the 3PL's own rate card, check each label against the card; whether those rates are acceptable is your decision, and the margin inside them isn't something to reconcile.
At carrier cost or cost plus, ask your 3PL for the cost behind each label: the carrier's billing data for your own tracking numbers. On the 3PL's accounts the carrier invoice is the 3PL's, and carrier agreements can be confidential6,7, so you may get your parcels' lines rather than whole invoices. For USPS labels bought through Click-N-Ship or a PC Postage platform, USPS settles its automated postage-verification adjustments through that platform5, so at carrier cost or cost plus, that platform's history for your labels is the carrier-side record to ask for.
What to match: the fields on each record#
Match on tracking number, then compare these fields. FedEx's billing data, for example, carries each charge per tracking number, with a shipment date separate from the invoice date1.
| Field | Why it matters |
|---|---|
| Tracking number | The match key. Open it as text, or a spreadsheet can turn long numbers into scientific notation and drop digits. |
| Ship date | Sets the period; the invoice date doesn't. |
| Carrier and service | Confirms a like-for-like match. |
| Billed weight and zone | Explains price differences (weight and DIM checks are separate). |
| Base charge, each surcharge, fuel and net charge | Compare line by line where both records itemize them; FedEx's data has a "Net Charge Amount"1. |
| Carrier adjustments | Need the original tracking number and the carrier invoice reference. |
| Credits | Negative amounts can appear in FedEx's billing data1. |
One order shipped in several parcels has several tracking numbers, and FedEx gives each piece of a multi-piece shipment its own child tracking number1. Order-level checks are a separate test (Matching billed orders to shipped orders). A prepaid return label is usually billed only when a customer uses it, so it can appear on a later carrier invoice than the outbound parcel. If your 3PL invoice shows shipping only as a total, ask for the shipment-level file (The supporting detail files you should always request).
How to reconcile carrier invoices to your 3PL's shipping charges, step by step#
Match first; steps 3 to 6 can then be done in any order. Set your own threshold for which differences you follow up.
- Choose the parcels by ship date, not invoice date. Pull the 3PL's shipment-level file for a range of ship dates, and the carrier invoices covering those dates and the weeks after, so later adjustments and credits come in.
- Match every parcel on tracking number. Each parcel lands in one of three groups: on both records, on the 3PL's invoice only, or on the carrier's invoice only.
- Compare amounts for parcels on both records, by basis. Use the carrier's net charge for each tracking number, unless your contract defines cost differently (Verifying shipping markup against your contract). At carrier cost the amounts should be equal. On cost-plus billing, the difference should be the contract markup. The match can't show whether the carrier's own charge was right: a wrong surcharge billed by the carrier and passed through correctly is a carrier question (How to audit carrier invoices).
- Explain parcels on the 3PL's invoice only. Start with legitimate causes: the carrier hasn't invoiced the parcel yet, it went on a 3PL-branded or consolidator service whose carrier record sits elsewhere or uses another number, or the tracking number was cut off in your file. Then ask about voided labels and duplicates; a label voided before it shipped shouldn't be billed as postage (Duplicate tracking numbers and voided labels billed).
- Explain parcels on the carrier's invoice only. The 3PL may bill them next invoice, or they may be return labels customers used. On your own carrier account, confirm the 3PL billed no postage for them, and match them to your own order and return records; raise any label that belongs to neither.
- Trace adjustments and credits. Each carrier adjustment billed on the 3PL invoice should point to a carrier adjustment for the same tracking number. Whether a carrier credit on your label comes back to you depends on your contract. When a credit is passed back, it can arrive as a negative line on a later invoice, netted into shipping lines, or as a separate credit note. Raise unmatched adjustments and missing credits with evidence, and log open items in Tracking disputes and credits to closure.
- Tie the matched parcels back to invoice totals. Add up the matched 3PL lines and compare them with the invoice's shipping total, then do the same for the carrier lines. If they disagree, list both totals, find the lines that make up the gap, and ask which document is the billing record.
Why the numbers won't line up at first: timing and other legitimate differences#
Carrier and 3PL totals for the same month can differ because each bills on its own clock. Carriers bill on a cycle set for each account (FedEx describes daily, weekly or monthly cycles2,3). Your 3PL bills on its own cycle (Billing cycles: weekly, semi-monthly and monthly, and what's billed when).
A difference is not an error if it comes from:
- A later carrier adjustment. UPS says shipping charge corrections can apply after delivery9. On the 3PL's carrier accounts, most 3PLs pass carrier adjustments through on a later invoice, as separate lines or folded into regular shipping lines; some brands see none. Roughly a quarter to a third of Implentio customers' 3PL contracts show carrier adjustments as separate invoice lines.
- A difference billed later. One warehouse software platform compares the cost quoted when a label was printed with the carrier's invoice, and adds any difference to the client's next bill8.
- Fuel by ship week. As of October 2026, UPS and FedEx each change fuel percentages weekly10,11, so fuel follows the ship week.
- A repeat tracking number that is a carrier adjustment billed against the original, or a reissued invoice with a matching credit.
- The contract markup, or a per-label fee the contract names.
Log undercharges too (Not every variance is an overcharge: undercharges, manual items and special projects). A dispute window usually starts when the invoice carrying the charge lands, so an adjustment billed weeks after the parcel shipped gets its own window. A 30-day dispute window is common; 14 days is short.
Worked example: reconciling one week of parcels (illustrative)#
Illustrative numbers, not market rates, checked once the next carrier and 3PL invoices are in. The contract bills shipping at cost plus 10%. The example assumes the 10% applies to all postage, surcharges, fuel, later adjustments and credits. Many contracts don't say whether adjustments are marked up, so check yours.
| Parcel | Carrier record | 3PL invoice | Expected at cost + 10% | Finding |
|---|---|---|---|---|
| 1 | $8.00 | $8.80 | $8.80 | Matches |
| 2 | $10.00 | $11.50 | $11.00 | $0.50 over the markup |
| 3 | No line found | $9.90 | None yet | Open: not yet invoiced, voided, or on another record? |
| 4 | $12.00; $4.00 adjustment on a later carrier invoice | $13.20; $4.40 on the next 3PL invoice | $13.20, then $4.40 | Matches once the adjustment posts |
| 5 | $9.00; $3.00 credit on a later carrier invoice | $9.90; no credit on the next 3PL invoice | $6.60 | $3.30 not passed back |
The math, parcel by parcel:
Parcel 2: $10.00 × 1.10 = $11.00; billed $11.50, so $0.50 over.
Parcel 4: $12.00 × 1.10 = $13.20 on the first 3PL invoice, and $4.00 × 1.10 = $4.40 on the next.
Parcel 5: $9.00 − $3.00 = $6.00 net carrier cost; $6.00 × 1.10 = $6.60; billed $9.90, so $3.30 to raise. Whether the credit, and the markup on it, comes back to you depends on your contract.
Across both 3PL invoices, the 3PL billed $57.70 for these parcels, against $44.00 expected from the carrier record. The $13.70 gap is three open items, not one overcharge: $0.50 on parcel 2, $9.90 on parcel 3 and $3.30 on parcel 5. Parcel 3 may still turn out to be timing. Raise parcels 2, 3 and 5 with the matched lines as evidence, and send parcel 2 to the markup check.
What good looks like#
We found no public benchmark for how closely 3PL shipping charges match carrier invoices. Look for these markers instead:
Common mistakes and red flags#
Mistakes to avoid:
- Treating the 3PL's shipment file as the carrier's record.
- Matching by invoice month instead of ship date.
- Reconciling a 3PL's own rate card to carrier cost. Check each label against the card, and judge whether its rates are acceptable to you.
Red flags, each with its legitimate causes:
- Postage billed for a label with no carrier charge, unless the carrier hasn't invoiced it yet, it went on a 3PL-branded or consolidator service, or your file cut off the number.
- Carrier adjustment lines with no tracking number, unless they're a lump sum per period the 3PL will detail on request.
- Carrier credits for your labels that don't appear, unless your contract keeps them with the 3PL.
- A shipping charge on the 3PL invoice for labels on your own account, unless it's a per-label fee the contract names.
Questions to ask your 3PL#
- For labels billed at carrier cost or cost plus, will you share the carrier's billing data for my labels, at least for a sample each cycle?
- Which invoice do carrier adjustments land on, and do they carry the original tracking number?
- What happens to carrier credits on my labels: adjustments in my favour, refunds for unused labels, service-guarantee refunds where the carrier offers them? Does any markup come back with them?
- For labels on my own carrier account, what do you bill besides the carrier's charge?
- Which services go through a consolidator or your own branded service, and whose tracking number appears on my file?
- What is our dispute window for shipping lines and for adjustments billed later?
Frequently asked questions#
Why are carrier adjustments billed weeks after my parcels shipped?
The carrier bills an adjustment on a later invoice of its own; UPS says shipping charge corrections can apply after delivery9. On the 3PL's accounts, the 3PL re-bills it on a later invoice, as a separate line or folded into regular shipping lines. Whether it's marked up, and whether the 3PL absorbs adjustments it caused, is a contract term; many contracts don't say, so get it in writing.
If I ship on my own carrier account, what should my 3PL charge for shipping?
No postage for labels on your account: the carrier bills you, and bills adjustments to that account. Some 3PLs charge a fee per shipment for own-account labels12, so a label fee the contract names can be legitimate. For the cost trade-offs, see Using your own carrier accounts vs. the 3PL's: total cost and control.
Does my 3PL have to pass carrier credits back to me?
It depends on your contract, so ask for the rule in writing: credits after a carrier adjustment in your favour, refunds for unused labels, service-guarantee refunds where the carrier still offers them, and whether any markup comes back with the credit. Some refunds exist only if the account holder asks: as of October 2026, an unused PC Postage label with a tracking barcode can be refunded only if an authorized user requests it through the postage provider within 30 days of printing, and the provider may charge a fee4. On the 3PL's account, the 3PL makes that request.
Sources#
12 sources cited
- FedEx, "Invoice Download File Data Dictionary, FedEx Billing Online – FedEx Express, FedEx Ground" (PDF, undated; accessed Oct 17, 2026). https://fedex.com/content/dam/fedex/us-united-states/accounts/images/US_FBO_Download_Data_Dictionary.pdf
- FedEx, "EDI Invoicing Implementation Guide: 210 Invoice Detail, 820 Payment Order/Remittance Advice, Version 4060" (U.S. & Canada payors, Sep 2020). https://www.fedex.com/content/dam/fedex/us-united-states/services/210_motor_carrier_freight_details_invoice_and_820_payment_order-remittance_advice.pdf
- FedEx, "If I shipped today, when can I expect to receive my invoice for transportation charges?" (Australia customer-support FAQ, undated; accessed Oct 17, 2026). https://www.fedex.com/en-au/customer-support/faq/invoices-and-payments/invoice-related-questions/receive-invoice-ready.html
- USPS, Domestic Mail Manual 604, "Postage Payment Methods and Refunds," §9.3.10 (accessed Oct 17, 2026). https://pe.usps.com/text/dmm300/604.htm
- USPS, "Automated Package Verification" (undated; accessed Oct 17, 2026). https://www.usps.com/business/verify-postage.htm
- UPS and Provide Commerce, "Carrier Agreement" (Dec 2004), SEC EDGAR exhibit 10.46. https://sec.gov/Archives/edgar/data/1263756/000119312505017625/dex1046.htm
- Zumiez and United Parcel Service, "Carrier Agreement" (Jul 2005). https://contracts.justia.com/companies/zumiez-inc-1473/contract/1095669
- ShipHero Help Center, "Overview: Carrier Reconciliation in 3PL Billing" (updated Oct 9, 2026). https://software-help.shiphero.com/hc/en-us/articles/46519320476685
- UPS, "How To Avoid Shipping Charge Corrections" (Feb 19, 2026). https://www.ups.com/us/en/support/shipping-support/shipping-dimensions-weight/avoid-additional-shipping-fees
- UPS, "Fuel Surcharges" (modified Sep 7, 2026). https://www.ups.com/us/en/support/shipping-support/shipping-costs-rates/fuel-surcharges.page
- FedEx, "Fuel Surcharge" (weekly rate rows through Oct 12–18, 2026; accessed Oct 17, 2026). https://www.fedex.com/en-us/shipping/fuel-surcharge.html
- F. Curtis Barry & Company, "27 Critical Provisions to Negotiate in a 3PL Contract" (undated; accessed Oct 6, 2026). https://www.fcbco.com/blog/checklist-for-3pl-contracts