← All notes

Why is a Shopify product with inventory still unavailable to customers?

Work out whether a product is hidden from shoppers or blocked at checkout, then check publication, markets, sellable stock, and delivery in the order that finds the cause fastest.

Stock was received on Monday and counted into Shopify. On Friday a customer writes to ask when the item is coming back. The product editor shows an active product with units on hand, so the obvious conclusion is that the customer is wrong. Usually they are not.

Nothing in Shopify stores a single value called available. What a shopper can buy is the result of several independent settings agreeing with each other, and those settings live in at least four different parts of the admin. A product record that looks correct on its own page tells you almost nothing about the result.

First decide which kind of failure you are looking at

There are two, and they need different investigations. In the first, the product never appears: it is not published to the sales channel, or it is outside the catalog serving that customer's market. In the second, the product appears and can be added to a cart, but checkout offers no way to get it to the address — no stock at a location that can ship online, or no delivery rate covering the destination.

Ask the customer what they actually saw. A page that cannot be found and a checkout that refuses to complete are not the same complaint, and treating them as one is how an afternoon disappears.

Publication is the boring answer, and it is often the right one

Products created through an import, a duplicate, or an app are frequently not published to the Online Store channel. Nothing about the product page in the admin makes this obvious, and the inventory number stays reassuring. If the page cannot be reached at all, work throughwhy a Shopify product is not showing on the online storebefore looking anywhere else.

Markets add a second layer that catches people out. A product can be published to the Online Store and still be missing from the catalog that serves a particular country, which means it exists for domestic shoppers and not for the ones asking. Availability is always a claim about a destination, never about a product in isolation.

Restate the question with a country in it. "Is this product available?" cannot be answered. "Can a shopper in Canada buy this variant today?" can be, and every check below has a different result depending on which country you named.

On hand is not the number that sells

Shopify tracks inventory in several states. Units can be on hand and simultaneously committed to unfulfilled orders, reserved, or marked unavailable, leaving nothing available for a new sale. A product with six on hand and zero available will read as in stock in a spreadsheet and as sold out on the storefront, and both are accurate. The full set of causes is inwhy Shopify shows a product as sold out when inventory is not zero.

Then there is where the stock is. Inventory held only at a retail location that does not fulfill online orders cannot be sold online, no matter how large the number. The same applies to a location that is inactive, or an inventory item that was never activated at the location you assumed it was counted into. Check which location holds the available units before checking anything else about shipping.

Delivery settings fail last and quietly

The final step is the one most stores never look at, because it is invisible until someone tries to check out. The location holding your available stock must belong to the delivery profile that governs this product, that profile must have rates for the location group, a zone must include the destination country, and that zone must contain an active method.

When this is where it breaks, the customer usually reaches checkout and is told there is nothing to ship with — the causes are collected inwhy Shopify checkout says no shipping rates are available. Every one of those can be true for your home country and false for the market you added last quarter. A new delivery profile created for oversized items, a second warehouse that was never added to a location group, a zone built before you started selling abroad — none of them look like a mistake in isolation.

What to do with the answer

Fix one thing, then look again rather than changing four settings at once. Publishing a product often reveals a second blocker that was hiding behind the first, and a store that made four simultaneous changes has no idea which one mattered.

Finish with a real test. Put the variant in a cart with a representative address in the country you were asked about and take it to the shipping step. Static configuration can look complete while a carrier-calculated rate returns nothing for that specific postal code, and only an address finds that.