What to order this week
Worked out from 90 days of sales, your delivery invoices and the last stock-take. Every suggestion has a why? — press it and you get the arithmetic with your own numbers in it.
| SKU | On hand | Days of cover | 28d velocity | Suggested qty | Line cost | Flags | Why |
|---|
Purchase orders
Dead & slow
Sorted by the cash it's sitting on. Dead is no sale at all in the threshold window; slow is more than 90 days of cover at the current rate. Filter by site and zone — that's where the "sells fine on the counter, dies on the wall" story shows up.
| SKU | Site / zone | Last sale | On hand | Cost tied up | Days of cover | Suggestion | Why |
|---|
Flying
Lines accelerating, and lines you keep running out of. A stockout is a day you started with nothing and nothing arrived — the till can't tell you about the sale you didn't make, so this reconstructs it from the stock ledger.
| SKU | Velocity 90 / 28 / 7 | On hand | Stockout days (28d) | Rate when in stock | Lost sales | Suggestion | Why |
|---|
Competitor prices
Typed in, not scraped. Nothing on this page fetches anything from anywhere.
| SKU | Your shelf | — | — | Position | Margin if you match | Checked | Why |
|---|
Add or update a price
Saved locally. In a live deployment this is the sheet that gets refilled each month.
Data
Everything the engine runs on. Nothing here leaves the browser — no uploads, no API calls, no account.
Import history
| What | Source | Date | Rows | Note |
|---|
Import sales export
A CSV from the till. Pick the file, tell it which column is which, done. Presets for the common EPOS systems set the mapping for you.
No file chosen. The demo is running on 90 days of generated sales.
Delivery invoices
CSV or PDF. The demo ships with three already parsed.
| Invoice | Supplier | Date | Lines | Units | Value | Status |
|---|
SKU match table
The unglamorous bit that makes the rest work. The till calls it BJ BLUE RAZZ 20, the invoice calls it Bar Juice 5000 Blue Razz 20mg 10ml, and they have to be the same thing. Suppliers rename products constantly — keeping this table honest is the standing job, not a one-off.
| Name seen | Where from | Canonical SKU | Case size | ml | Status |
|---|
Stock-take
—
| SKU | Site | Counted | Delivered since | Sold since | On hand now |
|---|