ClearStock is live on the Shopify App Store.Install free →

← All blogs

Guides9 min read

Quoted vs. actual lead time: the audit that fixes your reorder dates

Audit supplier lead time variance with a six-column PO log, recalibrate the number your reorder dates run on, and stop ordering against the quote.

InventoryX is in development and not available today. ClearStock is the live Shopify app.

PO 2214: promised in 35 days, sellable in your warehouse on day 56 — 21 days late, and your reorder dates never heard about it. They're still running on the 35 the supplier quoted, which is why your best-selling hiking socks keep going dark for two weeks every few months despite reorder points that look responsible. The quote isn't a promise, and the gap between them is not a one-time discovery: it's a number that drifts with the season, the supplier's order book, and the freight lane. The fix is a small recurring audit — log every PO's promised and actual dates, compare, and recalibrate the stored number before it lies to your next buying decision.

What this audit is not, first: it's not lead-time measurement. What lead time actually consists of and how to measure the real number from your PO history is its own discipline — the supplier lead time guide covers the anatomy and the first measurement. This article owns the part that comes after and never stops: the ongoing loop of variance tracking and date recalibration, because a lead time measured once is a photograph of a moving target.

The six-column variance log

One row per closed PO. Six columns, ten seconds per row, kept in the same sheet as everything else:

PO Date sent Promised (days) Actual: sellable (days) Variance Notes
#2214 Feb 6 35 56 +21 Lunar New Year overlap
#2231 Mar 20 35 53 +18 Mill backlog
#2249 Apr 28 35 57 +22 Late yarn delivery
#2267 Jun 5 35 39 +4 —
#2281 Jul 3 35 37 +2 —
#2296 Aug 12 35 47 +12 Port congestion

The dates that matter are the day you sent the PO and the day the stock was sellable — received, counted, and on the shelf, not landed at port or marked received in the admin. A lead time that stops at the dock understates itself by your entire receiving process, which is exactly the kind of definitional point the measurement guide handles; the log just needs you to be consistent about which endpoint you record.

One habit makes the log worth keeping: fill the actual column the day you receive, every time, no exceptions. A variance log with three missing rows is a vibes document.

Reading the pattern: variance isn't a constant

Six rows in, the sock mill's story is visible. The stored number — 35 — matches almost nothing. The all-history average is 48 days (56 + 53 + 57 + 39 + 37 + 47 = 289 ÷ 6 ≈ 48). The recent three POs average 41. Variance came in clusters: a brutal spring stretch, a calm early summer, a fresh widening in August that looks like it wants to become a pattern.

That shape is typical, and it's the reason the audit recurs instead of happening once:

  • Variance clusters around calendar events — factory holidays, port congestion, the pre-holiday order-book crush. Your supplier's October is not their July, and a number captured in July quietly fails in October.
  • Variance clusters around suppliers' own capacity cycles — when their bigger customers push volume, you're the flexible slot.
  • Variance can genuinely improve — this mill got faster in June, possibly a new line or a better yarn source. A log that only ever ratchets up would miss that and have you holding safety stock you no longer need.

For the audit's purposes, treat the recent window as the live signal and all-history as the skeptical check. When the two disagree by a lot, the story is in the Notes column — which is also where the conversation with the supplier starts, receipts in hand. Adherence numbers like these feed a supplier scorecard nicely if you track several suppliers this way.

The recalibration rule

Deciding when to change the stored number is a judgment, so make it a rule you can apply mechanically:

Recalibrate when the recent-3 average differs from the stored number by more than 15%. Fifteen percent is a starting threshold, not an industry constant — tight enough to catch real drift, loose enough that you're not chasing noise. For the sock mill: recent-3 average 41 against a stored 35 is a 17% gap. Recalibrate to 41.

Three sub-rules keep the recalibration honest:

  • Up is immediate, down is gradual. A PO lands 21 days late on a critical SKU and you move its order-by dates today — that's the whole point of the audit. But one fast PO doesn't drop the number: recalibrate down to the recent average, never to the single best case, and only on the normal cadence.
  • Critical SKUs get the worse number. For ordinary stock, the recent average is fine. For the SKUs whose absence actually hurts — bestsellers, hero products — use the worse of recent-average and all-history average, which for the socks is 48. The extra week is buffer you're choosing deliberately; sizing that buffer precisely is the safety stock decision.
  • Record what you changed and why. One line under the log: "Sep 15: lead time 35 → 41 (recent-3), 48 for hero SKUs." Six months from now, that line is the difference between a recalibration and a guess.

