Inventory Optimization Workflow: Reorder Points from Forecast Error
Inventory optimization is the step after forecasting: turning a forecast and its error band into reorder points, safety stock and order quantities per SKU-location, then generating the purchase suggestions a buyer approves. The workflow recomputes the parameters weekly from actual forecast error and supplier lead-time performance instead of the static min/max most ERPs still use.
Written by Max Zeshut
Founder at Agentmelt · Last updated Sep 11, 2026
The problem
Min/max levels were set once, by hand, and never revisited. Fast movers stock out while slow movers pile up. Buyers place orders from gut feel and a spreadsheet, and nobody can say what service level the stock is actually delivering.
What changes when it runs
Reorder points move with demand and supplier performance. Buyers receive a weekly purchase-suggestion list ranked by stockout risk, with the reasoning for each change. Working capital tied up in slow stock falls while service level on A items rises, and both numbers are on a dashboard every week.
Trigger, then 8 steps
Trigger
Schedule Trigger (weekly, after the forecast run)
Runs after the demand-forecasting workflow writes new forecasts; a daily run checks stock positions against reorder points.
Read forecasts and error
Postgresp50 forecast and p90–p50 spread per SKU-location-week from the forecast table, plus measured forecast error by SKU segment.
Read inventory and open orders
HTTP RequestOn-hand, allocated, in-transit and open PO quantities from the ERP or WMS, and receipt history for lead-time measurement.
Measure supplier lead times
CodeMean and variance of actual lead time per supplier-SKU from PO created → received, replacing the ERP's static lead-time field.
Compute safety stock and reorder points
CodeSafety stock from the service-level target, forecast error and lead-time variability; reorder point = lead-time demand + safety stock; order quantity from EOQ or supplier minimums and pack sizes.
Classify SKUs
CodeABC by revenue and XYZ by demand variability, so service-level targets differ by class (e.g. 98% for AX, 90% for CZ) instead of one number for everything.
Generate purchase suggestions
IFEvery SKU-location whose projected position (on-hand + in-transit − forecast over lead time) falls below the reorder point becomes a suggestion, grouped by supplier into a draft PO.
Explain parameter changes
AI AgentWhere a reorder point moved more than 20%, the agent states why in one line: forecast up, lead time slipped, error widened. Buyers see the reasoning before they approve.
Publish to buyers and the ERP
Google SheetsSuggestions go to the buyer sheet with approve/adjust; approved lines are pushed to the ERP as draft POs via API.
Data it touches
- Forecast table with quantiles (from the demand-forecasting workflow)
- ERP/WMS stock positions and open orders
- PO and receipt history (lead times)
- Supplier minimums, pack sizes and price breaks
- Service-level targets by ABC/XYZ class
Guardrails
- Draft POs only — a buyer approves before anything is sent to a supplier.
- Parameter changes above a threshold are explained and can be frozen per SKU.
- Service-level targets are set by finance and operations together, and the achieved level is reported weekly.
- Supplier lead times come from receipts, not from the master data, so the numbers reflect reality.
Why static min/max fails
A min/max level encodes an assumption about demand and lead time on the day it was set. Both change constantly: a product goes on promotion, a supplier's lead time drifts from 10 days to 18, a new channel doubles the volume. The ERP keeps the old numbers, and the buyer compensates from memory. The workflow replaces the assumption with a calculation that is redone every week from measured inputs — and, crucially, tells the buyer what changed.
The calculation, plainly
Reorder point = expected demand during the lead time + safety stock. Safety stock = z × σ, where z comes from the service-level target (about 1.65 for 95%, 2.05 for 98%) and σ combines forecast error over the lead time with lead-time variability. That is textbook; what the workflow adds is that σ is measured from your own forecast error and receipt history rather than guessed, and that it is recomputed weekly. Order quantity is the larger of the EOQ and the supplier's minimum, rounded to pack size, capped by shelf life where relevant.
ABC/XYZ classification is what makes the targets sensible. An AX item (high revenue, steady demand) can hold a 98% service level cheaply because its σ is small. A CZ item (low revenue, erratic) at 98% would tie up absurd stock; 85–90% is the right target and a stockout is acceptable. One service level for everything is how companies end up with both stockouts and overstock at once.
What to measure
Achieved service level (fill rate) by class against target. Inventory days on hand by class — the C items are where the cash is hiding. Expedite spend, which falls when reorder points are right. And the buyer override rate on suggestions: if buyers change most suggestions, the parameters or the targets are wrong, and the explanations will show which.
Tools in the stack
| Tool | Role in this workflow |
|---|---|
| n8n | Scheduling, calculations, suggestion generation |
| ERP / WMS (NetSuite, SAP B1, Cin7, Fishbowl) | Stock, orders, receipts |
| Claude | Change explanations |
| Google Sheets | Buyer approval surface |
Want this running without building it?
Automation workflow
$297/month
We set up, host and maintain this workflow on n8n and connect it to your tools. Setup included, cancel monthly, you keep the JSON.
Custom build
$5,000–8,000 one-time
Your systems, your rules, your edge cases. A one-off build on Claude and n8n, delivered with documentation and a walkthrough.
Bundled with demand forecasting at $497/month for both. Multi-echelon (DC → stores) allocation is a custom build.
Frequently asked questions
Does this need the demand-forecasting workflow first?
It needs a forecast with an error estimate. If you have a forecast from your planning tool, the workflow uses it; if not, the demand-forecasting blueprint provides one and the two are usually deployed together.
Can it place orders automatically?
It generates draft POs grouped by supplier. Buyers approve in a sheet or the ERP. Fully automatic ordering for a defined set of low-risk SKUs is possible as a custom option once the suggestions have proven reliable.
What about perishable or seasonal products?
Shelf life caps the order quantity, and seasonal profiles come through the forecast. Products with strict expiry need the custom build so the allocation logic respects dates.
Calculator
Put your own numbers in
Estimate the cost of the current process and what this workflow changes.
The pillar
AI Supply Chain Agent
Optimize inventory, forecast demand, track shipments, and automate procurement with AI.