Stock Control bucket-classifies every tracked variant into one of five status categories. Understanding how each bucket is calculated helps you act on the right signal at the right time — without second-guessing the dashboard.
The Five Buckets
In Stock — healthy: on-hand is above the reorder point, or there’s no sales velocity yet
Low Stock — getting close: days of stock is below ~2× the reorder point but still above it
Reorder Now — below the reorder point, a PO is needed today
Out of Stock — on-hand is zero
Dead Stock — no units sold in the last 90 days (only when you have sales data loaded)
How the Bucket Is Calculated
Three inputs drive the calculation:
On-hand — total units across all locations
Velocity per day — units sold per day, averaged over the last 30 days of order history
Reorder point (days) — either a fixed 7 days (Basic mode) or the lead time + safety stock from your forecasting cascade (Advanced mode)
The logic runs in this order:
If on-hand is 0 → Out of Stock
Else if days of stock < reorder point → Reorder Now
Else if days of stock ≤ 2× reorder point → Low Stock
Else if no sales in the last 90 days and you have sales loaded → Dead Stock
Else → In Stock
Days of stock is on-hand ÷ velocity per day. If velocity is 0, days of stock is undefined, so those variants fall straight through to Dead Stock or In Stock depending on whether sales data exists for the account.
Why Dead Stock Only Shows Up Once Sales Are Loaded
“No sales in 90 days” and “no sales data loaded yet” look identical from the app’s point of view — both mean the Sales table has zero rows for a variant. To avoid every variant being mis-classified as dead stock on day one, the rule only fires when your account has at least one Sales row.
During the initial install backfill, expect Dead Stock to show 0 until the 90-day sales sync finishes. After that, it populates correctly.
What’s Excluded
Two things deliberately never appear in any bucket:
Untracked variants — listing-only products with Shopify’s inventory tracking turned off. Counting them would over-state your catalog and flag every one as out of stock forever.
Archived and draft products — they’re no longer sold, so their on-hand doesn’t need to be monitored.
If a variant unexpectedly doesn’t appear in the Inventory page or KPIs, check its product status and tracking flag in Shopify.
Using Buckets to Prioritise Your Day
Start with Reorder Now each morning — these are the POs that need to go out today
Check Out of Stock if you run retail or wholesale — you may be losing sales right now
Review Dead Stock monthly — decide whether to discount, transfer, or delist
Scan Low Stock when you’ve cleared the urgent work — these become Reorder Now if you wait
