Fill rate for retail buyers: the wholesale service metric
Measure the fill rate retail buyers track on outbound wholesale shipments: a worked calculation, buyer-side scorecard context, and allocation rules.
InventoryX is in development and not available today. ClearStock is the live Shopify app.
The scorecard arrives as a spreadsheet attachment, and one row reads: Line fill — 82.4%. That number was measured on your buyer's receiving dock, not in your Shopify admin. It measures what your wholesale accounts ordered versus what you shipped complete, and buyers use it to decide who keeps shelf space and who gets the next PO. Below: a method for measuring fill rate on your own shipments, a worked calculation on a realistic month, and what to do when supply can't cover every order.
One partition before the definitions: fill rate has two directions. The inbound version — your store as the customer, measured from your own Shopify order data — is covered in the fill-rate formula guide, which takes the three rates, their formulas, and their trade-offs. This article is the outbound direction, where your retail partners are the customers, the measurement happens on their side of the dock, and the same three rates decide different things.
What each fill rate decides on a wholesale scorecard
A scorecard's fill-rate row is one of the three fill rates — defined, with formulas, in the guide above. On a wholesale scorecard the retail wrinkle is who runs them and what each one decides:
| Metric | What it decides for the buyer | Where it shows up |
|---|---|---|
| Unit fill rate | Whether the volume arrived | Volume lanes, single-SKU replenishment |
| Line fill rate | Whether the assortment they planned actually landed | The most common scorecard default — a convention of retail supply-chain practice, not a universal standard |
| Order fill rate | Whether they can set the display and walk away | Strictest version; a low one sours an account fastest |
| On-time in-full (OTIF) | POs delivered complete inside the delivery window — timing and completeness combined | Formalized at large retailers — Walmart's supplier OTIF program and Amazon Vendor Central's OTIF requirements are the named examples (accessed November 2026) |
The convention worth knowing: when a buyer says "fill rate" without qualifying it, they usually mean line fill — each SKU line scored separately — because a line maps to a facing, a planogram slot, a decision. Unit fill can hide a dark hero SKU inside a healthy total; order fill punishes you for one missed accessory on a twelve-line PO. Track all three internally. Expect the buyer's report to lead with line fill.
How to measure fill rate on your own shipments
The buyer's number is theirs; you need your own version computed from outbound records, because waiting for their scorecard means learning about October in January. The method takes about an hour for a month of moderate wholesale volume:
- Pull every wholesale PO shipped in the window. If wholesale runs through Shopify B2B or draft orders, the orders export gives ordered and fulfilled quantities per line as CSV (Shopify Help Center, accessed November 2026). Accounts that order by email come from whatever recorded the PO — the metric doesn't care where the paper lives.
- Score each line at the ship date. A line counts complete only if every ordered unit left from stock. 48 of 60 shipped is a miss, even though most units moved.
- Compute the three rates from the same table: units, lines, POs.
- Rank misses by SKU and by account. The ranking is the actionable part; the average is just the headline.
Two judgment calls to make once, then keep:
- Buyer-initiated changes net out. If the buyer cut a line before the ship date, remove it from both numerator and denominator — they changed their mind; you didn't miss service.
- Backorders stay misses until shipped. "It'll ship next week" is clear communication but not fill. Count the line as missed in the window it was ordered, and track the recovery date separately.
A worked calculation on one month of shipments
Take a dog-harness brand with four boutique accounts and five POs in October — all numbers illustrative:
| PO | Account | Lines | Units ordered | Complete lines | Units shipped |
|---|---|---|---|---|---|
| 1042 | Harbor Pets | 5 | 240 | 4 | 210 |
| 1043 | Trail & Kennel | 3 | 120 | 3 | 120 |
| 1044 | Cedar & Co. | 4 | 180 | 3 | 168 |
| 1045 | Barkside Goods | 3 | 90 | 3 | 90 |
| 1046 | Harbor Pets | 2 | 80 | 1 | 50 |
| Total | 17 | 710 | 14 | 638 |
The three misses, for the record: HARNESS-M-14 short 30 units on PO 1042, HARNESS-L-02 shipped 48 of 60 on PO 1044, and HARNESS-S-01 out of stock entirely on PO 1046.
The arithmetic:
- Unit fill rate = 638 ÷ 710 = 89.9%
- Line fill rate = 14 ÷ 17 = 82.4% — the number most likely to appear on a scorecard
- Order fill rate = 2 ÷ 5 = 40% — only POs 1043 and 1045 shipped every line they contained
Read the spread: 89.9% sounds respectable, 82.4% starts conversations, and 40% is a problem of the same shape. The unit rate hides misses inside volume; the order rate amplifies one short line into a failed PO. The concentration is the real finding: all three missed lines are harness sizes, none are leashes or accessories, and two of the three sit with a single account. This is a replenishment decision on one SKU family — not a service-excellence program across the catalog. And when the shorted family is the hero that carries an account's sales, the exposure is bigger than one PO — bestseller concentration measures exactly that dependence.
What drives missed lines on wholesale orders
- One shared stock pool. DTC orders drain the same units a wholesale pick expected; a strong weekend of Shopify sales can erase Tuesday's pick plan before anyone opens the pick list. Ring-fencing wholesale stock against DTC demand — the main structural fix — is covered in wholesale inventory management.
- Case-pack rounding at pick time. Thirty units ordered, master cases of 24: the floor picks 24 rather than break a case, and the line shorts 6 unless inner packs exist to bridge the gap.
- Confirming against stale numbers. The PO gets confirmed against a 9am stock snapshot; by the 4pm pick, web orders have claimed the same units.
- Default short-ship behavior. "Ship what's here, backorder the rest" feels like good service; on the scorecard it's a missed line either way, so the only variable is whether the buyer hears about it first.
- Pick sequencing. Wholesale picks scheduled behind the DTC wave slip past carrier cutoffs, and a line that misses the truck also misses the buyer's delivery window — which is how fill problems and on-time problems compound into OTIF problems. The B2B pick-and-ship mechanics — sequencing, cutoffs, paperwork — are covered in the wholesale order fulfillment guide.
Allocating short stock across retail partners
When orders exceed supply, the allocation rule decides who absorbs the shortfall — and order fill rate moves very differently under each rule. The micro-case, illustrative: 90 units of HARNESS-M-14 available against three POs totalling 150 — Harbor Pets 60, Trail & Kennel 50, Barkside Goods 40.
| Rule | What happens | Order fill effect | Watch out for |
|---|---|---|---|
| Pro-rata | Everyone gets 60%: 36 / 30 / 24 units | 0 of 3 POs complete | Three partial shipments; nobody can set a display |
| Anchor-first | Fill the largest order complete, then split the rest | 1 of 3, one account left with nothing | Small accounts starve first, then churn |
| Complete-the-small | Fill Barkside (40) and Trail & Kennel (50) fully; call Harbor Pets | 2 of 3, same 90 units | The big account needs a call and a firm date, not a surprise |
| Velocity-weighted | Allocate by each account's sell-through | Varies | Requires buyers to share their numbers |
Same 90 units, same scarcity — the rule moves complete orders from 0 to 2. Two disciplines make any rule workable. State the rule in your wholesale terms before scarcity hits, so allocation isn't an improvised judgment call under pressure. And call the shorted buyer before the truck leaves: the phone call is cheap, and the surprise short-ship is not.
Why buyers watch this number
Fill rate sits near the top of a buyer's vendor evaluation because the damage lands on their side of the counter. Their customer hits an empty shelf, substitutes, or buys the item somewhere else — and the buyer absorbs the miss; you may never see it in your own data.
What follows depends on the account type:
- Independent boutiques. No formal scorecard, but a working memory: repeated partials shrink the next PO and slow every reorder after it — the mechanics of keeping accounts ordering are covered in the retailer reorder loop.
- Larger retailers. Formalized programs: on-time in-full tracking at chains like Walmart and in Amazon's vendor program, with receiving captured against the ASN under GS1 US EDI standards (accessed November 2026), and chargebacks attached to misses — how retailer chargebacks work covers that exposure.
- Both. A fill commitment is a stock commitment. If you set a target for your accounts, size the inventory behind it deliberately — service-level inventory math prices the buffer in dollars, so the promise is one you can keep.
Common questions
What is wholesale fill rate? The percentage of a retail partner's order you shipped as promised, measured on your outbound shipments: units, lines, or whole POs shipped complete ÷ ordered × 100. It's the service metric buyers track on scorecards — most commonly line fill — and it's the outbound mirror of the fill rate you'd compute from your own Shopify order data.
What's the difference between line fill rate and order fill rate? Line fill scores each product line separately; order fill counts a PO only if every line shipped complete. In the worked example above, 14 of 17 lines complete gives 82.4%, but only 2 of 5 POs shipped whole — a 40% order fill rate from the same shipments. Order fill is always the lower, harsher number.
How do I calculate fill rate for my wholesale shipments? List every wholesale PO shipped in the month, then run three divisions: units shipped ÷ units ordered, complete lines ÷ total lines, fully complete POs ÷ total POs. A partial line counts as a miss on the line version. Shopify's orders export gives ordered and fulfilled quantities per line; email-based accounts come from wherever the PO was recorded.
What fill rate do retail buyers expect? No trustworthy universal number exists — targets are set per retailer, and scorecards commonly track line fill by convention rather than against a published standard. Measure your own baseline from one month of shipments, find which SKUs drive the misses, and improve the trend rather than chasing an absolute level you read somewhere.
Should I short-ship a partial order or hold the PO until complete? Ask the buyer — preferences split. Many boutiques would rather have the in-stock lines now and wait on the rest; larger accounts with OTIF terms often prefer one complete, on-time delivery over a partial that scores as a miss. Either way, communicate before shipping, never after the truck.
Next step
Three divisions produce the number your buyer is already computing. Pull your last month of wholesale shipments into a spreadsheet tonight and run them — units, lines, POs — against the five-PO pattern above. Then rank the missed lines by SKU: if they concentrate in one family, the fix is a replenishment decision, not a customer-service initiative. And once the number is real for a few months, the reorder loop above shows how the service record compounds into repeat accounts.