River
Y CombinatorBacked by Y Combinator
FREE TEMPLATE

Inventory Reorder Point Template

Reorder points computed from your own velocity and each supplier's delivered lead time, triggered on inventory position rather than on the shelf count.

Free download  ·  No account needed

Reorder Points

[Company] — [n] SKUs, [n] suppliers, computed [date]

Lead time comes from your own receipts, not from the quote. A row with no receipt count has a mean and no spread, and with no spread there is no safety stock to compute.

SKUSupplierUnits a dayDaily spreadLead meanLead spreadReceiptsCycle stockSafety stockReorder point

The trigger is a position, and it takes three columns rather than one

On handWhat a shelf count returns. Includes units sold and not yet picked, so it reads high
On orderPlaced and not yet received. Not on the shelf but already bought, so leaving it out buys it twice
AllocatedCommitted to orders that have not shipped. Physically present, and not available to sell
PositionOn hand, plus on order, less allocated. This is the number that goes against the reorder point

Safety stock is z times the square root of the mean lead time times the daily demand variance, plus mean daily demand squared times the lead time variance. Both terms, because both things vary, and on a small catalogue the second is usually the larger.

Every reorder point template compares its trigger against the shelf count, and the shelf count includes units that are already sold. Shopify's own inventory model says so plainly: on-hand is the sum of available, committed, reserved, damaged, safety stock and quality control, and committed means a placed order nobody has picked yet. So the trigger in this pack runs against inventory position, on hand plus on order less allocated, and safety stock is computed from each supplier's delivered lead times rather than typed into a box.

Bracken and Loom is an invented home goods seller with twelve SKUs and three suppliers. Its old rule held two weeks of cover on everything. That over-buffered six SKUs by $3,563 of stock, which is $855 a year to carry, and under-buffered five. All five of those sit on the one supplier whose deliveries run thirty-four days on average with a nine day spread, and one stockout on each of the five is $55,275 of gross margin. Sorting that table by the error sorts it by supplier, which nobody asked it to do.

Run the same twelve SKUs against position and three change answer, in both directions. Two were about to be re-bought with purchase orders already in transit, $7,470 at cost, the kind of duplicate a paid but not shipped reconciliation also catches from the order side. The third read healthy at 210 units against a point of 209, until eighteen units allocated to open orders put its position at 192. One column, both errors.

The pack, worked through on twelve SKUs

The Reorder Points, Purchase Plan and Overstock Register sheets, and the variance split behind them.

Reorder Points

Bracken and Loom. Twelve SKUs, three suppliers, lead times taken from eleven to fourteen receipts each rather than from a quote.

SKUSupplierUnits a dayLead meanLead spreadSafety stockReorder pointSupplier share of variance
BL-1001Halloran14.21125220981%
BL-1002Halloran6.81122710271%
BL-1014Halloran22.51128132984%
BL-4001Halloran0.41126117%
BL-2003Ravensworth3.1186349086%
BL-2007Ravensworth9.41869626695%
BL-2011Ravensworth1.6186184781%
BL-3002Meridian18.734928391997%
BL-3005Meridian11.334917556093%
BL-3009Meridian27.43494181,35095%
BL-3012Meridian4.93497824589%
BL-3018Meridian2.23493811376%

The last column is the half of the safety stock that is absorbing the supplier rather than the customer. Eleven of twelve sit between 71 and 97 percent. BL-4001 is the exception at 0.4 units a day, where the demand is lumpy against its own mean, and it is the only row on this catalogue a demand-shaped rule fits.

Two weeks of cover, against the computed figure

SupplierMean lead timeSpread95th percentile wait
Halloran Ceramics11 days2 days14 days
Ravensworth Metalworks18 days6 days28 days
Meridian Textile Co34 days9 days49 days
SKUSupplierComputedFlat ruleDifference
BL-1014Halloran81315−234
BL-1001Halloran52199−147
BL-1002Halloran2796−69
BL-2007Ravensworth96132−36
BL-2003Ravensworth3444−10
BL-2011Ravensworth1823−5
BL-4001Halloran660
BL-3018Meridian3831+7
BL-3012Meridian7869+9
BL-3005Meridian175159+16
BL-3002Meridian283262+21
BL-3009Meridian418384+34
What the flat rule boughtCountStockA year
Over-buffered, none of them on Meridian6$3,563$855 to carry
Under-buffered, every one of them on Meridian5$55,275 exposed

Sorting that middle table by the difference sorts it by supplier, and nobody asked it to. The five under-buffered rows are the expensive half, because a 49 day wait is also a 49 day outage: one stockout on each of the five is $55,275 of gross margin against the $855 a year the rule saves on the other six.

Purchase Plan

The same twelve rows, with the trigger read both ways. Three disagree, and they disagree in both directions.

SKUOn handOn orderAllocatedPositionPointOff on handOff positionOrder
BL-30096900416491,350ReorderReorder893
BL-3005240015225560ReorderReorder414
BL-2007118011107266ReorderReorder225
BL-301216803165245ReorderReorder150
BL-1002960492102ReorderReorder58
BL-1001210018192209HoldReorder116
BL-300240260034968919ReorderHold
BL-101418030026454329ReorderHold
BL-20033000229890HoldHold
BL-20112400024047HoldHold
BL-301842001419113HoldHold
BL-400188008811HoldHold
The three that changed answerAt cost
BL-3002, 600 units already in transit$5,910
BL-1014, 300 units already in transit$1,560
BL-1001, 18 units allocated, position 192 against a point of 209Was reading healthy

