Skip to main content
Back to changelog

Draft order and transfer/shipment inventory is moving from reserved to committed

We're consolidating how in-progress inventory holds are represented. Inventory that was previously tracked under the reserved quantity state for draft orders, transfers, and shipments is being moved to the committed quantity state.

This change aligns these holds with how order inventory is already represented, so that committed reflects all inventory that is spoken for but not yet fulfilled.

What's changing

  • For draft orders, transfers, and shipments, quantities that previously appeared under reserved will now appear under committed.
  • This is a one-time data migration that applies only to active draft orders and open transfers/shipments that are still holding inventory when the change runs.
  • Completed, cancelled, or already-released holds are not modified, because they no longer hold reserved inventory.

What's not changing

  • available and on_hand quantities are unaffected. Total inventory is unchanged, and quantities are only moving between two “unavailable” buckets.
  • Both reserved and committed remain valid, queryable quantity names. No fields are removed or renamed.
  • Sellable inventory (available) is not affected, so this does not change what buyers can purchase.

What you may need to do

  • If your app reads InventoryLevel.quantities(names: ["reserved"]), expect reserved values to decrease for affected shops, with a corresponding increase in committed.
  • If you currently rely on reserved to detect draft-order or transfer/shipment holds specifically, you should read committed instead going forward.
  • No code changes are required to keep existing queries working; only the values shift between the two states.

Reporting note

Merchants using inventory adjustment reports (for example, reports that break out adjustments by inventory state) will see reserved values migrate to committed, plus a one-time correction entry when the migration runs. This correction only covers active draft orders and open transfers/shipments at the time of migration. on_hand and available totals are unchanged, and historical data before the migration remains as-is.

Related docs

Was this page helpful?