Fulfillment Insider
Guides / Inside the operation
Inside the operation

Why Shopify and your 3PL show different inventory numbers

Shopify says 75. The warehouse says 100. Both numbers might be correct. Start by checking whether you are comparing sellable stock with everything physically on hand.

Fulfillment Insider Editorial TeamSeptember 14, 20264 min read

What to take from this

  • Shopify distinguishes available, committed, unavailable, and incoming inventory.
  • Choose one SKU, one warehouse, and one reporting timestamp.
  • Illustrative example: the warehouse has 100 units physically present.
Editorial illustration for Why Shopify and your 3PL show different inventory numbers
Original AI-generated editorial illustration. No listed provider or actual customer operation is depicted.

Name the state behind each number

Shopify distinguishes available, committed, unavailable, and incoming inventory. Ask your warehouse management system, or WMS, which quantities map to those states. A screen labeled “stock” may include units that cannot be sold. Build a small mapping table for each system, including damaged units, quality holds, and orders already allocated. Use the platform documentation as the starting definition, then confirm the integration’s actual mapping.

Take snapshots at the same time

Choose one SKU, one warehouse, and one reporting timestamp. Export transaction history covering the interval around the discrepancy. Check whether the connector uses queued updates and whether an error requires manual intervention. Comparing a current warehouse count with yesterday’s storefront export creates noise. Start narrow enough that a person can trace every movement rather than aggregating the entire catalog immediately.

Reconcile a small example

Illustrative example: the warehouse has 100 units physically present. Twenty are committed to open orders and five are unavailable pending inspection. If the systems use matching definitions, 75 may be available to sell. A storefront showing 75 and a warehouse showing 100 on hand are not necessarily in conflict. If Shopify shows 85 available, the next question is which ten-unit transaction or state change is missing.

Fix the mapping, not just the displayed quantity

A manual adjustment can make dashboards match temporarily while hiding a repeated synchronization issue. Ask who owns the connector, where errors are visible, and how retries avoid duplicate updates. Run a controlled receipt, order, cancellation, and adjustment after any mapping change. Record the expected state at each step and confirm both systems before applying the fix more broadly.

Checks to run

  • Compare identical SKUs, facilities, timestamps, and states.
  • Inspect transaction history before changing balances.
  • Test cancellations and holds as well as successful orders.

Download this working checklist (CSV)

Trace your requirements →

A couple of questions

Can I just overwrite the storefront quantity?

Investigate first. An overwrite may hide a mapping or transaction issue that will recur.

Which system should be the source of truth?

Agree ownership for each inventory event and state; a single blanket answer may not fit the integration.

Reference and scope

Shopify: inventory states — Reference for the distinction between available, committed, and other inventory states.

The recommendations are editorial guidance. Worked scenarios are illustrative, not reported provider results. How we research and handle featured placements.

Keep reading