anata

Inventory Operations

Operator guide5 min read3 verified sources

How to Use Shopify Inventory States

By Anata Inc. ·

Fulfillment operations poster reading Name each inventory state. with the Anata Fulfillment product icon
Fulfillment operationsA visual hook for this fulfillment operations operator guide.

The short answer.

Use Shopify inventory states as separate operating facts, not interchangeable stock counts. On hand represents physical units at a location and is composed of Available, Committed, and Unavailable quantities. Available is what can be sold, Committed is attached to placed but unfulfilled orders, and Unavailable is physically present but reserved or held for a defined reason. Incoming tracks units expected from transfers, purchase orders, or apps and does not become sellable until receipt changes its state. Assign owners and reconciliation rules to every movement so merchandising, fulfillment, purchasing, and finance do not make decisions from different definitions of stock.

Section 01

Turn each Shopify inventory state into an operating definition

Shopify defines On hand as all units physically present at a location. In its current state model, On hand is the sum of Available, Committed, and Unavailable quantities. Available units can be sold, Committed units belong to placed but unfulfilled orders, and Unavailable units remain stocked at the location but cannot be sold because they are reserved or held. Incoming is separate because those units are still on the way from a transfer, purchase order, or app.

Write those definitions into the team's inventory contract. Merchandising should use Available when deciding what a customer can purchase now. Fulfillment should review Committed as work attached to orders, while also checking whether those orders are actually ready for release. Warehouse and quality teams should use specific Unavailable reasons for physical units that cannot enter the sellable pool. Purchasing should keep Incoming separate from received stock so an expected shipment is not promised twice.

The state names do not explain every business circumstance by themselves. A Committed unit may be waiting for fraud review, another item in the order, or a fulfillment decision. An Unavailable unit may be damaged, under quality control, held as safety stock, or reserved through an app. Add a reason, owner, timestamp, and next review point wherever the platform supports it, and maintain a companion exception record when it does not.

Section 02

Reconcile On hand and Available without erasing the cause

A common mistake is to overwrite Available because it does not match a physical count. First reconcile the equation. If physical On hand is correct, determine whether the difference belongs in Committed or an Unavailable reason before changing sellable stock. If the physical count is wrong, record the adjustment with the most accurate reason and evidence. Shopify says changing On hand changes Available by the same amount, so an unexplained correction can immediately alter what the storefront is allowed to sell.

Shopify's adjustment workflow supports setting an exact quantity or adjusting by a difference. Use an exact value after an authoritative physical count. Use a relative adjustment when the event itself supplies the delta, such as receiving a known quantity, recording damage, or moving units into safety stock. Capture the source document, affected SKU and location, old state, new state, quantity, operator, and reason so the history remains useful during the next discrepancy review.

Do not use an adjustment to conceal an upstream integration failure. If an app manages inventory, verify which system owns each state and whether a later sync will reverse the manual correction. Shopify notes that bulk editing for externally managed inventory can update quantities without tracking inventory movements in the same way. When an external system is authoritative, repair the event or mapping there and prove that Shopify receives the corrected state.

Section 03

Control Unavailable and Incoming as exception queues

Shopify documents several Unavailable reasons, including damaged, quality control, safety stock, and other. Use the narrowest supported reason and define the exit condition. Damaged stock may need disposal, refurbishment, or a vendor claim. Quality-control stock needs an inspection owner and result. Safety stock needs a release rule. Other should be temporary and described in a companion record, because a permanent unexplained bucket makes On hand look complete while hiding why units never become sellable.

Incoming inventory is expected, not received. Shopify says Incoming can come from transfers, purchase orders, or apps and does not become Available until receipt. Reconcile each expected line against the origin document, shipment, destination, SKU, quantity, and expected date. At receipt, record accepted, damaged, missing, or unexpected units separately. Do not receive the ordered quantity automatically when the physical shipment and paperwork disagree.

Aging is the useful control for both queues. Review Unavailable units by reason and days held, and Incoming units by expected date and last carrier or supplier evidence. Escalate records with no owner, no next action, a passed review date, or conflicting quantities. This turns the inventory page from a passive count display into a small exception system that protects sellable availability without pretending every physical unit is ready for an order.

Section 04

Build a daily state reconciliation routine

Shopify's inventory page can display and filter quantities such as Incoming and Committed and can show Available, Unavailable, On hand, and Incoming columns. Create saved views or repeatable filters for the exceptions the team owns. A fulfillment view may prioritize older Committed quantities. A purchasing view may focus on overdue Incoming stock. A warehouse view may sort Unavailable or negative values for physical investigation. Keep location in scope because the same SKU can be healthy at one site and blocked at another.

Run a short daily reconciliation around events rather than trying to recount the catalog. Review unusually old commitments, new negative or zero Available quantities, Unavailable movements without accepted reasons, overdue Incoming lines, and large changes in On hand. Tie each exception to an order, transfer, purchase order, adjustment, app event, or physical count. If evidence is missing, label the quantity unresolved and assign an owner instead of guessing which state is correct.

Close the loop by comparing Shopify with the warehouse or external inventory system that actually executes the work. Agree on one owner for sellable availability, one event sequence for receipts and fulfillment, and a maximum reconciliation delay. Track recurring causes such as late receipt posting, duplicate app updates, incorrect location mapping, or units left in quality control. Repair the cause before adding automation, because faster synchronization of an ambiguous state only spreads the discrepancy sooner.