The 3PL Guide
Part XIV · 14.2how-toDeep dive18 min readUpdated Oct 20, 202613 sources

How to audit a 3PL invoice: a step-by-step checklist

Why audit a 3PL invoice, even with a good 3PL#

Errors on 3PL invoices tend to come from process, not bad faith, so a careful 3PL can still bill the wrong amount. Guides written for 3PLs list causes such as outdated rate cards, manual data entry, unit-of-measure mismatches and undocumented special projects4,5. In the invoices we review, rates change more often than brands expect, sometimes one line at a time, and the rate in the 3PL's billing system can lag the rate card.

The invoice is built from the 3PL's own activity data3, and an audit compares it with yours. Errors also run the other way: some billable work is never entered, so it never reaches the invoice6. Tell your 3PL you're starting a regular invoice review and ask for the detail files to come with every invoice. A good 3PL will welcome it, and asking up front is easier than asking during a dispute.

Before you start: what you need#

You need three sets of records: what you agreed (the contract and rate card), what you were billed (every invoice and its detail), and what happened (your own order, receiving and inventory data). This adapts the accounts-payable three-way match, which checks an invoice against the purchase order and receiving record9; the contract stands in for the purchase order8.

Document or dataWhat it lets you checkWhere to get it
Master services agreement (MSA), statement of work (SOW), every dated rate card version, amendments and rate-change noticesRates, units, fee definitions, the minimum, the dispute windowYour files; ask the 3PL which version its billing system uses
Every invoice for the period (fulfillment, storage, shipping, LTL/FTL freight, returns) and any credit notesThat you have the whole periodThe 3PL's billing contact or portal
Detail files: order- or shipment-level file, storage report, receiving report, labor or work-order logThe quantity behind each lineThe 3PL, as a spreadsheet or portal export
Your order and returns exportsOrders and units shipped, cancellations, returnsYour store, order management system (OMS) or returns system
Purchase orders (POs), inbound ASNs (the notices you send before a shipment arrives) and receipt recordsReceiving chargesYour purchasing records
Inventory snapshot for the storage count date, and the 3PL's storage report by locationUnits on hand; occupied pallets, bins or locationsYour ERP; the 3PL's portal or report
Product weights and dimensionsShipping, DIM weight, cubic-foot storageYour product data
Signed project approvals and your dispute logProject lines; credits promised earlierYour own files

B2B brands add bills of lading and freight (LTL/FTL) invoices; brands shipping on their own carrier account add the carrier's invoices. Invoices arrive as PDFs, spreadsheets, portal exports or EDI (the 810 invoice, or the 210 for motor carrier freight)11,12. A 3PL's billing system can list each billable event and how it was charged3. If detail files don't come with your invoices, ask for them; see The supporting detail files you should always request.

How to audit a 3PL invoice, step by step#

The steps below follow the order of a typical rate card and leave the minimum until the fees it depends on have been checked. If time is short, start with shipping, then the largest warehouse lines. Steps 2 to 8 rest on two lines of arithmetic:

Expected amount = quantity from your own records × rate from the rate card version that applies

Variance = billed amount − expected amount (positive is an overcharge, negative an undercharge)

Step 1. Collect every invoice for the period and check the totals#

Count the invoices against the billing cycle, including separate shipping, freight, storage and returns invoices and credit notes. On weekly billing, one missing week leaves a month that looks plausible but is incomplete.

In the invoices we review, the same month's storage sometimes appears on more than one invoice after a correction, reissue or split. Ask the 3PL to mark each corrected or reissued invoice with the number of the invoice it replaces, and treat an unmarked second invoice for the same period as a question, not a duplicate or an addition.

Then tie out the numbers: line items sum to the summary, each line's quantity × rate equals its amount, and each detail-file total equals its invoice line. Check which lines any tax line is calculated on and that tax isn't also inside the line amounts.