The first two are $7,470 of duplicate ordering on a catalogue holding $50,410 of inventory. The third is the same missing column running the other way, and it is the harder one to catch, because 210 units against a reorder point of 209 looks like a SKU nobody needs to think about.

What the spread costs, with the mean unchanged

Service level held at 95 percent. Only Meridian’s consistency varies, and its mean lead time is 34 days in every row.

Meridian’s lead time spreadSafety stock at costAgainst today
9 days, today$10,594
6 days$7,385−$3,209
3 days$4,413−$6,181
0 days$2,712−$7,883
Cycle service levelzSafety stock at costCarrying cost a year
90%1.28$11,069$2,657
95%, the default here1.65$14,283$3,428
98%2.05$17,693$4,246
Overstock RegisterCoverPolicyExcessAt cost
BL-4001220 days7159$1,841
BL-3018191 days94213$3,568
BL-2011150 days78115$3,094
BL-200397 days7858$1,146

Moving from 90 to 98 percent costs $1,589 a year across the whole catalogue, which is the sort of number that is only a decision once it sits next to the $55,275. And the register at the bottom is $9,648 at cost, 19 percent of all inventory in the business, every row of it a slow mover bought to a supplier minimum.

What's in the pack

01

Reorder Points sheet

One row per SKU carrying the supplier's mean lead time, its spread, and how many receipts are behind both, so the safety stock column has a derivation rather than a guess.

02

Velocity by SKU sheet

Units a day with the daily spread beside it, and a note on any SKU whose season means the comparable window is the same months last year rather than the last thirty days. Demand hidden inside bundles has to be pushed down onto the components before this column is right.

03

Purchase Plan sheet

On hand, on order and allocated in three columns, then the trigger read both ways, so a SKU that only looks healthy sits next to one that only looks short.

04

Overstock Register sheet

The slow movers holding $9,648 at cost, each with the supplier minimum that put it there. How far to discount is a margin by channel question.

05

Reorder Policy

Five clauses: the position trigger, the safety stock formula, a 95 percent service level with two written exceptions, the order quantity rule, and which events, including a confirmed defect pattern on the next shipment, force a recompute.

06

Supplier Note

Each supplier's delivered lead time distribution, priced, so requalifying it is a true-cost decision, not a lead-time-only one.

07

Minimum Order Quantity Note

What to do with stock that arrived because a minimum beat the need. Check whether the listing is the problem before you price it down.

08

How the Reorder Points Were Computed

The whole worked catalogue: the variance split per SKU, the service level priced at three settings, and the stockout exposure that decides whether a buffer is worth carrying.

09

Reorder alert

A weekly pass reporting which SKUs crossed their point on position, which receipts landed outside a supplier's usual range, and which velocities moved far enough to move a point.

How it works

  1. 1

    Open it or download it

    Open the pack in River with the agent already primed, or take the blank Word documents and CSV sheets away for free with no account.

  2. 2

    Send two exports

    Sales history by SKU, and purchase order history with order and receipt dates. Units sold rather than units paid out, so an order export beats a settlement report.

  3. 3

    Read the variance split

    Every SKU shows how much of its buffer absorbs your customers and how much absorbs your supplier, before a single reorder point gets set.

  4. 4

    Work the weekly plan

    The purchase plan triggers on position, and the alert reports crossings, odd receipts and velocity moves without anybody running a Monday review.

Frequently asked questions

Is this template free?

Yes. Four sheets, four documents and the policy download with no signup and no card, and they are the same files the agent works in. Editing with AI is the optional path, where your own exports become the velocity spread and each supplier's lead time distribution.

What format are the downloaded files?

CSV (.csv) for Velocity by SKU, Reorder Points, the Purchase Plan and the Overstock Register, and Word (.docx) for the policy and the three notes, zipped together. Nothing needs converting: Excel, Numbers, Sheets, Word, Pages and Google Docs all open them directly.

What does Edit with AI actually do?

It installs the pack as a private Space and asks for your sales and purchase order exports. From those it builds a daily demand spread per SKU, a lead time distribution per supplier, and a reorder point you can trace back to the receipts it came from.

Why trigger on inventory position instead of on-hand?

On-hand is wrong in two directions at once. It ignores stock already in transit, so you re-buy what is coming, and it counts units committed to unfulfilled orders as sellable, so a SKU already below its point reads healthy. Netting both is one column, and here it caught $7,470.

Do I need standard deviations to use this?

No, and you do not have to compute them. Both spreads fall out of exports you already have: daily demand from sales history, lead time from order dates against receipt dates. On this catalogue the supplier term was 71 to 97 percent of the variance on eleven of twelve SKUs.

Does this forecast demand?

No, deliberately. Velocity is measured from history rather than projected, because a wrong forecast and a wrong reorder point fail in the same place and afterwards nobody can tell which one did it. Where a SKU only spikes for a fixed promotional window, a seasonal stock plan fits better than a continuous trigger.

What happens when a SKU does run out?

The 95th percentile lead time is how long the outage lasts, which is why the policy lifts the service level past forty days of it. An online seller also needs a reasonable basis to believe it can ship, or has to offer a revised date or a prompt refund.

Find out which SKUs your buffer rule is quietly under-stocking

Download the blank pack as Word and CSV files, or open it in River and get a reorder point per SKU with your supplier's own delivery history behind every one of them.

Edit with AI