Skip to main content
Guides

Export and logistics

The SLAs and KPIs worth putting in a 3PL contract

Most 3PL contracts list SLAs the way a template lists them: a table of percentages next to a list of metric names, signed and filed. The percentages are rarely the problem. The definitions underneath them are, because on-time, accurate, and resolved all have more than one honest meaning, and a provider operating under pressure will default to whichever meaning is easiest to hit. This is a working reference for the measures worth putting in a warehousing or freight contract, what each one actually needs to specify to be enforceable, and where a well-written SLA still fails in practice.

Key facts

  • On-time dispatch and on-time delivery need separate definitions and separate targets, because a provider can hit one while missing the other and the contract has to say which failure is theirs.
  • Order accuracy and inventory accuracy are counted differently by different systems, so the contract has to name the measurement method, not just the percentage.
  • A penalty-only SLA teaches a provider to protect the metric instead of the outcome: reject borderline orders, delay a scan, or close a claim before it is actually resolved.
  • An SLA is only enforceable if you can see the data behind it. If the provider's WMS is the only source of the number, you are grading their homework with their pen.

On-time dispatch and on-time delivery are two different promises

On-time dispatch measures whether the provider got the order out of their facility inside the committed window. On-time delivery measures whether the carrier got it to the customer inside theirs. Contracts frequently blur these into one on-time metric, which lets a provider claim a strong number built entirely on dispatch performance while delivery slips through a carrier they chose and manage. If delivery is late because of a carrier the 3PL selected, that is still the 3PL's problem to own, and the contract should say so explicitly rather than let the provider point at the carrier as a third party.

The trap inside dispatch itself is what dispatch means. Does the clock start at order receipt or at inventory allocation, and does dispatch mean the carrier physically collected the freight, or that a shipping label was generated and the order marked shipped in the system. A provider can post a 98 percent on-time dispatch rate while freight sits on a dock overnight if the metric is defined at label generation rather than carrier pickup. Specify the trigger event and the completion event in the contract itself, not in a shared understanding that lives in someone's head.

A realistic target range for on-time dispatch on a same-day cutoff is 95 to 98 percent, measured against a defined daily cutoff time, with weather and carrier-side disruptions carved out as named exceptions rather than absorbed into the base rate. For on-time delivery, because it depends on a third-party carrier, most workable contracts hold the provider to selecting and managing carriers that can hit a market-appropriate delivery standard, and track delivery performance separately as a monitored metric rather than a hard penalty line, unless the 3PL also controls last-mile execution directly.

Order accuracy: what actually gets counted as an error

Order accuracy sounds like a single number, but the count underneath it varies by what counts as a line versus an order. If a customer orders five SKUs and one arrives wrong, is that one error against five line items, or one failed order out of the total order count. The two framings can differ by a full percentage point or more on the same underlying mistake rate, and a provider quoting from the more forgiving denominator is not lying, they are just choosing the number that flatters them.

The second trap is what counts as an error at all. A short-shipped item, a wrong-item substitution, a damaged item that shipped anyway, and a mislabeled case are four different failure modes, and some contracts only track the first two, quietly excluding damage and mislabeling from the accuracy calculation entirely. Pin the definition to order-level accuracy (the whole order was correct, or it was not) for customer-facing reporting, and track line-level detail separately for root-cause work internally.

A realistic target for order accuracy on a standard pick-pack-ship operation is 99.5 to 99.9 percent at the order level, tightening toward the top of that range for cold chain and export freight where a wrong item can trigger a customs or food-safety issue, not just a complaint. Measurement should come from a receiving-side reconciliation, meaning the customer or the next node confirms what arrived, not solely the provider's own outbound scan, because an outbound scan only proves what left the building.

Inventory accuracy and the cycle count cadence that actually catches drift

Inventory accuracy is usually expressed as a single percentage, system count matching physical count, but the number is only as good as how often and how the count happens. An annual full physical count will show near-perfect accuracy on paper right after the count and tell you nothing about the drift that accumulates in the eleven months before the next one. A workable SLA specifies cycle count cadence, not just the target percentage: high-velocity SKUs counted weekly, medium-velocity monthly, low-velocity quarterly, with a full annual reconciliation as a backstop rather than the primary check.

A realistic target is 98 to 99.5 percent inventory accuracy by unit count, measured at the SKU-location level rather than as an aggregate across the whole warehouse, because an aggregate number hides a facility where one high-value SKU is badly out of sync while everything else looks fine. For perishable and lot-tracked product specifically, add a separate accuracy measure on lot and expiry data, since a unit-count match that has the wrong lot attached is functionally useless for a recall or a FIFO rotation audit.

Insist on cycle count variance reports, not just the resulting percentage. A provider correcting variances quietly in the system without surfacing the count that produced them is adjusting the number, not the process, and you have no way to see whether the underlying accuracy is actually improving or just being reconciled away each cycle.

Damage, shrinkage, and temperature compliance