The PDF and the detail file can disagree. Causes include a detail file for a different invoice or period, tax shown on one document but not the other, flat fees, shortfalls or manual charges with no detail rows, prior-period adjustments or credits included in only one, and a corrected or split invoice. Neither wins by default: list both totals, find the lines that make up the gap, and ask the 3PL which is final and to reissue so they agree before you approve payment. See Anatomy of a 3PL invoice: summary, line items and supporting detail and Separate invoices for fulfillment, storage, shipping and freight: tying them together.

Step 2. Check every rate against the rate card in effect#

Map each invoice line to the rate card line with the same unit (per order, unit, pallet or hour)2,13. Check its rate against the card version that applies to the period. Where one line combines fees (a "fulfillment" line can include picks, packaging or the shipping label), split it using the detail file. Any line without a matching rate card line or unit goes on a question list for Step 713.

Check which date your contract uses to start a new rate, and if it doesn't say, get the 3PL's answer in writing. For orders, receipts and returns, a new rate usually applies to work done on or after its effective date; for storage, to the storage period or count date that starts after it; for monthly fees, from the next month. When a billing period straddles a change, the invoice should show the quantity at each rate, as two lines or a split on one.

Check the first invoice covering work after a rate change's effective date line by line, since a change can reach one line and miss the next (Outdated rates after a contract change).

An invoice usually shows the rate applied, not the tier, so check any volume tier against the contract and your volume. With more than one warehouse, use the card for the site that did the work. See Rate verification: checking every billed rate against your rate card.

Step 3. Check receiving against what arrived#

Compare billed pallets, cartons, units, containers or hours with your POs, inbound ASNs and receipt records for the same dates8. Match each line to its own unit, since one contract can price receiving several ways.

A floor-loaded container takes more labor than a palletized one, so it costs more on hourly or per-carton pricing, and some cards add a surcharge for a shipment without an accurate ASN. Check those charges against what arrived and the ASN you sent, and confirm any appointment or no-show penalty against the event. See Matching billed receipts to actual receipts.

Step 4. Check storage against inventory on hand#

Compare billed storage with an inventory snapshot taken on the date, and in the way, your contract counts it. First confirm the unit: pallet position, bin or shelf, cubic foot, square foot or location; pallets and bins can appear on the same invoice. Units on hand don't give a pallet, bin or location count, so check those against the 3PL's storage report by location.

Count methods vary: a snapshot on a set day, a daily average, a peak, proration by the day or half month, or a charge at receipt for the first period plus each period after. Ask which day the 3PL counts and whether it averages. Under per-location or per-pallet pricing, a SKU with stock in a pick location and in reserve is billed for each occupied location.

On cubic-foot billing, check the item dimensions in the 3PL's system; they are more often too large than too small, and the error repeats monthly until fixed. In about a quarter of Implentio customers' 3PL contracts with storage fees, at least one storage line shows only a dollar amount. Ask for the report behind any such line. See Verifying storage counts against inventory snapshots and How storage is measured: snapshot, average, peak or billing-day count.

Step 5. Check orders, picks, packaging and returns against your orders#

Compare billed orders with the orders you shipped, looking for cancelled, duplicate or unshipped orders. Check split shipments: a true split (fulfilled across days or warehouses) customarily carries an order fee on each part, but a multi-parcel order (packed in two or more boxes at once) is one order with one order fee. If an order was cancelled after picking started, check whether your contract allows an order cancellation fee, a different charge from the order fee. Then check picks under the structure your contract uses (both are common):

Pick structureHow it's billedWhat the invoice should show
Order fee includes the first pickOrder fee, plus an additional-pick fee per further unitNo pick charge on single-unit orders; billed picks equal units minus orders
Lower order fee plus every pickOrder fee, plus a pick fee on every unitOne pick charge on single-unit orders; billed picks equal units

