shopify / inventory / reports
Shopify Inventory Reports: 9 Reports and What Each Misses
Shopify has nine inventory reports. See what each counts, where the snapshot and value reports mislead, and which report answers your stock question.
Shopify’s Inventory category has nine default reports. They answer different questions: what stock you had at month end, what it was worth, how fast it sold, and where the count changed. Two details cause most disagreements: since October 1, 2026 the month-end snapshot uses On hand, not just Available, and the value report only counts variants with a cost per item.
Quick answer
- Go to Analytics → Reports, filter Category: Inventory.
- Since October 1, 2026, the month-end snapshot uses On hand: Available + Committed + Unavailable, excluding Incoming.
- The value report multiplies On hand units by cost per item. Blank costs add nothing.
- Sell-through includes restocks; percent sold does not.
- Adjustment history shows who or what changed a count. Pick a reason when you adjust.
The nine reports and the question each answers
| Report | What it answers |
|---|---|
| Month-end inventory snapshot | How many On hand units of each variant you had at month end |
| Month-end inventory value | What that ending stock was worth at cost per item |
| Inventory sold daily by product | Average units sold per day |
| Products by percentage sold | How much of the starting quantity sold |
| ABC product analysis | Which variants drive 80%, 15%, and 5% of revenue |
| Products by sell-through rate | How much of all stock available during the period sold |
| Inventory remaining per product | Days until a variant runs out at the current sales rate |
| Inventory adjustment changes | Which adjustments happened, with SKU, location, staff, app, and reason |
| Inventory adjustments by count | How many adjustment events happened, not how many units moved |
Month-end snapshot vs. month-end value
Month-end inventory snapshot shows the trackable On hand quantity at the end of each month. On hand includes:
- Available: units customers can buy.
- Committed: orders pending fulfillment, units reserved in a draft order, and units in a transfer marked ready to ship.
- Unavailable: units set aside by apps or held for damage, quality control, or safety stock.
It excludes Incoming units in a transfer. It is not a physical count.
Example: a variant has 100 units on the shelf, none set aside as unavailable, and 12 in unfulfilled orders on the last day of the month. On hand is 100: the 12 committed units are still included. Before October 1, 2026, the same snapshot would have shown 88 because it counted Available only.
Month-end inventory value uses the same On hand quantity and multiplies it by the variant’s cost per item. A variant with no cost does not add to the total.
Example: you stock 200 units at $8 and 300 units with a blank cost field. The report total is $1,600. The 300 units are still in the warehouse, but the value report does not count them. If inventory value looks low, check for blank cost fields first.
Fill in cost per item first
In Shopify admin, open a product, find the Price section, and fill Cost per item. For a product with variants, edit each variant. Enter what the item costs you: the price you paid the manufacturer, excluding taxes and shipping, or a value based on labor and materials for something you make. Use the margin calculator to see how cost per item changes contribution.
Cost per item is a stored value, not a live supplier price.
Why the snapshot shows negative numbers
Shopify Help gives two causes: you track inventory and oversold the variant, or you do not track it, so the count starts at 0 and each order subtracts one. Gift cards and digital products often show negative numbers for that reason.
Sell-through vs. percent sold vs. days remaining
Three reports describe how fast stock moves. They use different formulas, so they can disagree about the same variant.
| Report | Formula | Good for |
|---|---|---|
| Products by percentage sold | Units sold ÷ starting quantity | How much of what you started with is gone |
| Products by sell-through rate | Units sold ÷ (units sold + ending inventory) | How much of all stock available during the period sold, including restocks |
| Inventory remaining per product | Ending quantity ÷ average units sold per day | Days until the variant runs out |
Example: a variant starts with 20 units, receives 80 mid-month, sells 30, and ends with 70.
- Percent sold: 30 ÷ 20 = 150%. Values above 100% are possible.
- Sell-through rate: 30 ÷ (30 + 70) = 30%. The denominator accounts for the restock.
If you restocked during the month, sell-through is usually the number you want. Percent sold makes sense when nothing came in.
A few details change how you read these reports:
- Sell-through runs about two days behind. The exact dates show at the top of the report.
- Sell-through ignores negative quantities and counts untracked products as 0 sold.
- Both sell-through and percent sold list a variant only if it sold at least once before or during the period.
- Days remaining is N/A when there were no sales in the period, and 0 when ending quantity is negative.
- Inventory sold daily by product leaves out returns, manual adjustments, and transfer receipts.
Sell-through tells you how fast stock moved, not which campaign moved it.
ABC product analysis
ABC grades each variant by its share of revenue over the last 28 days, a window you cannot change. A-grade variants make up 80% of revenue together, B-grade the next 15%, and C-grade the last 5%.
Revenue is based on retail price excluding discounts. Cost does not affect the grade. A variant can earn an A and still have a thin margin, so pair ABC with cost data before you reorder heavily. If a product has too many variants to stock cleanly, see Shopify variant limit.
Adjustment history: where the stock went
When a count does not match the shelf, sales reports will not explain it. Adjustment history will.
On the product. Open a product or variant with inventory tracked and click View adjustment history. It shows recent changes with date, activity, who or what made the change, and each inventory state. For older or cross-variant changes, use the reports.
In Reports. Inventory adjustment changes lists manual admin adjustments, app changes, transfers, and order fulfillments. Filter by SKU, location, staff member, app, and adjustment reason.
The second report, Inventory adjustments by count, counts adjustment events rather than units. A three-unit order can show as two adjustments: Available −3 and Committed +3. That is useful for “which app or staff member makes the most changes?”
Make the history readable
Reports can only show what was recorded. When you use Set to, pick a reason: correction, count, damaged, promotion or donation, received, return restock, or theft or loss. Without one, the activity shows as “Manually adjusted.” With Adjust by, the activity shows the movement, not the reason.
What the native reports cannot tell you
Inventory history starts October 1, 2023; reports also drop deleted locations and stop deleted products at deletion. The 2026 change is On hand vs Available, not history depth. If your question falls into a gap, an ERP or reporting app is a fair next step.
Before you buy another app
Check cost per item, inventory tracking, adjustment reasons, and the full export first.
FAQ
How do I pull an inventory report from Shopify?
Go to Analytics → Reports, filter Category: Inventory, open the report, and use Export. The export includes every row, not just the first screen.
Why does Shopify show negative inventory?
Either you track inventory and oversold the variant, or you do not track it, so the count starts at 0 and every order subtracts one. Gift cards and digital products often show negative numbers for that reason.
What is the difference between sell-through and percent sold?
Percent sold divides units sold by starting quantity. Sell-through divides units sold by units sold plus ending inventory, so it accounts for restocks during the period.
Why is inventory value lower than expected?
The value report multiplies On hand units by cost per item. Variants with a blank cost field add nothing. Fill in cost per item first, then recheck the report.
How far back does inventory history go?
Shopify Help says inventory-based metrics start October 1, 2023. Product-level adjustment history shows recent changes; the Inventory adjustment changes report covers older and cross-variant changes.
Sources
- Shopify Help — Inventory reports (checked 2026-10-25)
- Shopify Help — Product analytics overview (checked 2026-10-25)
- Shopify Help — Profit reports (checked 2026-10-25)
- Shopify Help — ABC inventory analysis (checked 2026-10-25)
- Shopify Help — Viewing inventory adjustment history (checked 2026-10-25)