DC Health CheckOperations guides & free tools →

Guide · for brands using a third-party logistics provider

How to audit your 3PL, written by someone who does not own one.

The scorecard, the six invoice lines that drift, the exports to request, and the rule for deciding whether to fix, escalate or switch. No 3PL to recommend, no referral fee to earn.

What is a 3PL audit?

A 3PL audit compares what you were promised (the contract, the service levels, the rate card) with what the invoices and the WMS records show actually happened, line by line, over a period long enough to see a pattern; most guides on this subject are written by 3PLs, this one is not. DC Health Check does not run a warehouse, does not broker fulfillment contracts and does not take referral fees, so the audit has no answer it is trying to reach.

The audit has three parts: service (did orders ship when promised, accurately, and did inventory stay right), cost (did the invoice match the rate card and the volume), and relationship (are the exports, the reporting and the escalation path good enough to keep managing the first two). Most brands only ever look at the third part, through the account manager, which is the one part the 3PL controls.

Read this before the scorecard: the aim is not to catch the 3PL. Most drift in a 3PL relationship is nobody's plan; it is rate cards that were never updated, minimums that kicked in when volume dipped, and definitions that were never written down. An audit that produces a clean list of what to fix, in order, is worth more than one that produces a grievance.

What should a 3PL scorecard measure?

Use your own definitions and your own exports, not the 3PL's dashboard. The dashboard is not wrong, but it measures what the 3PL chose to measure, on the 3PL's definitions.

MeasureFormulaSourceWhat to check
On-time ship rateOrders shipped by the promised ship time ÷ eligible completed ordersShipment export with promise datesExcluded orders (no promise) made visible; cut-off rules; weekends and holidays treated the same way you were told
Order accuracyOrders shipped without a reported error ÷ orders shippedReturns and claims log; customer-service ticketsWhether “error” includes short-ships, wrong items and mispacks, or only one of them
Inventory accuracyLocations (or SKUs) counted correct ÷ locations countedCycle-count results; your own physical spot countCount frequency; whether the 3PL counts what it chooses or what you choose
Dock-to-stockTime from receipt to available-to-pickReceipt timestamps; putaway confirmationsWhether “received” means arrived at the dock or confirmed into a location
Backlog ageAge of unshipped orders at the daily cut-offOpen-order snapshotWhether old orders are being cancelled rather than shipped
Cost per order (all-in)All fulfillment charges for the period ÷ orders shippedInvoices; shipment exportWhich invoice lines are inside the number; storage and receiving separated from pick/pack
Cost per linePick/pack charges ÷ order lines shippedInvoices; order-line exportWhether the rate card is per order, per line, per unit, or all three
Invoice-to-rate-card matchInvoiced quantity × contracted rate vs. invoiced amount, by lineRate card; invoices; activity reportEvery line, every month; not a sample
Report and export timelinessDays from request to a usable exportYour own logWhether you can get shipment, inventory and invoice detail without a project

The KPI formulas guide gives the working definitions and a fictional worked example for the first four; the cost per line guide covers the two cost measures.

Where do 3PL invoices drift?

These are the six invoice lines most likely to move away from the contract over time. None of them requires bad faith; all of them require that somebody on your side checks.

  1. Receiving and inbound charges. Per-pallet, per-carton and per-unit receiving rates get applied to the wrong unit of measure when a supplier changes packaging. Check the receipt export against the invoice: what was counted, and at which rate.
  2. Storage tiers, minimums and timing. Storage is often billed on a snapshot day, at tiered rates, with a minimum. A dip in volume can trigger the minimum; a snapshot after a big receipt can bill a month of storage for a week of occupancy. Check which day the snapshot is taken and what the minimum is.
  3. Pick and pack fee creep. Rate cards mix per-order, per-line and per-unit fees. When order mix changes (more lines per order, more units per line), the same rate card produces a very different cost per order. This is a mix change, not a rate change, but it needs to be seen. The cost per line page works a fictional example.
  4. Packaging and materials. Boxes, void fill, inserts and labels billed as pass-through plus a handling percentage. Check the percentage, and whether the box sizes billed match the box sizes shipped.
  5. Accessorials and special projects. Relabeling, kitting, returns processing, cycle counts you requested, rush handling. Each should trace to a written request. The ones that do not are the ones to ask about.
  6. Shipping markups and dimensional weight. If the 3PL ships on its own carrier accounts, the invoice may carry a markup on the carrier rate and use dimensional weight. Check a sample of shipments: billed weight versus actual and dimensional weight, billed zone versus destination, service level billed versus service level promised.