These counts assume picks are counted per unit; some contracts count order lines or SKUs instead. The order fee may be labeled "first pick", and bundles or kits can be billed per component. Packaging may be billed per box or mailer, as a flat fee, rebilled at cost or cost plus, or included in the order fee. Disputes often come from scope rather than price: extra picks, inserts or kitting charged twice, and returns sorted into a higher-priced category. Check billed returns and their categories against your returns records. See Matching billed orders to shipped orders and Per-order fees, first-pick vs. additional-pick, and per-unit pricing.

Step 6. Check shipping charges#

Start by confirming how postage reaches you. For most DTC brands shipping on the 3PL's carrier accounts, postage is the largest part of 3PL spend. Small-parcel postage is on the 3PL's invoice in about nine in ten of Implentio customers' 3PL contracts, and many 3PL invoices label it "freight".

How postage is billedWhat to check
At carrier cost (pass-through)A shipment-level file or sample carrier invoice that matches what you were billed
Carrier cost plus a markupThe markup against the contract, where a cost-plus markup belongs; each charge should equal the carrier cost plus that markup
The 3PL's own rate cardEach label's rate by weight, zone and service; the margin is inside the price and needn't be written down, so judge the rates, not the margin
Your own carrier accountThe carrier's invoice, plus any fee the 3PL charges for this

Then check surcharges, duplicate or voided shipping labels, and billed weight and dimensions against your product data, keeping the dimensions the 3PL declared separate from those the carrier measured. Most 3PLs pass carrier adjustments through on a later invoice, as separate lines or folded into regular shipping lines; some brands see none. See Verifying shipping markup against your contract and DIM weight audits: catching wrong boxes and wrong dims; for the three billing bases, How 3PLs bill shipping: pass-through, markup or the 3PL's own rate card.

Step 7. Check manual, one-off and accessorial lines#

Every line you can't trace to an order, receipt or storage count needs an approval, a definition or a log behind it. On a 3PL rate card, an accessorial is a charge for warehouse work outside the standard flow (carriers use the word for shipping surcharges).

Special projects can be billed hourly, per unit, or as a lump sum per project. Each needs a work order, an hours or units log, and your approval where the contract's approval rule requires it2,8; if the contract sets no rule, ask for one. Where the card prices roles separately, check each hourly rate against the role that did the work. Check hours against the minimum billing increment; overtime may carry its own rate or a premium, and a lump sum also needs the quote behind it.

Lines labeled "misc" or "other" need a written definition before you accept them. Watch for a recurring charge with a one-time name, such as an integration fee billed every month, and resolve the question list from Step 2. See Checking manual and one-off line items and Fees you should never accept without definition.

Step 8. Check the minimum, fixed fees and tiers#

Check the monthly minimum after correcting the fees it counts, because the shortfall depends on them:

Shortfall = minimum − qualifying charges after corrections (zero if they meet it)

Count only the fees the clause names: fulfillment (order, pick and pack) fees only, all warehouse fees, or warehouse fees plus postage. Check for a shortfall billed when activity cleared the floor, the wrong fees counted, a shortfall during a waived ramp, a shortfall charged twice, or no calculation shown.

In a month under the minimum, a credit on a fee that counts toward the minimum (for an earlier billing error or a missed service-level agreement, or SLA) that is applied before the shortfall is calculated raises the shortfall by the same amount, so the credit is worth nothing. Unless the contract sets the order, ask for such credits to be applied after the shortfall is calculated.

A shortfall (or true-up) line appears only in months you fall short, so its absence doesn't mean you have no minimum. Confirm a monthly account or technology fee is billed once, at the contract amount (a per-order technology fee follows corrected order counts), and recheck tiers that depend on corrected volume. See Verifying minimum-billing calculations and Monthly minimums: how they're calculated, when they apply, how to negotiate them.

Step 9. Log every variance and sort it#

Record each variance with its evidence, and sort it before you dispute anything. Log the invoice and line, the billed and expected amounts, the difference, your source record and a status:

  • Overcharge: billed above what the contract and your records support.
  • Undercharge: billed below it, such as fewer picks billed than units shipped.
  • Legitimate item outside your order data: a manual insert, an approved project, a free case.
  • Question: no evidence either way yet, such as project hours with no approval on file.

