01
Dashboard
The morning briefing: how many SKUs need ordering today, what capital is frozen, what is at sea, and whether sales are pacing.
- Four counts lead — to order now, due this month, dead stock, on the water
- Order-today panel ranks the six most urgent SKUs, each with a runway-vs-lead bar and its order-by date
- Stock health states one sentence over a running/slow/dead composition bar
- Lead-time pressure prints the thesis: you hold ~X days of stock but need Y days to reorder from China
02
Purchasing
The order desk. Decide, factory by factory, what goes on a container this week so nothing runs dry before the next one lands.
- position = on hand + inbound; runout = position ÷ daily pace; order-by = runout − lead time
- Honest buckets: now, soon, healthy — plus “No sales” and “Set lead time” rather than a fake number
- Factory sections start collapsed; the headers are the summary you scan first
- Ticked rows collect into an order basket
03
A SKU’s story
Why this SKU is on the list, in a sentence — then the arithmetic behind it.
- “Stock lasts 25 days, a reorder takes 55 days to land — you’d be out for 30 days”
- A timeline with the shortfall hatched and the landing date marked
- A cover box with a quantity slider: what ordering N covers you to, and when the next order falls due
- Inline fixes for the two things that block planning — pick the factory, set its lead time
04
Planning settings
The assumptions behind every order-by date, with the arithmetic stated rather than implied.
- Reorder every 30/45/60/90 days — each order is sized to last that long after it lands
- Pace: recent (last 60 days ÷ 60) or last year (the same 60 days a year ago), with the real date window shown
- A min-stock floor beneath the pace model, for SKUs with no sales to judge by
- Units or packs — the app-wide switch