What exports should you ask your 3PL for?

ExportFieldsWhy
ShipmentsOrder ID, ship date/time, promised ship date/time, carrier, service, billed weight, zone, trackingOn-time, backlog, shipping charge checks
Order linesOrder ID, SKU, quantity, line statusCost per line, mix, accuracy
ReceiptsReceipt ID, received date/time, available date/time, units, cartons, palletsDock-to-stock, receiving charges
Inventory snapshotsSKU, location, on-hand, dateStorage billing checks, accuracy
Cycle countsLocation, expected, counted, variance, dateInventory accuracy
Invoice detailLine item, quantity, rate, amount, periodRate-card match, every line
Returns / claimsOrder ID, reason, resolution, dateOrder accuracy

Ask for CSV, ask for the field list above, and ask for at least eight weeks. If the 3PL's system cannot produce it, ask which report it can produce and whether the fields exist under other names. Run the free CSV export check on what arrives before reading anything into it.

Should you switch 3PLs?

Not on the strength of one bad month, and not before the audit. Switching costs are real: inventory transfer, integration rework, a learning curve at the new building, and a peak season during which the new 3PL is still learning your SKUs. A useful decision rule:

  • Fix first when the drift is in the invoice (rate card, minimums, snapshot timing, accessorials). These are contract conversations, and most 3PLs will correct them once shown the numbers.
  • Escalate when the drift is in service (on-time, accuracy, dock-to-stock) and the 3PL cannot show a plan with dates and measures to close it.
  • Switch when the exports and the reporting are the problem: if you cannot get shipment detail with promise dates after asking twice, you cannot manage the relationship, and that is the real finding.

Whatever you decide, decide it on a defined measure over a defined period, with the definitions written down, so the next 3PL is held to the same standard from day one.

What DC Health Check does here

The warehouse operations audit runs on a 3PL's exports exactly as it runs on your own building: the same measures, the same definitions sheet, the same calculation workbook, $4,500 fixed for one building. The scorecard above is the scope; the invoice checks are included when the invoice detail is provided. Start with the free Flow Snapshot on the 3PL's shipment export and one month of invoices if you want to see the method first.

Questions brands ask

How often should a brand audit its 3PL?

A light check every quarter on the scorecard measures, and a full audit once a year or before any contract renewal, rate change or volume step. The quarterly check is mostly a spreadsheet; the annual one is the exports.

What if the 3PL will not share exports?

Most contracts entitle you to your own order, shipment and inventory data; ask for it in writing with the field list on this page. A 3PL that cannot produce a shipment export with promise dates has told you something already.

Do you recommend 3PLs?

No. DC Health Check does not own a warehouse, does not broker 3PL contracts and does not take referral fees. The audit of a 3PL's performance is done from your exports, for you.

Can the audit be run on more than one 3PL?

Each building is a separate audit. If you use two 3PLs, the useful comparison is each one against its own contract and baseline, using the same definitions, which the definitions sheet makes possible.

What does the audit cost?

The same as any warehouse operations audit: $4,500 fixed for one building, about 20 business days. The free Flow Snapshot works on a 3PL's shipment export just as well as on your own.

Audit the 3PL from its own exports.

Describe the brand, the 3PL, the contract shape and the question. We reply with the exports to request, the measures the data can support, and a date. Independent of any 3PL.

Discuss a 3PL audit scope →

Or start free: one week of the 3PL's shipment export and one month of invoices is enough for a Flow Snapshot.