We see undercharges as well as overcharges in the invoices we review, so log both with the same evidence (the FAQ covers what to do with undercharges). Check that credits promised for earlier disputes have appeared. See Not every variance is an overcharge: undercharges, manual items and special projects and Building an audit trail your finance team can rely on.

Step 10. Dispute within the window and fix the cause#

Send disputes in writing, with your log's line-level evidence and calculation, before the contract's dispute window closes. A 30-day dispute window is common; 14 days is short. The window usually starts when the invoice carrying the charge lands; check what your contract says. Where a contract adopts them, the International Warehouse Logistics Association (IWLA) standard contract terms for merchandise warehouses (revised January 2026) require disputes "in writing within 30 days from date of invoice"1. Miss the window and you can lose the credit, however valid the error8.

Ask for a fix for the cause, not only a credit, and check the next invoice for the same line8. A wrong rate needs the rate table updated; a scope, quantity, category or mapping error needs the billing rule fixed. A good 3PL answers with the contract reference, its calculation and the data behind it5. See How to dispute a 3PL invoice: process and etiquette and Invoice dispute windows: why 30 days can cost you thousands.

Worked example: auditing one month's invoice (illustrative)#

On the illustrative rates below, which are not benchmarks, an audit of a $7,791 warehouse invoice finds $509 in overcharges, $225 in unsupported project hours and a $24 undercharge. The month is the one in How 3PL pricing works: an overview of the rate card.

The brand shipped 2,000 orders with 3,200 units (1,200 additional units) and used one insert per order. Its contract charges $1.75 per order including the first unit, $0.40 per additional unit, packaging at cost averaging $0.55 an order, and $0.15 per insert. Receiving is $12 per pallet, storage $20 per pallet and $3 per bin, returns $3.50, projects $45 an hour, and the account fee $250. There's a $2,500 monthly minimum on pick-and-pack fees. In this illustrative contract, order fees and packaging are billed on shipped orders only, and there's no cancellation fee.

LineBilledExpectedVarianceStatus
Order fee2,030 × $1.75 = $3,552.502,000 × $1.75 = $3,500.00+$52.50Overcharge
Additional units1,200 × $0.45 = $540.001,200 × $0.40 = $480.00+$60.00Overcharge
Packaging (at cost)2,030 × $0.55 = $1,116.502,000 × $0.55 = $1,100.00+$16.50Overcharge
Inserts4,000 × $0.15 = $600.002,000 × $0.15 = $300.00+$300.00Overcharge
Receiving6 × $12 = $72.008 × $12 = $96.00−$24.00Undercharge
Pallet storage44 × $20 = $880.0040 × $20 = $800.00+$80.00Overcharge
Bin storage100 × $3 = $300.00100 × $3 = $300.00$0Matches
Returns60 × $3.50 = $210.0060 × $3.50 = $210.00$0Matches
Special projects6 hrs × $45 = $270.001 hr × $45 = $45.00+$225.00Question
Account fee$250.00$250.00$0Matches
Total$7,791.00$7,081.00+$710.00

The order export shows 30 single-unit orders cancelled before release to the warehouse, so their order fees and packaging are overcharges, while the additional-unit count is right. Additional units were billed at $0.45, the superseded rate, and inserts at two per shipped order. Pallet storage shows 44 positions against 40 in the 3PL's location report for the contract's count date. Five of the six project hours have no approval on file, and receiving was billed on 6 pallets against 8 received.

Overcharges = $52.50 + $60.00 + $16.50 + $300.00 + $80.00 = $509.00

Net variance = $509.00 overcharges + $225.00 question − $24.00 undercharge = $710.00

