If your bundle shows as sold out - or its Add to Cart button appears greyed out or disabled - even though every component product has stock, the cause is almost always Shopify's contextual availability. A key clue is that it usually affects only some customers, such as those shopping from a particular country or market.
[SCREENSHOT - Storefront bundle product page with the Add to Cart button greyed out or showing "Sold Out", while the component products still have stock]
This article focuses on Markets, Locations, and Shipping. For the full overview of every sold out state (including inventory tracking and app conflicts), see Bundle displaying sold out.
Shopify decides whether a product can be purchased by each individual visitor, not just whether it exists. For every visitor, it checks:
Market - which market the customer is shopping in, and whether the product is published to that market's catalog.
Locations - whether the product is stocked at a location that can fulfil orders for that customer.
Shipping - whether a valid shipping rate exists to the customer's destination.
A Biscuits bundle inherits its availability from its required component products. If even one required component is unavailable to a given visitor, the whole bundle shows as sold out for that visitor - while still working normally for everyone else.
This is why a bundle can look sold out to a customer in one country but be perfectly purchasable in another.
Shopify refers to this concept as fulfillable inventory - a product is only purchasable when it has stock at a location that can ship to the customer. For background, see Shopify's guides: Setting up fulfillable inventory and Understanding inventory states.
Sold out for all visitors - this is usually the bundle parent product having 'track inventory' switched on, or the shops main location is not enabled for the bundle. See Bundle displaying sold out.
Sold out only for certain countries or markets - this is contextual availability. Work through the causes below.
Shopify only treats a product as available if it has stock at a location that can ship to the customer's region. If the bundle or its components aren't assigned to such a location, the bundle reads as sold out for those customers.
How to fix:
In the Biscuits Bundles app, open the bundle and check the Locations card. Enable all relevant locations, then save.
In Shopify, open each component product, go to Inventory, and confirm it is stocked at a location that fulfils the affected region.
[SCREENSHOT - Biscuits Bundles app: the Locations card on a bundle with all relevant locations ticked]
[SCREENSHOT - Shopify product page Inventory section showing stock quantities across multiple locations]
If a location won't assign to the bundle (this can happen with legacy locations), add an SKU to the bundle product and try again.
If a market is active but the component product isn't included in that market's catalog (or isn't published to the relevant sales channel), Shopify treats it as unavailable for customers in that market.
How to fix:
Go to Settings > Markets and confirm the affected market is active.
Check that each component product is included in that market's catalog or price list.
Confirm each component is published to the Online Store and any other relevant sales channels.
For more detail, see Shopify's guides on publishing products with international sales tools and creating catalogs to use with Markets.
[SCREENSHOT - Shopify Settings > Markets showing the affected market active and the product included in its catalog]
By default, Shopify assigns all native bundle products to the general (default) shipping profile, and they can't be moved to another profile. If that profile has no valid rate for the customer's destination, the bundle can't be purchased and may display as sold out.
How to fix:
Open Settings > Shipping and delivery in your Shopify admin.
Open the Default (general) shipping profile.
Confirm it has valid shipping rates covering every market and location where you want the bundle to be available.
[SCREENSHOT - Shopify Settings > Shipping and delivery: the General/Default profile showing its shipping zones and rates]
Reproduce the issue as a shopper in the affected market, in one of two ways:
Add ?country= plus the two-letter country code to the bundle URL, for example https://yourstore.com/products/your-bundle?country=DE for Germany. This works if you have a Market or country set up for that region.
Or open the theme editor and switch the preview's country/market selector to the affected market, then view the bundle. The Add to Cart state reflects that market.
Always check the component product's availability, not just the bundle parent.
Open the bundle in the theme editor to see the detailed sold out reason. See Bundle Form Errors for what each message means.
[SCREENSHOT - Storefront country/market selector switched to the affected country]
[SCREENSHOT - Theme editor showing the detailed sold-out reason on the Biscuits bundle form]
For the bundle and every required component product, confirm:
The component is Active and published to the Online Store.
The component is published to each relevant Market and included in its catalog.
The component is stocked at a Location that serves the customer's region.
The general (default) shipping profile has valid rates for those markets and locations.
The bundle parent product has 'track inventory' set to false.
If you've worked through the above and the bundle still shows as sold out, reach out and we'll help. To speed things up, please include your store URL, the bundle product URL, and the specific country or market where the issue happens.