Why does Shopify show a product as sold out when inventory is not zero?
Read the difference between on hand, committed, and available stock, then check which locations can actually fulfill an online order before changing any quantity.
The inventory report says forty units. The product page says sold out. Before anyone adjusts a quantity to make the storefront agree, it is worth knowing that both numbers are usually correct — they are just answering different questions.
Shopify does not sell your total stock. It sells what is available at the locations that can fulfill the order. Two words in that sentence do the damage: available, and locations.
On hand is a count. Available is a promise
On hand is everything physically attributed to a location. Available is what remains after Shopify subtracts the units already committed to unfulfilled orders and anything you have marked as unavailable — damaged, reserved, quality control, safety stock. Forty on hand with thirty-eight committed leaves two, and a preorder drop can consume the whole figure in an hour.
Committed stock is the one to check first, because it is invisible in most summary views. It also explains the version of this problem that fixes itself: unfulfilled orders release their commitment as they ship, so the product reappears without anyone touching a setting.
Do not correct the quantity to force a product back online.If the real cause is committed or misplaced stock, adding units creates an oversell that ends as a cancelled order — the same customer, a worse outcome, and a corrupted inventory record to unwind afterwards.
Stock at the wrong location does not exist for a shopper
A location has to be active and set to fulfill online orders. A retail shop, a returns processing site, a supplier's holding location, a new warehouse that nobody finished configuring — each of these can hold real, available stock that the online store will never offer.
Related, and easier to miss: an inventory item can simply not be stocked at the location you assumed. The variant exists, the location exists, but the two were never connected, so the quantity you are reading belongs to a different location than the one serving the order.
Check whether the variant is tracked at all
If quantity tracking is off for a variant, Shopify will never mark it sold out, which is the intended behavior for made-to-order and digital items. The inverse matters for this problem: if tracking was recently switched on for a product that had no real counts, everything drops to zero at once and a whole collection goes dark on the same afternoon.
Continue selling when out of stock is the other switch in this pair. With it on, availability stops depending on quantity — which is useful for backorders and dangerous if it was enabled by a bulk edit nobody remembers. Shopify's documentation oninventory statesis the reference for what each quantity actually means.
When the storefront is wrong for a boring reason
Two mundane causes are worth ruling out before a deep investigation. Pages can be cached briefly, so a product corrected sixty seconds ago may still render as sold out for a shopper and be fine in a private window. And if stock is synced from a POS, ERP, or marketplace app, the sold-out state may be an accurate reflection of what that system last sent, in which case editing Shopify directly is temporary at best.
Also confirm you are both looking at the same variant. A product page defaults to a specific option combination, and "the product is sold out" frequently means one size is, which is a different conversation.
The order to work through
Open the variant's inventory breakdown by location. Compare available against on hand. If they differ, the answer is committed or unavailable stock. If they match and the number is positive, the answer is the location — either its online fulfillment setting or its absence from the product entirely.
If both look right and the storefront still disagrees, the problem has moved downstream and the product isblocked somewhere else in the availability chain, most often publication or delivery configuration rather than inventory.