From Reserved to Committed: How Shopify’s New Inventory Shift Impacts Draft Orders, Transfers & Shipments

Shopify is moving inventory holds for draft orders, transfers and shipments from the reserved bucket to committed. Learn what this means for developers and merchants, how it affects reports, and the exact steps you need to take to keep your apps and stores running smoothly.

From Reserved to Committed: How Shopify’s New Inventory Shift Impacts Draft Orders, Transfers & Shipments
6 sections

Shopify just announced a behind‑the‑scenes change that re‑categorizes how in‑progress inventory holds are tracked. Previously, draft orders, inventory transfers and shipment holds were recorded under the *reserved* quantity state. Starting with the latest migration, those same holds will now appear under *committed*. The shift aligns these objects with how regular orders already report inventory, making the “committed” bucket the single source of truth for any stock that’s spoken for but not yet fulfilled.

What Changed

  • Reserved → Committed – For active draft orders, open transfers and shipments that were still holding stock, the quantities that lived under the reserved field are moved to the committed field. This is a one‑time data migration; completed, cancelled, or already‑released holds are left untouched because they no longer reserve inventory.
  • No impact on on_hand or available – The total inventory count remains the same. Only the internal categorization changes, so the amount customers can purchase (the *available* quantity) is unchanged.
  • Who Is Affected

  • Developers – Any app or integration that reads the InventoryLevel.quantities field with the name "reserved" will see a sudden drop in that value for shops that have active holds. The same quantity will now be reported under "committed". If your logic relied on the reserved bucket to specifically identify draft‑order or transfer holds, you’ll need to switch to the committed bucket.
  • Merchants – Store owners won’t notice a change in what shoppers can buy, but inventory adjustment reports that break down changes by state will show a one‑time migration entry. The report will list a shift from reserved to committed for each affected hold.
  • Actionable Steps for Developers

  • Audit your queries – Search your codebase for quantities(names: ["reserved"]). If you only needed the total unavailable stock, you can keep the query as‑is; the numbers will simply move to the committed bucket. If you used reserved as a flag for draft‑order or transfer holds, replace it with "committed".
  • Update documentation and onboarding – Clarify to partners and internal teams that the committed field now represents all holds, including those previously labeled reserved. This avoids future confusion when new developers join the project.
  • Test edge cases – Deploy a staging version of your app, create a draft order, add items, and run a GraphQL query before and after the migration window (Shopify runs the migration automatically). Verify that the reserved count drops to 0 and committed rises accordingly.
  • Impact on Merchant Reporting

    Merchants who generate inventory adjustment reports (for example, via the “Inventory adjustments” CSV) will see a single migration row that subtracts from reserved and adds to committed. The total on_hand and available columns stay constant, so financial reconciliation is unaffected. However, historical analytics that segment by reserved vs. committed will show a spike on the migration date – plan your dashboards accordingly.

    Sample GraphQL Query Adjustments

    Below is a minimal GraphQL snippet that fetches both committed and reserved values. After the migration, you can drop the reserved field if you no longer need it.

    graphql

    query GetInventoryLevels($inventoryItemId: ID!) {

    inventoryLevel(inventoryItemId: $inventoryItemId) {

    quantities(names: ["committed", "reserved"]) {

    name

    quantity

    }

    }

    }

    If your app only cares about holds, simplify to:

    graphql

    query GetCommitted($inventoryItemId: ID!) {

    inventoryLevel(inventoryItemId: $inventoryItemId) {

    quantities(names: ["committed"]) {

    quantity

    }

    }

    }

    Conclusion & Next Steps

    Shopify’s move of draft‑order, transfer and shipment holds from reserved to committed streamlines inventory reporting and puts all “spoken‑for” stock under a single banner. For developers, the change is low‑risk—no schema changes, only a value shift. Updating any logic that explicitly checks the reserved bucket will ensure your apps stay accurate. Merchants can rest easy knowing the buyable stock remains unchanged, though they should be aware of the one‑time migration line in their reports.

    Take action today: review your code for reserved‑quantity queries, test the migration in a sandbox shop, and update any internal documentation. Doing so now prevents surprise inventory mismatches when Shopify completes the migration.

    Tags
    Sources

    Related Articles

    Redesigned POS Channel Page Gives Merchants One‑Click Access to the Editor and Live Analytics
    Platform Updates

    Redesigned POS Channel Page Gives Merchants One‑Click Access to the Editor and Live Analytics

    Shopify’s fresh POS channel page puts customization, analytics and device setup front‑and‑center, letting merchants edit lock screens, receipts and more with a single click while giving staff quick performance insights.

    August 24, 20263 min
    Unlock Shop Campaigns Insights with ShopifyQL
    Platform Updates

    Unlock Shop Campaigns Insights with ShopifyQL

    Shop Campaigns performance data is now queryable via ShopifyQL, giving developers and merchants deeper analytics without extra scopes. Learn what changed, who it impacts, and how to start pulling campaign metrics today.

    August 22, 20264 min
    Standard Storefront Events Now Support Cart Attributes – What Developers Need to Know
    Platform Updates

    Standard Storefront Events Now Support Cart Attributes – What Developers Need to Know

    Shopify’s latest update lets the standard updateCart action handle cart attributes and adds a shopify:cart:attributes-update event. Learn who’s affected, how to implement it, and actionable steps to keep your UI in sync.

    August 21, 20264 min
    Staying Ahead with Shopify: Recent Updates and Actionable Advice
    Platform Updates

    Staying Ahead with Shopify: Recent Updates and Actionable Advice

    Discover the latest Shopify updates, from personalized checkout field settings to new shipping options and marketing tools, and learn how to make the most of these changes for your business. Get expert advice on navigating recent platform updates and enhancing your store's performance. Stay competitive with the latest Shopify features and best practices.

    August 17, 20263 min