Your Shopify count says 200 units. Physical count comes back with 163. That 37-unit gap isn't just annoying — it has a name, a cause, and a permanent fix.
You do a spot check on one of your best-selling products. Shopify says 84 units. You count the shelf: 61 units.
23 units. Gone. No record of where they went.
This is an inventory discrepancy — and it's one of the most expensive problems in e-commerce that almost nobody systematically addresses.
This guide covers how to find discrepancies across your entire catalog, identify which of the 9 root causes is responsible, and build a system that stops them accumulating.
An inventory discrepancy is any difference between what your Shopify system shows and what physically exists.
Positive discrepancy (system shows MORE than reality) This is the dangerous type. You're at risk of overselling. Customers can order products you can't fulfil.
Negative discrepancy (system shows LESS than reality) Less immediately dangerous — but your reorder decisions are based on false data. You'll over-order products you don't need and tie up cash unnecessarily.
Most merchants only worry about positive discrepancies (phantom stock). But negative discrepancies are equally expensive — they distort your reorder model and lead to over-investment in products you actually have sufficient stock of.
Accounts for ~35% of all retail shrink. The challenge: theft creates no system log. Products simply disappear.
How to identify: Discrepancies concentrated in high-value, portable items. Consistent depletion that's faster than sales velocity explains. Discrepancies across multiple counts of the same product.
Diagnostic question: Are the discrepancies random across your catalog, or concentrated in specific product types?
Someone counted wrong when the shipment arrived — or trusted the PO number without actually counting.
How to identify: Discrepancies that appear immediately after a shipment arrival. Off-by-round-numbers errors (exactly 5, 10, or 25 units off — matching likely counting chunks).
Diagnostic question: When did this discrepancy first appear? Was there a shipment within 1–3 days of that date?
The wrong product was picked, or the quantity was wrong. The order was shipped and Shopify decremented the intended product — but the wrong physical product left the warehouse.
How to identify: Discrepancies that appear during high-volume periods. Discrepancies on products stored near each other (mis-pick neighbor). Corresponding surplus on a neighboring product.
Diagnostic question: Is there a product nearby with an unexpected positive discrepancy that mirrors the negative discrepancy here?
A return was logged and inventory was restored — but the physical item was damaged, missing parts, or otherwise unsellable.
How to identify: Discrepancies that increase after promotions or holiday periods (high return volume). Phantom stock on products that have a high return rate.
Diagnostic question: What's this product's return rate? Are returns being inspected before being marked as restockable?
One platform's inventory is stale because a sync failed silently.
How to identify: Discrepancies correlated with a specific channel's data. Discrepancies that partially self-correct when the next sync runs. Discrepancies appearing on products sold on multiple channels.
Diagnostic question: Is this product listed on any channel besides Shopify? When did you last check your sync logs?
Selling a bundle might not correctly decrement component products, or might double-decrement them.
How to identify: Discrepancies concentrated on products that are also bundle components. Discrepancies that correlate with bundle sales volume.
Diagnostic question: Is this product used as a component in any bundle or kit?
Inventory moved between locations or warehouses wasn't logged correctly — or was logged in the wrong direction.
How to identify: Discrepancies in a specific location that don't appear in aggregate. Discrepancies appearing around transfer dates.
Diagnostic question: Was this product transferred between locations recently? Was both sides of the transfer logged?
Someone "fixed" a discrepancy manually — in the wrong direction, by the wrong amount, or on the wrong product.
How to identify: Unexplained inventory changes with no corresponding order, return, shipment, or transfer. Changes occurring at unusual times (evenings, weekends).
Diagnostic question: Is there an unexplained inventory adjustment in the Shopify audit log for this product?
A buggy app, failed API call, or data race condition created or deleted inventory incorrectly.
How to identify: Sudden large-scale discrepancies appearing simultaneously across many products. Discrepancies correlated with a specific app update or API change.
Diagnostic question: Did discrepancies appear across many products at once? Was there a recent app update or integration change?
When you discover a discrepancy, work through this decision tree:
| Question | If Yes → | If No → |
|---|---|---|
| Does it correlate with a recent shipment? | Receiving error | Next question |
| Is it on a high-theft product type? | Possible theft | Next question |
| Is the product on multiple channels? | Sync failure | Next question |
| Is it a bundle component? | Bundle tracking error | Next question |
| Are there unexplained manual adjustments? | Manual error | Next question |
| Did many products change simultaneously? | Integration bug | Fulfillment/return error |
:::screenshot /blog/anomaly-detail-root-cause.png|CoreCaptain's anomaly detail page shows the likely root cause, confidence level, and recommended action — so you're not just finding discrepancies, you're understanding them.|CoreCaptain anomaly detail with root cause analysis :::tip The most valuable thing you can do after finding a discrepancy is document the root cause — not just fix the number. If you just correct the count without understanding why, the same cause will create the same discrepancy again within weeks. :::
Finding and fixing discrepancies is reactive. The goal is to stop them accumulating in the first place.
| Metric | Industry Average | Good | Excellent |
|---|---|---|---|
| Inventory record accuracy | 65% | 85% | 95%+ |
| Discrepancy rate (spot checks) | 35% | 12% | <5% |
| Time to detect discrepancy | 4–6 weeks | < 1 week | < 48 hours |
| % discrepancies with identified root cause | 40% | 75% | 90%+ |
The stores that reach "excellent" on all four metrics share one thing: they treat inventory accuracy as a first-class operational KPI — reviewed weekly, with accountability.
CoreCaptain detects phantom stock, sync errors, and inventory discrepancies automatically. 14-day free trial, no credit card required.
Start Free Trial