In this guide
When Shopify stock looks wrong, changing the number is the fastest way to hide the cause. The mismatch may belong to another variant, location, state, unreceived transfer, order commitment, bundle component, fulfillment app, or external system that writes the old quantity back.
This evidence-first sequence preserves the incident, identifies the exact SKU-location-state, contains overselling, and repairs the writer before reconciliation. Use the inventory pillar for permanent controls.
Fast summary
- Capture one SKU-location-state mismatch before editing.
- Use the state transition to choose the next evidence check.
- Use history to identify the staff member, app, channel, or system that wrote the change.
- Contain uncertain listings while preserving evidence.
- Reconcile once, test the lifecycle, and prevent recurrence.
Recommended platform
Some links are affiliate links. We may earn a commission at no extra cost to you. Disclosure
Capture the exact mismatch before editing
Record product, variant, SKU, location, all inventory states, storefront result, time, last known correct state, and recent order or operational event. Define expected versus actual behavior precisely.
Inventory did not decrement, increased after cancellation, shows on hand but not available, displays zero online, or reverts after editing are different incidents with different owners.
| Symptom | First hypothesis | Evidence |
|---|---|---|
| On hand exists, available is dash | Variant inactive at location | Location assignment |
| Available below shelf count | Committed or unavailable units | State breakdown |
| Manual edit reverts | App overwrites | Adjustment creator and sync log |
| Order did not decrement | Tracking, variant, draft, or app location | Order line and history |
| Incoming never available | Transfer not received | Transfer receipt status |
Swipe horizontally to compare every column.
Use the inventory state that moved to choose the next check
Shopify defines On hand as the sum of Committed, Unavailable, and Available inventory at a location; Incoming is separate until received. Start with that equation instead of treating every mismatch as a failed stock update. Shopify's inventory-state definitions also explain that a variant can show On hand while Available is a dash when it is inactive at that location.
The table below is a documentation-based incident tree, checked 6 September 2026. It has not been validated against the reader's store, apps, or fulfillment contracts. Preserve a before-state screenshot or export and confirm the exact variant and location before changing anything.
| Observed change | Inspect next | Do not assume |
|---|---|---|
| Available fell; Committed rose by the same units | Open orders, draft-order reservations, and transfer status | The units disappeared |
| Available fell; Unavailable rose | App reservation, safety stock, damaged, or quality-control state | The storefront count is the physical count |
| Incoming remains positive | Transfer or purchase-order receipt at the destination location | Shipment arrival automatically made stock sellable |
| On hand exists; Available is a dash | Variant activation and fulfillment eligibility at this location | Changing the quantity will activate the variant |
| A manual correction reverts | Adjustment creator, app job, ERP, 3PL, or supplier feed | The last person editing Shopify owns the value |
| No state changed after an order | Tracked variant, order line, fulfillment location, bundle component, and app ownership | The order referenced the SKU you inspected |
Swipe horizontally to compare every column.
Follow the column that changed. A quantity correction is the final step after the writer and state transition are understood.
Create one incident record that another operator can reproduce
Copy this record before containment or correction. Shopify's adjustment history identifies the staff member, app, or channel that created changes and keeps product-level history for 180 days; older analysis can require the Inventory adjustment changes report.
Use one row per affected SKU-location pair. Redact customer details, access tokens, and supplier credentials before sharing the record with an app vendor or Shopify Support.
INCIDENT ID:
OBSERVED AT (timezone):
PRODUCT / VARIANT / SKU:
SHOPIFY LOCATION:
STOREFRONT OR CHANNEL:
EXPECTED RESULT:
ACTUAL RESULT:
ON HAND / AVAILABLE / COMMITTED / UNAVAILABLE / INCOMING:
LAST KNOWN CORRECT TIME:
LAST ADJUSTMENT TIME, ACTIVITY, AND CREATED BY:
RELATED ORDER / DRAFT / TRANSFER / RETURN:
APPS OR SYSTEMS ALLOWED TO WRITE THIS LOCATION:
CONTAINMENT APPLIED:
ONE TEST SKU AND SAFE EXPECTED EVENT:
ROOT CAUSE EVIDENCE:
CORRECTION, OWNER, AND VERIFICATION TIME:Note
For an exact physical count, Shopify documents Set to; for a movement between available and unavailable states, use Adjust by with an origin and destination. Save pending changes before leaving the page. See Shopify's quantity-adjustment instructions.
Verify tracking, variant, state, and active location
Confirm Inventory tracked is enabled for the exact variant and Continue selling when out of stock matches policy. Check for duplicate SKUs and similar variant names. An app-managed product can allocate quantity only to its app location.
Select the location involved. A location can hold on-hand stock while the product is inactive there, producing a dash for available. New locations do not automatically activate every existing variant.
Reconstruct the event from adjustment history
Read who or what created each change. Orders, transfers, reservations, returns, staff, apps, and system corrections create distinct activities in Shopify's adjustment history.
Match timestamps with order creation, cancellation, fulfillment, refund, restock, transfer receipt, draft reservation, app job, and import. A refund does not prove inventory was physically returned or restocked.
Watch out
Do not bulk-set quantities while diagnosing. An external writer can overwrite them again and a broad correction can erase the pattern.
Identify the writer and contain customer harm
List every app or system that can write products, inventory, orders, bundles, or fulfillment. Determine update direction, schedule, SKU and location mapping, retry behavior, and last successful job. One location needs one quantity authority.
Pause the failing writer or affected listing, preserve logs and queue state, and use a conservative buffer when supplier quantity is uncertain. Do not continue selling merely to avoid lost traffic.
Reconcile once and verify the lifecycle
Count physical or supplier-confirmed units, separate every inventory state, then make one documented correction with the correct reason. Do not convert an unresolved supplier estimate into a physical count.
Test one order through creation, commitment, fulfillment, cancellation or return, and app sync. Document the root cause and add a preventive control such as SKU uniqueness, mapping tests, alerts, or cycle counts.
Use a timed triage sequence for active incidents
In the first 15 minutes, decide whether customers can still buy uncertain stock. If yes, pause the variant, add a conservative buffer, or disable the failing channel. Check whether paid orders are waiting and whether the issue affects one variant, one location, one app, or the whole catalog.
In the next 45 minutes, compare Shopify states, location activation, adjustment history, integration status, and a verified physical or supplier count. Do not restart every integration at once. Isolate one writer, preserve its logs, and choose a single test SKU that cannot trigger a real supplier shipment.
Within one business day, reconcile affected orders and quantities, verify the next natural update, and publish an incident note for staff. If the cause remains unknown, keep the affected inventory constrained and escalate with timestamps, variant and location IDs, job references, and safe screenshots. The dropshipping sync guide covers supplier-owned quantity failures in more depth.
| Window | Objective | Output |
|---|---|---|
| 0 to 15 minutes | Stop additional customer harm | Affected scope and containment |
| 15 to 60 minutes | Identify state and writer | Evidence-backed hypothesis |
| Same day | Reconcile orders and quantity | Controlled correction and verification |
| Next review | Prevent recurrence | Owner, alert, test, or process change |
Swipe horizontally to compare every column.
Primary references and scope
Primary documentation checked 6 September 2026: Shopify Help Center pages for inventory states, inventory adjustment history, quantity adjustments, and multiple locations and fulfillment apps. Shopify can change labels and workflows; confirm the current admin before applying a correction.
This guide supplies a diagnostic protocol, not results from a specific merchant incident. App-owned locations, bundles, ERPs, 3PLs, markets, and custom fulfillment systems can add rules that the Shopify documentation alone does not establish.
Frequently asked questions
Possible causes include untracked stock, a different variant or location, draft-order behavior, an app location, bundle logic, or integration failure. Inspect the order line and adjustment history.