The Shopify inventory reports that actually drive decisions
Ten inventory reports every Shopify brand should run, the decision each one drives, how often to look at it, and the arithmetic behind the numbers.
Stokrio Team · · 7 min read
Most inventory reporting fails in the same way: plenty of numbers, very few decisions. A report earns its place only if someone looks at it on a schedule and changes something because of it. If you can't name the decision a report drives, stop running it.
This guide walks through the reports we think every Shopify brand should have, what question each one answers, what you do with the answer, and how often to look.
Key takeaways
- Tie every report to a decision and an owner. "Interesting" is not a reason to keep a report.
- Look at stockout risk daily, replenishment and open purchase orders weekly, and stock health, supplier and financial reports monthly.
- Use forward-looking measures (days of cover, stockout risk) to act and backward-looking ones (turnover, GMROI, forecast accuracy) to learn.
- Report on availability, not just sales. Sales during a stockout understate demand.
- Fewer, trusted reports beat a dashboard nobody opens.
Stock on hand and inventory value
Question: what do we have, where, and what is it worth at cost?
Decision: this is the reference report rather than an action report. Finance uses it at month end, operations uses it to reconcile against the warehouse, and everyone uses it to sanity-check the other reports.
Two details matter. First, separate on hand from available (on hand minus stock reserved for unfulfilled orders). Planning should use available. Second, value inventory at cost, not retail price. A $40 product that cost you $12 is $12 of inventory.
If your system keeps end-of-day snapshots, you can run this report as at a past date — very useful when your accountant asks what stock was worth on 30 June.
Stockout risk and days of cover
Question: which products will run out before the next delivery could arrive?
Decision: what to order today, and what to expedite.
Days of cover is the core measure:
days of cover = (available + on order) ÷ forecast daily demandA product with 180 available, 120 on a confirmed purchase order and a forecast of 10 a day has (180 + 120) ÷ 10 = 30 days of cover. If its supplier's lead time is 35 days, ordering today already leaves a five-day gap unless the open order lands early. That product belongs at the top of the list.
Sort this report by the gap between days of cover and lead time, not alphabetically, and add the revenue at risk so a $4 accessory doesn't outrank your best seller. This is the one report worth checking every working day.
Replenishment suggestions
Question: how much of each product should we order, from whom?
Decision: the actual purchase orders.
The arithmetic is covered in detail in our guide to days of cover and reorder quantities. The report should show its working — velocity, lead time, safety stock, on order — so a buyer can check a suggestion rather than trust it blindly. Run it weekly, or on the day you usually place orders.
Open purchase orders
Question: what's coming, when, and is anything late?
Decision: chase suppliers, update customers on pre-orders, plan warehouse receiving.
A late purchase order matters far more when the product it carries is already out of stock. Rank overdue orders by the stock position of the products on them, not by how many days late they are.
Sell-through
Question: of what we had available to sell, how much did we sell?
Decision: whether a product or a launch is working, and whether to reorder, mark down or drop it.
sell-through = units sold ÷ (units sold + ending on hand)If you sold 120 units in the month and ended with 80, sell-through is 120 ÷ (120 + 80) = 60%. Sell-through is most useful for seasonal and launch products with a fixed buy, where the question is "will this clear by the end of the season?" For continuous replenishment lines, days of cover is the better lens.
In-stock rate and lost revenue
Question: how often were customers able to buy what they wanted?
Decision: whether your safety stock and service levels are set correctly.
In-stock rate counts product-days with stock on hand:
in-stock rate = product-days with stock ÷ total product-daysFifty products over 30 days is 1,500 product-days. If 90 of those product-days had zero stock, the in-stock rate is 1,410 ÷ 1,500 = 94%.
Then estimate what the gaps cost. A product out of stock for 6 days, with forecast demand of 4 a day at $35, lost roughly 6 × 4 × $35 = $840 of revenue. It's an estimate, but it turns "we were out of stock a bit" into a number you can weigh against the cost of carrying more safety stock. Review it monthly.
Excess and dead stock, with aging
Question: where is cash sitting idle?
Decision: cancel or defer open orders, mark down, bundle, liquidate.
Excess is stock beyond what you'll sell over the lead time plus your review period and safety buffer. Dead stock is anything with stock on hand and no sales in a set window — 90 days is a sensible default. Aging buckets show how long stock has sat since it was received. We cover all three, with clearance maths, in dead stock and excess inventory. Monthly is the right cadence; weekly creates churn.
ABC-XYZ classification
Question: which products matter most, and how predictable are they?
Decision: where to spend planning attention and how much safety stock to hold.
ABC ranks products by their share of revenue; XYZ ranks them by how variable their weekly demand is. The combination tells you which products need careful forecasting and generous safety stock, and which can run on simple rules. See our ABC-XYZ worked example. Re-run it monthly or quarterly — classes shouldn't change every week.
Supplier performance
Question: do suppliers deliver on time, in full, and in the lead time they quote?
Decision: safety stock per supplier, which supplier gets the next order, and what to raise at your next negotiation.
on-time % = POs received on or before the expected date ÷ POs received
in-full % = PO lines received in full ÷ PO lines receivedIf 9 of a supplier's last 12 purchase orders arrived on time, on-time is 75%. Pair that with measured lead time — received date minus sent date — and its variability. A supplier who quotes 30 days and delivers anywhere from 28 to 50 needs far more safety stock than one who reliably takes 35.
Turnover and GMROI
Question: how hard is our inventory working for us?
Decision: range and pricing decisions, and where to put next season's budget.
Turnover is cost of goods sold divided by average inventory at cost; GMROI is gross margin divided by average inventory at cost. Both are backward-looking and best read monthly or quarterly at product, category and business level. The worked numbers are in inventory turnover and GMROI.
Forecast accuracy
Question: how wrong were our forecasts, and in which direction?
Decision: whether to trust the forecast for a product, and where to override it.
A simple, robust measure is weighted absolute percentage error (WAPE):
WAPE = Σ|actual − forecast| ÷ Σ actual
bias = Σ(forecast − actual) ÷ Σ actualThree products sold 100, 50 and 30 units against forecasts of 90, 60 and 30. Absolute errors are 10 + 10 + 0 = 20 against total actuals of 180, so WAPE is 20 ÷ 180 = 11.1% (accuracy of about 88.9%). Bias is (180 − 180) ÷ 180 = 0: the errors cancel out overall, even though two products were each off by 10. That's why you track both — a forecast with zero bias can still be noisy, and a forecast with low error can still lean consistently one way.
A reporting cadence that works
| Cadence | Reports | Owner |
|---|---|---|
| Daily | Stockout risk, late purchase orders | Buyer or ops lead |
| Weekly | Replenishment, open purchase orders, sales anomalies | Buyer |
| Monthly | Excess, dead stock and aging; in-stock rate; supplier performance; sell-through | Ops and finance |
| Monthly or quarterly | ABC-XYZ, turnover and GMROI, forecast accuracy | Founder, finance, planning |
Two rules make this stick. Schedule the reports to land in inboxes rather than relying on people to go looking. And compare every number against something — the previous period or the same period last year — because a number without a comparison rarely triggers a decision.
What to stop doing
- Building reports from Shopify exports every Monday. If it's manual, it'll stop happening the week you're busiest.
- Mixing sales and inventory in separate tools. Most of the useful questions ("did we sell less because demand fell or because we were out?") need both.
- Fixed windows for everything. A 28-day window suits a fast mover and misleads on a product that sells three a month.
Where Stokrio fits
Stokrio's inventory reports cover the reports above — stockout risk with revenue at risk, excess and dead stock, aging, ABC-XYZ, in-stock rate, sell-through, supplier on-time in-full, open purchase orders, turnover, GMROI and forecast accuracy — with period comparison, CSV and PDF export, saved views and scheduled email. Whatever tool you use, the principle is the same: fewer reports, each tied to a decision.