No shortfall applies: corrected pick-and-pack fees are $3,980, above the $2,500 minimum. On the other pick structure, a $1.35 order fee plus $0.40 for every unit, the total is the same: (2,000 × $1.35) + (3,200 × $0.40) = $3,980. Shipping, 2,000 shipping labels at $8.50 average carrier cost, matches carrier charges in the shipment file at $17,000; carrier adjustments may arrive on a later invoice.

The brand disputes the $509, asks for the approval behind the five hours, and logs the $24 undercharge with its evidence and raises it with the dispute.

What a clean audit looks like#

There's no reliable public benchmark for how often 3PL invoices contain errors, so judge an audit by its markers rather than by a target error rate:

  • Every invoice line maps to the rate card line or lines and unit behind it.
  • Every quantity traces to a detail file and to your own records.
  • The first invoice covering work after each rate change's effective date is checked line by line.
  • Each variance is logged with its evidence and its direction.
  • Disputes go out inside the window, in writing.
  • The same error doesn't come back the next month.

The invoice should show the quantity and unit behind each charge, with "enough detail to reproduce each major charge using the rate card and source transactions," in one 3PL contract consultancy's words2. The US Federal Acquisition Regulation (as of September 2026) requires a proper invoice on federal contracts to show the description, quantity, unit of measure, unit price and extended price10. It doesn't govern 3PL contracts, but it shows what a checkable line carries.

Common mistakes and red flags#

These mistakes let errors through an audit:

  • Paying from the PDF summary without tying it to the detail.
  • Checking rates but not quantities. A correct rate on 2,030 orders is still wrong if you shipped 2,000.
  • Checking against the original rate card instead of the version that applied to the period.
  • Assuming one pick structure or one storage count method.
  • Ignoring the separate shipping invoice, or carrier adjustments that land on a later invoice.
  • Claiming every variance as an overcharge. Some are undercharges or legitimate manual items.
  • Missing the dispute window while you wait for data.
  • Taking the credit without fixing the cause, so the same line is wrong next month.

These lines deserve a question before you pay:

  • A line with no matching rate card line or unit.
  • An amount with no quantity behind it, unless it's a fixed fee your contract sets.
  • "Misc" or "other" with no description.
  • A shortfall with no calculation shown.
  • A rate that changed with no signed amendment or dated notice behind it.
  • Fees billed months after the activity, which one warehouse marketplace's audit guide lists as a red flag7. Missed work billed late can be legitimate, so ask for the activity dates and check any back-billing limit in your contract.

For the full catalog of error types, see The 25 most common 3PL billing errors and how to spot each.

Questions to ask your 3PL#

Copy these into an email to your 3PL.
  1. Which detail files come with each invoice, and can you send order- and shipment-level detail as a spreadsheet every cycle?
  2. Which rate card version is loaded in your billing system for us, and from what effective date?
  3. Which invoices do you send for each period (fulfillment, storage, shipping, LTL/FTL freight, credits), and on what schedule?
  4. On what day do you count storage, is the count averaged, and can we get the report behind each storage line?
  5. How are special projects and hourly labor approved, and will each line reference a request we signed off?
  6. How do carrier adjustments reach us, on which invoice, and with the original tracking number and measured dimensions?
  7. Where is the minimum calculation shown, and are credits on fees that count toward the minimum applied after the shortfall is calculated?
  8. What is the dispute window, when does it start, and who handles billing questions?

Checklist: 3PL invoice audit#

Invoice audit checklist

Before you start
Steps 1–2: totals and rates
Steps 3–7: quantities
Steps 8–10: minimum, log and dispute

0 of 22 checked

Download XLSX

Your entries stay in this browser. Nothing is sent to Implentio or anyone else.

A printable version of this list is in the invoice audit checklist (Appendix D).

Before you start

Steps 1–2: totals and rates

Steps 3–7: quantities

Steps 8–10: minimum, log and dispute

FAQ#

How often should I audit my 3PL invoice?

At a minimum, check the first invoice covering work after any rate or contract change takes effect, and check each invoice before its dispute window closes. Review every invoice, even if only as a spot check; a quarterly review on its own lets earlier invoices pass their windows. How much of each invoice to check line by line depends on your volume and how many invoices you get. See How often to audit: every invoice, sampling or quarterly?

