3PL Checker

3PL invoice audit checklist: 12 checks for every bill

A printable 3PL invoice audit checklist: the documents to collect and 12 checks, from rates by date and storage basis to shipping markup and the dispute.

Updated October 29, 2026 5 min read

This checklist covers everything to check on a 3PL invoice, in the order that finds the most errors with the least work: collect the documents, check the arithmetic and every rate, look for charges that should not be there, then write up and dispute what you find. Print it and work through it for each monthly invoice. For a full explanation of each step, read how to audit a 3PL invoice.

How to use this checklist

  • Work on one invoice at a time, using the line-level file (CSV or Excel) where you can. A summary PDF hides most errors.
  • Write down each problem as you find it, with the invoice number and line reference. You will need them for the dispute.
  • Mark each finding as certain (the contract and the invoice disagree) or likely (it needs the warehouse's records to confirm).
  • If you can, audit three months at once. Errors such as an old rate or the wrong storage basis repeat every month.

The checklist

1. Collect the documents

  • The signed rate card and every amendment, with their effective dates
  • The billing terms in the agreement: storage basis, shipping markup, monthly minimum, dispute window
  • The invoices, with line-level detail
  • A Shopify order export for the same period, including canceled orders and item quantities
  • The storage or inventory report, with daily pallet, bin or shelf counts
  • Receiving reports or ASNs (advance ship notices), with carton or pallet counts
  • Carrier detail per shipment: tracking number and carrier cost, if the 3PL provides it

2. Check the totals

  • The lines add up to the invoice total
  • Quantity × rate equals the amount on every line
  • Credits from earlier disputes appear where they were promised
  • The billing period on the invoice matches the dates of the charges

3. Check every rate against the rate card for the date of the charge

  • Each charge description matches a row on the rate card
  • The rate used is the one in effect on the charge date, not an older one (amendments are where old rates linger)
  • The unit matches the contract: per order, per item, per carton, per pallet or per hour
  • Any charge with no rate card row at all is flagged

4. Compare units with orders

  • Orders billed equal orders shipped in your Shopify export
  • First-item fees equal the number of orders
  • Additional-item fees equal units minus orders
  • Kits and bundles are counted the way the contract says
  • Use the pick fee checker to compare the totals in a minute

5. Look for canceled orders

  • No pick, packaging or postage charges for orders canceled before they shipped
  • Compare the cancellation time in Shopify with the ship date or tracking number
  • Orders canceled after a label was printed are treated the way the contract says

6. Look for duplicates

  • The same order is not billed twice for picking or postage
  • The same tracking number does not appear twice
  • The same receipt (ASN) is not billed twice, including on two different months' invoices
  • Monthly fees, such as the account fee, appear once per month

7. Check storage against the contract basis

  • Note the basis in the contract: monthly average, peak or end-of-month count
  • Note the unit: pallet, bin, shelf or cubic foot
  • Recompute the billed quantity from the daily storage report with the storage fee checker
  • Long-term storage fees start only after the period the contract states
  • Read storage billing: average vs peak if the contract wording is unclear

8. Match receiving charges to what actually arrived

  • Receiving is billed in the unit the contract states: carton, pallet, unit or hour
  • Carton or pallet counts match your ASN and the receiving report
  • Each receipt is billed once
  • Nothing is billed for inbound shipments that have not arrived yet

9. Check shipping markup and surcharges

  • Billed postage is no more than the carrier cost plus the markup in the contract
  • Check whether the contract allows a markup on surcharges as well as on the base rate
  • Residential surcharges on orders to business addresses are flagged as likely, because the carrier classifies addresses itself, so confirm a few before claiming
  • Box dimensions behind any dimensional-weight charges look right for the product
  • Use the shipping markup calculator for one label or a whole month

10. Check packaging charges

  • One packaging charge per order, unless the contract says otherwise
  • The packaging type billed matches what was used (a mailer is not billed as a box)
  • Packaging is not billed separately if the contract includes it in the pick fee

11. Check minimums and fixed fees

  • The monthly minimum top-up is billed only in months when qualifying charges fall below it
  • The top-up equals the minimum minus the charges that count toward it, and the contract says which charges count
  • Fixed fees (account management, software, integrations) match the contract and appear once

12. Write up the findings and dispute

  • One spreadsheet row per wrong line: invoice number, line reference, billed amount, correct amount, difference, evidence
  • A total for each issue, with certain and likely items kept apart
  • The credit request sent inside the dispute window, using the credit request email template
  • A reminder to check that the credit appears on the next invoice

What a finished audit looks like

In the made-up sample audit of Juniper & Pine's invoices from Ridgeline Fulfillment, three months of bills produced $1,267.73 in findings. Each one maps to a step above.

FindingStepAmount
Shipping markup billed at 12% instead of 8%9$417.58
Storage billed on the peak instead of the average7$324.00
Old additional-item rate after the July 1 change3$205.00
Receiving charge billed twice6 and 8$185.00
Canceled orders billed5$51.45
Extra items billed4$9.10
Quantity × rate arithmetic error2$3.50
Residential surcharges on business addresses (likely)9$72.10
Total$1,267.73

Most of the money sat in two places: the markup and the storage basis. Both are contract terms that a quick look at the invoice will not show, which is why steps 7 and 9 need the contract open next to the bill. The full report is in the sample audit.

Want someone to work through the list for you?

3PL Checker's free audit runs every check on this list against your rate card, invoices and Shopify orders, and a person reviews each finding before you see it. You get the evidence and a credit request ready to send, and we never contact your warehouse.

Questions

What is a 3PL audit?

A 3PL audit checks your warehouse's invoices line by line against your signed rate card and your own order, storage and receiving records, to find charges that are wrong, duplicated or not allowed by the contract.

What is invoice auditing?

Invoice auditing means checking each invoice against the agreement and the underlying records before or after you pay it. For a 3PL bill, that means rates, quantities, storage, receiving, shipping and minimums.

What is the invoice audit process?

Collect the contract, invoices and your own records, check totals and every rate for the date of the charge, look for charges that should not be there, then write up the findings with line references and send a credit request inside the dispute window.

Is there an invoice audit template I can use?

Yes. Use this checklist for the steps, the 3PL rate card template to hold your contract rates, and the credit request email template for the dispute.