Damage rate and shrinkage rate get conflated in casual conversation but need separate lines in a contract, because they point at different failure causes and different remedies. Damage is physical, product broken, crushed, or otherwise unsellable, usually traceable to handling, racking, or transit. Shrinkage is a gap between recorded and physical inventory with no damage evidence, which points at miscounts, theft, or process failure rather than handling. A realistic damage rate target for dry goods handling is under 0.5 percent of units handled; for cold chain and fragile produce, providers often contract closer to 0.25 to 1 percent depending on the commodity, with the range set by product category rather than a single blanket number across a mixed facility.

Temperature compliance is the measure that most needs a defined excursion protocol rather than just a target percentage, because a single undocumented excursion on a cold chain load can be a bigger problem than a slightly-missed accuracy target elsewhere in the contract. Specify: continuous logging interval (a reading every 15 minutes is a meaningfully different data set than one every two hours), the temperature band per product category, what counts as a reportable excursion (a defined number of consecutive out-of-band readings, not a single instantaneous spike from a door opening), and a reporting deadline, commonly within 2 to 4 hours of detection, so a receiver can make a hold-or-release decision on the load before it moves further downstream.

The realistic target for temperature compliance itself is 99 percent or higher of monitored time within band, but the number that actually protects you is the excursion reporting timeline, because a provider who hits 99 percent compliance but sits on a known excursion for two days before disclosing it has given you a number that looks fine and a practice that is not.

Receiving turnaround and claims resolution time

Receiving turnaround, the time from inbound freight arrival to the inventory being available to pick, is easy to leave out of a contract because it feels operational rather than customer-facing, but it is the metric that determines whether your safety stock assumptions actually hold. A provider with no contracted receiving turnaround can let inbound freight sit unprocessed for days during a peak period, and your downstream fulfillment SLA still looks fine because it is measured from when the system shows stock available, which the provider controls by how fast they process receiving. A realistic target is 24 to 48 hours from dock arrival to system availability for standard freight, tightening to same-day or next-day for perishable inbound, with a named exception process for oversized receipts that genuinely need more processing time.

Claims resolution time covers how long the provider takes to investigate and close a damage, shortage, or accuracy claim you file against them. A common trap is a contract that specifies claims must be filed within a window, say 30 days, but says nothing about how long the provider has to resolve them, leaving claims open indefinitely with no consequence. A realistic target is initial acknowledgment within 2 business days and resolution, meaning credit issued, replacement shipped, or the claim formally denied with documented reasoning, within 15 to 30 business days depending on the complexity of the underlying investigation. Track resolution time separately from claim volume, because a provider can hold resolution time flat by simply denying more claims faster, which is why claim outcome, not just claim speed, belongs in the quarterly review.

Penalties alone produce gaming: build a bonus alongside them

A penalty-only structure gives a provider exactly one rational response under pressure: protect the metric, not the outcome. If missing an on-time dispatch target costs money and hitting it costs nothing extra, a provider facing a bad day will reject a borderline order rather than risk it counting late, delay logging a scan until the window technically hasn't closed, or push a shipment onto whatever carrier reports fastest rather than the one actually most likely to deliver on time. None of this shows up as a contract breach. All of it degrades the service you're actually paying for.

The fix is not removing penalties, it's pairing them with a bonus band above target, so the provider's incentive curve has an upside as well as a downside. A common structure ties a small service credit, often 1 to 3 percent of the monthly invoice, to sustained performance above the target band across a full quarter rather than a single strong month, which discourages short-term metric management aimed at hitting one review period. Penalties for missing a floor should scale with severity and duration, a single missed week is a conversation, three consecutive months of misses is a contractual remedy, and the contract should specify which is which before you need it.

Review cadence matters as much as the numbers themselves. Monthly operational reviews catch drift early; quarterly business reviews are where target ranges, penalty thresholds, and bonus bands actually get renegotiated against changed volume or seasonality. A contract with SLAs but no scheduled review cadence tends to run on whatever numbers were true at signing, which stop matching your actual volume within a year on any growing account.

A worked example of an SLA that reads well and is unenforceable

Consider this clause, lifted close to how it actually appears in practice: "Provider shall maintain 98 percent on-time performance and 99 percent order accuracy, measured monthly, with a 2 percent service credit for any month below target." It reads clean. It is close to unenforceable, for four reasons stacked on top of each other. On-time performance is undefined: dispatch, delivery, or both, and against which cutoff. Order accuracy has no stated denominator: line-level or order-level, and no stated error taxonomy: does a substitution count the same as a short-ship. The measurement source is unnamed: is it the provider's own WMS export, or an independent reconciliation against what the customer actually received. And the service credit has no floor for repeated misses, so a provider can run at 96 percent every month, absorb a flat 2 percent credit as a routine cost of doing business, and never face an actual consequence that changes their operating behavior.

The fix is not more text, it's more specificity in the same amount of space: name the trigger and completion events for each timing metric, name the denominator and the error taxonomy for accuracy, name the data source and who has audit access to it, and tier the penalty so a first miss and a sixth consecutive miss carry different weight. An SLA you can't independently verify against data you can see is a statement of intent, not a contract term, however precise its percentages look on the page.

Packout calculator

Baseline your own numbers before you commit a provider to theirs.

Related services

Try it on your next pack run

Record a receival and a pack run on your phone and watch packout and traceability take care of themselves.

Get started