What should I do if my 3PL undercharged me?

Log undercharges with the same evidence as overcharges and raise them with your disputes. Don't count them as savings, because a 3PL can bill missed work on a later invoice, sometimes well after the work was done. Dispute windows usually start when a charge is billed, not when the work happened. A charge billed late gets its window from the invoice it appears on, so check it when that invoice arrives, against the activity dates and your own records.

Can I audit invoices from months ago?

You can check them at any time, but recovering money depends on your dispute window and on any audit-rights clause. The IWLA's standard terms give the customer no general right to audit billing records1, so check whether your contract grants one, and negotiate it if not. For a first audit, pull every invoice still inside your dispute window, plus the months since your last rate change. Errors from a rate change repeat each month until someone catches them. See Recovering historical overcharges: how far back can you go? and Audit rights: your right to inspect billing and inventory records.

Do I need special software to audit a 3PL invoice?

A spreadsheet works once you have the detail files: one tab for rate card versions, one for invoice lines (quantity, unit, rate, amount), one for expected quantities from your own records, and a variance log. When it stops being practical depends on your order volume, the number of invoices each month and the number of 3PLs. See Tools of the trade: spreadsheets, BI, portals and audit tools.

Sources#

13 sources cited
  1. International Warehouse Logistics Association (IWLA), "Standard Contract Terms and Conditions for Merchandise Warehouses" (rev. January 2026; accessed Oct 15, 2026), Secs. 4(e), 8(e). https://iwla.com/wp-content/uploads/2026/01/2026-IWLA-Standard-Contract-Terms-and-Conditions-Final-1-6-26-1.pdf
  2. F. Curtis Barry & Company, "27 Critical Provisions to Negotiate in a 3PL Contract" (undated; accessed Oct 8, 2026). https://www.fcbco.com/blog/checklist-for-3pl-contracts
  3. Extensiv, "Billing Per Client in 3PL WMS" (May 12, 2026). https://www.extensiv.com/blog/billing-per-client-in-3pl-wms-complete-guide
  4. Shipium, "3PL Billing Management: Best Practices and Guide" (Jul 2, 2025; updated Sep 29, 2026). https://hub.shipium.com/content/3pl-billing/
  5. Cleverence (Ashley Taylor), "Resolve 3PL Billing Discrepancies: Step-by-Step Guide & Best Practices" (16 January, year not shown; © 2026). https://www.cleverence.com/articles/3pl-business/how-to-handle-billing-discrepancies-with-3pl-clients-7284/
  6. SupplyChain247 (Dan Cavanaugh), "3PL warehouse work missing from invoices" (Sep 29, 2026). https://www.supplychain247.com/article/3pl-warehouse-work-missing-invoices
  7. Racklify (William Carlin), "How To Audit Your 3PL Contract For Hidden Fees" (Sep 23, 2026; updated Oct 5, 2026). https://racklify.com/encyclopedia/how-to-audit-your-3pl-contract-for-hidden-fees/
  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. NetSuite (Rebeca Bichachi), "Three-Way Matching" (May 6, 2022). https://www.netsuite.com/portal/resource/articles/accounting/three-way-matching.shtml
  10. Acquisition.gov, "FAR 32.905 Payment documentation and process" (FAC 2026-01, effective Mar 13, 2026; updated Sep 23, 2026). https://www.acquisition.gov/far/32.905
  11. Stedi, "X12 810 Invoice" (undated). https://www.stedi.com/edi/x12/transaction-set/810
  12. Stedi, "X12 210 Motor Carrier Freight Details and Invoice" (undated). https://www.stedi.com/edi/x12/transaction-set/210
  13. 3PL Center, "How to Audit Your 3PL Invoice" (May 27, 2026). https://3plcenter.com/how-to-audit-your-3pl-invoice/
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