What the new number does to your dates

Here's the payoff, computed for the socks at 9 units a day. Whatever your trigger math looks like — the reorder point formula article owns it — it multiplies daily velocity by lead time, so the stored number feeds directly into when the trigger fires:

  • At the stored 35 days: demand during lead time ≈ 315 units. Trigger fires, order placed, stock arrives nominally in time.
  • At the recent-3 recalibrated 41 days: demand during lead time ≈ 369 units — 54 units more that must be on the shelf when the trigger fires, or the last week runs dry.
  • At the all-history 48 days for a hero SKU: ≈ 432 units — a 117-unit swing from a number that hadn't been touched since the supplier's onboarding email.

Translated to the calendar: recalibrating from 35 to 41 pulls the order-by date six days earlier on every cycle; using 48 for the hero colorway pulls it thirteen. That is the entire mechanism by which "my reorder points look right but I keep running short" resolves itself — the points weren't wrong, the input was stale.

The 15-minute monthly recalibration

Make the loop a fixture, on the same day every month:

  1. Open the variance log; confirm every closed PO since last month has an actual date filled in.
  2. Compute the recent-3 average per supplier (or per supplier-and-lane, if one supplier ships two different routes).
  3. For each stored number off by more than 15%: update it, worse-of-both for hero SKUs, and note the change.
  4. Check whether any open PO is tracking late against its promised date — if it is, pull forward the affected order-by dates today, not at month-end.
  5. Glance at the Notes column for anything worth saying to the supplier by name and date.

Honest tooling note, because this is where software claims get slippery: Shopify's native purchase orders, as of November 2026, track a Draft and an Ordered status with a linked inventory transfer for the arrival — there is no built-in promised-versus-actual variance report (Shopify Help Center, "Creating and managing purchase orders," accessed November 2026). InventoryX takes lead times as manual entries per supplier and builds order-by dates on top of them; it deliberately does not revise those lead times by watching your PO history, because auto-adjusting from a handful of POs chases noise into your buying math. The log above is the audit, the threshold is the judgment, and the keystroke that updates the number is yours. Some planning tools market lead-time auto-learning; treat that claim as a question to ask, not a feature to assume.

Common questions

What is supplier lead time adherence? The share of POs a supplier delivers within the promised window — computed from a variance log: POs on time divided by POs closed. It slots into a supplier scorecard alongside short-shipment and quality rates. Working threshold: once fewer than four in five POs arrive on time, stop trusting the quote and recalibrate.

How much lead time variance is normal? There's no universal number — variance depends on lane, season, and the supplier's order book, and ocean freight runs wilder than domestic courier. Your own log is the benchmark that matters. As a working rule, when the recent three-PO average drifts more than 15% from your stored number, the stored number is stale and needs recalibrating.

Should I use average or worst-case lead time in my reorder math? Recent average for ordinary SKUs, the worse of recent and all-history average for critical bestsellers. The log shows why: the same supplier ran 37 and 57 days in one year. Averaging hides the cluster that empties your bestseller; worst-case-only inflates stock everywhere else. Match the number to how much a dark SKU actually costs you.

How often should I update lead times in my system? Monthly, as part of the recalibration routine, plus immediately after any materially late PO on a critical SKU. Never after a single fast PO — one early delivery is noise, and dropping your number to chase it re-creates the original problem in reverse. Up fast, down slow, always with a note.

Can inventory software learn lead times automatically from PO history? Some tools claim to; what matters is knowing your tool's actual behavior. A small store's PO history is thin enough that auto-adjustment mostly amplifies noise — three data points is not a trend. Whatever you use, confirm whether the number feeding your order-by dates is one you set or one a model sets, because the audit responsibility follows that answer.

Next step

Next step: open a six-column sheet today and backfill your last three POs for your two most important suppliers — sent date, promised days, actual sellable days. If either recent average sits more than 15% off the number your reorder dates run on, update it before you place another PO. And with Q4 congestion ahead, the holiday lead-time buffer is the seasonal overlay on the same math.