Committed Inventory in Shopify: What It Is and Why Most Sync Tools Miss It

Committed inventory is units reserved for open orders. Most sync tools miss it. Here's why that causes overselling and how to fix it.

TL;DR

Committed inventory in Shopify is the count of units reserved for open, unfulfilled orders. Shopify blocks external apps from setting committed directly: only order creation and fulfillment can change it. Multi-store sync tools miss committed because they can only read and write the 'available' quantity. Overselling happens when merchants manually adjust 'on hand' without accounting for committed, inflating the available count that Shopify uses to gate sales.

Committed inventory is one of the three quantities Shopify tracks for every SKU: on hand, committed, and available. It’s the number most merchants and most sync tools overlook, and ignoring it is one of the quieter causes of overselling on Shopify. According to IHL Group, inventory distortion costs retailers $1.77 trillion globally, and overselling from sync errors accounts for a meaningful share of that figure.

Here’s what committed inventory actually is, why sync apps can’t track it, and how to manage your inventory correctly when running multiple stores.

What committed inventory means in Shopify

Shopify defines committed inventory as units that are part of a placed order but haven’t been fulfilled yet. The moment a customer completes checkout, Shopify moves those units from available to committed. They’re still physically in your warehouse, but they’re spoken for.

The relationship between the three quantities is fixed:

On Hand = Available + Committed
Available = On Hand − Committed

If you have 50 units on hand and 12 committed to open orders, your available quantity is 38. Shopify uses available, not on hand, to decide whether a sale can go through. For a full breakdown of how all three numbers work together, see Shopify’s on-hand, committed, and available quantities.

Committed stays at 12 until those orders are either fulfilled (units ship, on hand drops) or cancelled (units return to available). It updates automatically with no manual action required.

Why sync tools can’t track committed inventory

Can Shopify apps set committed inventory via the API?

The reason most multi-store sync tools miss committed inventory isn’t a bug. It’s a platform constraint. Shopify’s API does not allow external apps to set the committed quantity directly. Committed is generated automatically by Shopify as orders are created and fulfilled. No app can write to it.

What sync apps can do is read and write the available quantity or the on_hand quantity. That’s where the problem starts.

When Store A sells 5 units and those units move into committed, Store B doesn’t automatically know about that reservation. The sync app can push the new available count to Store B, but only if it reads available (not on hand) from Store A and writes available correctly to Store B.

How manual overrides cause overselling

What causes overselling on Shopify with multiple stores?

The typical failure mode isn’t the sync app getting the available count wrong. It’s what happens when a merchant manually adjusts “on hand” without accounting for committed.

Say Store A has 50 on hand and 12 committed, so 38 available. You think stock looks low and manually update on hand to 60 across both stores. In Store A, Shopify recalculates: 60 on hand minus 12 committed = 48 available. But in Store B, there are 0 committed orders (they live in Store A), so 60 on hand minus 0 committed = 60 available. Now Store B shows 60 units available when the actual sellable quantity is 48.

The oversell window is 12 units wide, and you created it with one manual update.

If you’re running multiple stores and want to keep quantities accurate, Shopify inventory sync explains how webhook-based sync works and where it breaks down under load.


Already seeing this problem in your operations? Upzone syncs to Shopify using real-time webhooks and reads available quantities (not on hand) to keep your multi-location counts accurate. Start a free trial.


How to manage committed inventory correctly

35% of multi-store merchants experience at least one oversell per week

Three approaches work. Research from Shopify’s Commerce Trends report shows that 35% of multi-store merchants experience at least one oversell per week, and 72% of those trace back to quantity sync gaps rather than demand spikes.

  • Sync available, not on hand. Your sync tool should read and write the available quantity, not the on_hand quantity. Available already has committed baked out of it. This is the simplest fix and works with most store-to-store sync setups.
  • Treat one store as the inventory source of truth. One store owns the real inventory numbers; other stores proxy orders to it. This eliminates the dual-committed problem entirely. Any architecture where both stores independently manage committed quantities is going to create conflicts.
  • Push inventory from a central system. A dedicated inventory management tool for Shopify stores that tracks your true available quantity and pushes it out to each Shopify store is the most reliable setup. Shopify gets told what it can sell; it doesn’t try to compute availability independently across two stores. This is the path for operations running high volume across multiple storefronts.

To broaden your options, see the best Shopify inventory apps ranked by sync reliability and warehouse ops depth. For general strategies on avoiding oversells, the prevent overselling guide covers the full picture.

You already know committed inventory is a gap in your sync setup. The next step is making sure your tools read the right number. Try Upzone for 14 days.

Quick Reference

TopicDetailSource
Committed definition”Units that are part of a placed order but aren’t yet fulfilled”Shopify Help Center
FormulaOn Hand = Available + CommittedShopify Help Center
API constraintCommitted cannot be set via the API; only order creation and fulfillment change itShopify Developer Docs
What sync tools can writeAvailable quantity or on-hand quantity (not committed)Shopify Developer Docs
Oversell triggerManual on-hand update without accounting for committed in other storesPlatform behavior
Fix 1Sync available, not on handBest practice
Fix 2Single source of truth: one store owns inventory, others proxyBest practice
Fix 3Central inventory system pushes available to each Shopify storeBest practice
Available quantityThe number Shopify uses to gate sales, not on handShopify Help Center

Warehouse execution breaks when Shopify and floor activity drift apart. Start a free Upzone trial to keep products, inventory, orders, and fulfillment in sync.

Start free trial →