GUIDES

How to do a 3PL invoice audit: steps, common errors and a free checklist

A 3PL invoice audit checks every billed line against two things: the rate in your contract and the volume in your own data. Where the billed amount differs from contracted rate × actual volume, you dispute the difference with evidence. This guide gives the eight steps, the 12 billing errors we find most often and a free checklist and dispute template you can use on this month's invoice.

Last checked Oct 20, 2026 · Every figure on this page carries its source and date

Key takeaways

  • Audit the invoice against the contract, not against last month's invoice. Last month may have been wrong too.
  • In our audits, most billing errors come from volume, not rates: storage billed on the wrong cubic feet, picks counted on canceled orders, receiving billed on units that never arrived.
  • USPS lowered its dimensional weight divisor from 166 to 139 on Jul 12, 2026 for parcels over 1 cubic foot (USPS; Ordoro). If your 3PL passes postage through, check DIM on every large box.
  • Check monthly with a light pass and quarterly with a full one. Dispute in writing, within the window your contract allows.

What is a 3PL invoice audit?

A 3PL invoice audit is a line-by-line check of what your third-party logistics provider billed against what your contract says it may bill. For each line, the right amount is the contracted rate multiplied by the actual volume, and the actual volume comes from your own records, not the 3PL's.

It is different from paying the bill and glancing at the total. A total that looks normal can hide a storage line that is 20% high and a packaging line that is 20% low. The audit finds both.

A 3PL invoice reconciliation is the volume half of the job: matching units received, stored, picked, shipped and returned on the invoice to the same counts in your store, channel and carrier data. Most errors are found there.

Opening frame of the video:

1:34

Read the transcript Captions are on screen Characters are fictional. Voices are AI-generated.

What to collect before you start

You need seven documents before you open the invoice. Without them you are checking the 3PL's numbers against the 3PL's numbers.

DocumentWhere it comes fromWhat it proves
Contract and rate card, with any amendmentsYour files or the 3PL's account managerThe rate for every billable activity, minimums and what needs your approval
Service level agreementThe contract or an appendixReceiving times, ship-by cutoffs, accuracy targets and any credits for misses
Receiving logs and advance ship noticesYour purchase orders and the 3PL portalUnits and cartons you sent, and when they arrived
Order exports by channelAmazon, Walmart and Shopify order reports for the billing periodOrders and units that should have been picked
Storage snapshotsThe 3PL portal, taken on the dates the contract usesLocations, pallets or cubic feet actually occupied
Carrier invoices or label dataYour shipping software or the 3PL's label exportWeights, dimensions, zones and surcharges per parcel
Returns logYour returns app or channel reportsReturns that actually came back to the warehouse

If your contract does not say how storage is measured (daily average, month-end snapshot, peak), stop and get that in writing first. Storage is the line most often argued about, and the contract is the only tiebreaker.

How to audit a 3PL invoice in 8 steps

These are the eight steps we run on a monthly 3PL invoice. A first full pass on a typical invoice takes a few hours; once the sheet is set up, later months take much less.

  1. 01Map every invoice line to a contract rate.

    List each line, find its rate on the rate card and flag any line with no matching rate. An unmatched line is either a new fee nobody approved or a mislabeled one.

  2. 02Check order volumes against your channel data.

    Count shipped orders and units from your Amazon (merchant-fulfilled), Walmart and Shopify exports for the same dates. Compare them with the pick and order counts billed. Remove canceled orders.

  3. 03Check storage against snapshots.

    Compare billed pallets, bins or cubic feet with your snapshots on the contract's measurement dates. Check the unit of measure: pallet positions billed when the contract says cubic feet is a common and expensive mistake.

  4. 04Check pick and pack counts against shipped orders.

    First pick and additional picks are usually priced differently. Make sure a two-unit order is billed as one first pick and one additional pick, not two first picks.

  5. 05Check carrier charges and dimensional weight.

    For postage passed through, compare billed weight with the greater of actual weight and dimensional weight, using the carrier's current divisor. Check the zone and any surcharge.

  6. 06Check accessorials against approvals.

    Every special handling, labeling, kitting or project charge should match an approval email or ticket. No approval, no charge, unless the contract says otherwise.

  7. 07Check minimums and special projects.

    If a monthly minimum applies, it should apply only when activity falls below it. Special projects need a quote you accepted.

  8. 08Total the variance, apply your tolerance and dispute.

    Add up the differences by line. Agree a tolerance in advance (for example, ignore line differences under $25 or 1%, whichever is larger) so you spend time on what matters. Dispute everything above it in one letter.

Here is step 8 on a small invoice. Illustrative · sample figures:

LineBilledContract rate × your volumeVariance
Storage (cubic feet)1,840 cu ft × $0.65 = $1,196.001,520 cu ft × $0.65 = $988.00$208.00
First picks3,410 × $2.75 = $9,377.503,322 × $2.75 = $9,135.50$242.00
Packaging (mailers)1,950 × $0.40 = $780.001,880 × $0.40 = $752.00$28.00
Special project (relabel)$450.00No approved quote$450.00
Receiving$612.00$612.00$0.00
Total$12,415.50$11,487.50$928.00

