Back to Blogs
Oct 17, 2026
5 min read

Shopify Inventory: Why On Hand Can Look Sold Out

Shopify Inventory: Why On Hand Can Look Sold Out

Shopify inventory across locations can say you have stock in a warehouse while your storefront says “sold out.” The likely explanation is not the product-card design: inventory is tracked separately by location, and only certain active, online-fulfillment locations contribute to online availability. Fix location activation and routing before changing the theme or installing another inventory widget.

How does Shopify multi-location inventory work?

Each location has its own quantity and fulfillment settings. According to Shopify's location-inventory guide says quantities are not pooled as one interchangeable bin. A product can have on-hand stock at a location yet be inactive there; in that case its Available value can appear as a dash and it cannot be sold or fulfilled from that location.

There is another distinction: a retail-only location might contribute to your total inventory but not your online quantity. Shopify says the online quantity determines whether the product appears available to online shoppers. If someone sees 20 units in a stockroom and zero online, check whether that stockroom is allowed to fulfill online orders and whether the variant is active there.

Why does a product show stock but look sold out online?

Work from product assignment outward, not from CSS inward. Run 2 tests: one with an online-fulfillment location and one with a retail-only location. Check these six layers:

  1. Variant tracking. Open the exact variant, not only the parent product. Check whether inventory is tracked and whether the intended location has units for that variant.
  2. Location activation. Confirm the product is active at that location. Shopify says a newly created location starts with zero inventory and products need to be activated and stocked appropriately.
  3. Online fulfillment setting. In Settings → Locations, check whether the location can fulfill online orders. Turning that off excludes its units from the online quantity.
  4. Shipping and routing. A location might have stock but lack the applicable delivery method, shipping profile or service route for a buyer's address.
  5. Reserved or committed units. Compare On hand with Available rather than assuming they are identical. Orders and other inventory states can remove units from the sellable count.
  6. Draft-theme comparison. If all inventory settings check out but only one template displays “sold out,” test another theme with the same variant and market before escalating a storefront display issue.

Shopify's location-fulfillment documentation says orders are assigned based on available inventory and the configured routing rules. By default, geographic proximity is not automatically the priority. The “Ship from closest location” rule must be configured if that is the behavior you want.

What happens when no location can fulfill the whole order?

Shopify can split an order or oversell at a priority location, depending on routing and stock. In Shopify's example, one location has 1 shirt and another has 2. An order for 2 shirts goes to the second location because it can fulfill the line. An order for 3 can oversell the highest-priority location, leaving a negative quantity there. That example is in the official routing guide, not a promise that Shopify will always split in the way a merchant expects.

A simplified diagnostic table makes the next action clearer:

What you seeLikely layerFirst check
On hand is positive; Available is a dashProduct-location activationActivate the variant at the location
Total stock positive; online quantity zeroOnline fulfillment eligibilityCheck location's online setting
Orders ship from a distant warehouseRouting priorityReview routing rules and proximity option
One location goes negativeOrder assignment and insufficient stockInspect split and oversell rules
On hand is positive; Available is a dash
Likely layerProduct-location activation
First checkActivate the variant at the location
Total stock positive; online quantity zero
Likely layerOnline fulfillment eligibility
First checkCheck location's online setting
Orders ship from a distant warehouse
Likely layerRouting priority
First checkReview routing rules and proximity option
One location goes negative
Likely layerOrder assignment and insufficient stock
First checkInspect split and oversell rules

Treat these as starting points, not guaranteed diagnoses. Your fulfillment app, profiles and market configuration can add more constraints.

How should you handle inventory transfers?

A transfer records movement; it does not automatically repair every selling permission. Check 3 cases after a transfer: physical receipt, variant activation and online-fulfillment eligibility. Shopify's assignment guide notes that receiving stock or transferring it to a location can leave an On hand value while Available remains a dash if the variant is inactive at that location. After receiving a transfer, verify both physical receipt and location activation before announcing that the product is back online.

For a two-warehouse merchant, write down which site should receive stock first, whether the nearest warehouse should win, and what happens when an order has items stored in different places. Test a cart containing two different products and a cart with multiple units of one variant. Shipping cost and delivery promise can change when an order splits; a theme's “in stock” badge alone cannot explain the route.

We checked Shopify's current location and order-routing guidance, not a merchant's admin settings. Shoptimity's themes can display availability clearly, but they cannot invent sellable units at an inactive location. For the storefront/platform boundary, see theme versus app; for delivery-rule checks, see our shipping-bar diagnostic. Fix the source inventory state first, then review the display.

Does stock at a retail-only location make a product available online?
Not necessarily. Shopify says stock at a location that does not fulfill online orders can be included in total inventory without contributing to online quantity. Check the location's online-fulfillment setting and the variant's activation.
Why is Available a dash when On hand shows units?
The product can be inactive at that location even though physical units are recorded. Activate the product for that location where appropriate, then verify that it is permitted to fulfill online orders.
Will Shopify always use the nearest warehouse?
No. Shopify says proximity is not the default priority. Configure the “Ship from closest location” rule if it fits your operation, and test it with real delivery addresses and mixed carts.
Can an order make a location's stock negative?
Yes. Shopify's routing documentation describes circumstances where an order can oversell the highest-priority stocked location if no location can fulfill the line completely. Review the chosen route and your inventory settings before blaming the theme.

Ready to build a faster, higher-converting store?

Every Shoptimity theme ships with conversion widgets built in — so you get speed and features without stacking apps.

7-day free trial · all themes included · cancel anytime