Quick answer
If Shopify shows Sold out when inventory exists, the storefront is usually not seeing sellable inventory for the selected variant, location, market, or fulfillment path. Do not start by changing the button text. Start by checking where the inventory is available, whether that location can fulfill online orders, whether the product is published to the Online Store, and whether the theme is reading the correct variant.
Fix Radar
Difficulty: ★★★☆☆
Time to diagnose: 10–25 minutes
Usually caused by: inventory location setup, app-managed inventory, variant selection, Markets/fulfillment mismatch, or theme availability logic.
The real symptom
The admin shows stock, but the storefront says the product or selected variant is sold out. Sometimes every new product is affected. Other times only products from a dropshipping, POD, POS, or app-managed fulfillment source show as unavailable. A variant can also look available in admin while the storefront’s default variant is actually out of stock.
Why this happens
Shopify does not only ask, “Does this product have a number greater than zero?” It asks whether the selected variant has inventory available through a location or fulfillment service that can serve the storefront context. If inventory is sitting at a location that does not fulfill online orders, or an app sync created stock in the wrong place, the product can look stocked internally but unavailable to the customer.
Most likely causes
- Inventory is assigned to the wrong location. This is the most common pattern in older and newer Community threads.
- The location is active but does not fulfill online orders. Stock can exist there without being sellable through the Online Store.
- The default variant is sold out. The product may have stock on another variant, but the page loads an unavailable variant first.
- A dropshipping, POD, POS, or fulfillment app owns the inventory state. The app may need to be resynced, or the product may need to be connected to the right app-managed location.
- The product is not available on the Online Store sales channel or the relevant Market.
- The theme or app overrides availability text. A stale product form or custom availability snippet can show the wrong state.
Confirmed Community fix
The durable Community fix is to check inventory at the location level, not just on the product screen. Multiple threads identify location/fulfillment setup as the reason stocked products still show as sold out. Recent threads also show the same pattern with dropshipping and POD apps: the visible inventory number is not enough if the inventory is not assigned to the active fulfillment path.
Exact admin path
Product availability: Shopify admin → Products → open the product → confirm status is Active and Sales channels include Online Store.
Variant inventory: Products → open product → Variants → open affected variant → Inventory.
Locations: Settings → Locations → open the location → confirm it is active and can fulfill online orders.
Inventory view: Products → Inventory → filter by product and location → verify available quantity for the affected variant.
Markets: Settings → Markets → open the relevant market → confirm product availability and shipping coverage.
Liquid check
Use this only in a duplicated theme or temporary debug block. It tells you whether Liquid thinks the selected/current variant is available.
Product available: {{ product.available }}
Selected variant: {{ product.selected_or_first_available_variant.title }}
Variant available: {{ product.selected_or_first_available_variant.available }}
Variant inventory quantity: {{ product.selected_or_first_available_variant.inventory_quantity }}
Inventory policy: {{ product.selected_or_first_available_variant.inventory_policy }}
Inventory management: {{ product.selected_or_first_available_variant.inventory_management }}
DevTools check
If the button changes only after selecting another variant, inspect the variant picker. The theme may be loading an out-of-stock default variant or failing to update the button state after option changes.
Before you edit code
Duplicate the theme and test the product in a clean current Shopify theme. If the product is available in a fresh theme but sold out in the live theme, the issue is likely custom theme code or an app overlay. If it is sold out in both themes, start with product, variant, location, market, and app inventory settings.
Do not do this
- Do not simply change the Sold Out translation to Available.
- Do not enable “continue selling when out of stock” as a permanent fix unless overselling is acceptable.
- Do not edit the product template before checking location-level inventory.
How to test the fix
- Test one affected variant, not only the product parent.
- Switch storefront variants and watch the button state.
- Test the same product in a duplicated clean theme.
- Place a test checkout with the customer’s market/address if the issue is regional.
- Re-sync the connected fulfillment app only after the Shopify location setup is correct.
Sources and further reading
- Shopify Community: items showing as Sold Out when inventory is available
- Shopify Community: products showing as sold out despite available stock
- Shopify Community: every new product listed as Sold Out
- Shopify Community: item shows sold out even though inventory is available
- Shopify Help: multi-managed inventory
- Shopify Help: inventory states