With a $25 or 1% tolerance, all four variances above are disputed. $928 on one month's invoice is 7.5% of the bill. Your own variance will differ; what matters is that you total it every month, so a pattern shows.

The 12 most common 3PL billing errors

These are the errors we see most often, roughly in order of how often they cost money. Each row says where to look.

#ErrorHow to spot it
1Duplicate linesSame date, same activity, same quantity appearing twice; sort the line detail by date and amount
2Storage billed on the wrong volume or unitBilled cubic feet or pallets above your snapshot; pallets billed when the contract says cubic feet
3Dimensional weight errorsBilled weight above both actual and DIM weight; old divisors used after a carrier change; box dimensions entered wrong
4Unapproved accessorialsLabeling, bagging, kitting or rework with no approval on file
5Fuel or carrier surcharges applied twice or at the wrong rateA surcharge already inside the carrier rate added again as a line
6Pick fees on canceled ordersBilled orders that your channel data shows as canceled before shipment
7Receiving fees on short shipmentsReceiving billed on the ASN quantity, not the units counted in
8Returns fees on items never returnedReturns processing with no matching return in your channel or returns app
9Packaging billed but not usedMore mailers or boxes billed than parcels shipped
10Minimum fees in months above the minimumA minimum charge appearing when activity already exceeds it
11Special project fees without a quoteProject hours or fees with no accepted quote
12Carrier markup above the contractPostage billed above the contracted markup or above the label cost

Error 3 got more likely this year. USPS changed its DIM factor to 139 for Priority Mail Express, Priority Mail, USPS Ground Advantage and Parcel Select parcels over 1 cubic foot (1,728 cubic inches), effective Jul 12, 2026 (USPS Postal Bulletin 22705). Each dimension is rounded up to the nearest whole inch before the calculation (USPS). The old divisor was 166 (Ordoro, Jul 16, 2026).

Illustrative · sample figures: a 16 × 12 × 10 inch box is 1,920 cubic inches, over the 1 cubic foot threshold. At 139 its dimensional weight is 13.8 lb, billed as 14 lb. At the old 166 it was 11.6 lb, billed as 12 lb. A 14 × 12 × 10 box (1,680 cubic inches) is under the threshold and should be billed on actual weight. Right-sizing a carton by one inch can move it out of DIM pricing altogether.

Carrier prices also move during the year. USPS Postal Explorer lists a time-limited 2026 price change running Oct 4, 2026 through Jan 17, 2027. Check that your 3PL applied any temporary change only for the dates it ran.

Opening frame of the video:

1:26

Read the transcript Captions are on screen Characters are fictional. Voices are AI-generated.

Received is not the same as put away

The most expensive 3PL problem is often not on the invoice at all. It is stock that was received but not put away, so it is counted in the building but not available to sell. Your channels show it as out of stock while you pay to store it.

Reconcile three numbers for each SKU every month:

  • Sent:

    units on your purchase order and the advance ship notice.

  • Received:

    units the 3PL counted in at the dock.

  • Available:

    units the 3PL's system shows as sellable and synced to your store.

Sent minus received is a supplier or carrier claim. Received minus available is a 3PL problem: stock sitting in receiving, quarantined, damaged or put away to the wrong location. Ask for a dated reason for every unit in that gap, and check that available matches what your channels show. Our multichannel inventory sync guide covers keeping that available number consistent across Amazon, Walmart and Shopify.

Opening frame of the video:

0:32

Read the transcript Captions are on screen Characters are fictional. Voices are AI-generated.

How to dispute a 3PL charge

Dispute in one letter per invoice, line by line, with the evidence attached and a date for a reply. A clear letter gets credits; a vague complaint gets a call.

The template has six fields for each disputed line:

FieldWhat to write
Invoice lineInvoice number, line reference, date and description as billed
Contracted rateThe rate card line and the contract clause
Billed amountQuantity × rate as billed
Correct amountYour quantity × the contracted rate, with how you counted it
EvidenceThe export, snapshot, approval email or carrier record, attached
Requested creditThe variance, and a reply date (we use 10 business days)

Keep the tone factual. Your 3PL account manager usually did not create the error and needs the evidence to get the credit approved internally. Track every dispute in the same sheet as the audit, with the outcome and the credit date, so repeat errors are visible.

Check your contract for a dispute window before you send anything. Some contracts give you 30 days from the invoice date or less, after which the invoice is treated as accepted.

How often should you audit 3PL invoices?

Check every invoice monthly with a light pass, and do a full audit every quarter. The light pass takes the steps that catch most errors; the quarterly audit catches the slow ones.

  • Monthly, light pass:

    steps 1, 2, 6 and 8. Map lines to rates, check order volumes, check accessorials against approvals, total and dispute.

  • Quarterly, full audit:

    all eight steps, plus the received versus available reconciliation and a review of the rate card against what you actually use.

  • After any change:

    a new rate card, a new carrier price, a new warehouse or a peak season. The first invoice after a change is where new errors start.

Spreadsheet, software or service?

Each option catches different things, and the right one depends on invoice size and how much of your week you have.

OptionWhat it catchesWhat it missesFits when
Spreadsheet you runRate and volume errors, if your exports are cleanAnything you do not have time to check that monthInvoices under a few thousand dollars a month and a person with a free afternoon
Invoice or freight audit softwareParcel-level carrier errors and DIM at scale, fastest when invoices arrive as EDI or a clean CSVStorage, receiving and accessorial errors that need your approvals and snapshotsHigh parcel volume and a carrier-heavy bill
A service that runs it for youAll 12 errors, if it has access to your channel data and approvalsNothing it is scoped for, but you pay for the timeMulti-channel stores where nobody internal owns the 3PL relationship

Hand it off when the audit keeps slipping. A check that happens every third month misses the dispute windows in between. Our 3PL Audit module (RELAY-08) builds the monthly check, stock reconciliation and delivery-time monitoring into your own accounts, at a fixed published price. It is part of our inventory and 3PL management work, and every price is on the pricing page.

When to renegotiate or move 3PLs

Renegotiate when the same errors repeat after disputes, or when your volume has changed enough that the rate card no longer fits. Move when the errors are in the work itself, not only the billing.

Patterns that justify a renegotiation:

  • the same error on three invoices in a row after it was credited
  • storage measured in a way that no longer matches how you store (pallets for a catalog that now sits in bins)
  • accessorials that have become routine and should be priced into the pick fee
  • minimums set for a volume you have outgrown

Patterns that justify a move:

  • received versus available gaps that are not explained within the agreed time
  • missed ship cutoffs that put your Walmart on-time delivery (90% or above) or Amazon late shipment rate at risk
  • disputes that go unanswered past the agreed reply date

Before you move, read the exit terms: notice period, removal fees per unit or pallet, minimums still owed and how your data and stock history are returned. If the 3PL fulfillment errors page sounds like your month, start there. To price what errors already cost you, the Cost of Chaos calculator puts a number on it. Our other ecommerce operations guides cover the channel side of the same stock and fees.

Questions

Questions owners ask

Talk to an ops lead (free)
What is a 3PL invoice audit?

It is a line-by-line check of your 3PL's invoice against your contract and your own data. For each line, the correct charge is the contracted rate times the actual volume from your records. Where billed and correct differ by more than an agreed tolerance, you dispute the difference in writing with evidence attached.

How do I audit and reconcile 3PL bills?

Collect the contract and rate card, SLA, receiving logs, order exports by channel, storage snapshots, carrier data and returns log. Then map each line to a rate, check volumes against your data, check storage, picks, carrier charges, accessorials and minimums, total the variance and dispute. The checklist on this page has every step as a row.

What are the most common 3PL billing errors?

Duplicate lines, storage billed on the wrong volume, dimensional weight errors, unapproved accessorials, surcharges applied twice, picks on canceled orders, receiving on short shipments, returns fees on items never returned, unused packaging, minimums in busy months, special projects without a quote and carrier markups above the contract.

What is 3PL invoice reconciliation?

It is the volume half of an audit: matching units received, stored, picked, shipped and returned on the invoice to the same counts in your channel, store and carrier data. In our audits most billing errors are volume errors, so reconciliation is where most money is found, before rates are even checked.

How often should I audit my 3PL invoices?

Every month with a light pass (rates, order volumes, accessorials, total and dispute) and every quarter with a full audit that adds storage, DIM, minimums and a received versus available reconciliation. Also audit the first invoice after any rate card, carrier or warehouse change, because that is where new errors begin.

How did the 2026 USPS changes affect 3PL bills?

USPS changed its DIM factor to 139 from Jul 12, 2026 for Priority Mail Express, Priority Mail, Ground Advantage and Parcel Select parcels over 1 cubic foot (USPS). The old divisor was 166. Large, light boxes now bill heavier, so check DIM on every parcel over 1,728 cubic inches and right-size cartons where you can.

Can I dispute charges from months ago?

Only if your contract allows it. Many 3PL contracts set a dispute window, sometimes 30 days from the invoice date or less, after which the invoice counts as accepted. Read the clause before you start, and if you are already outside it, ask anyway with evidence; some 3PLs credit clear errors as goodwill.

Is a 3PL audit service worth it?

It is worth it when the audit keeps slipping or nobody owns the 3PL relationship, because missed months miss dispute windows. Compare the service fee with a quarter of your disputed variances. If you have clean exports and a free afternoon each month, the spreadsheet on this page does most of the job.

Next step

Ask a real expert. Free.

A real person replies within one business hour, 9am to 6pm US Central, Monday to Friday.

Profit Leak Scan