While Bold Bundles is set to the Variant Dependant Method, hidden bundle priced variants are created for each product that is in an active bundle group. These hidden variants are not visible on the product page. The hidden variants will only be seen on the cart page and checkout page when a bundle is either added into the cart from a product page, or when each product in the bundle are added to the cart individually.
This article only applies to the Variant Dependant Method of Bold Bundles. The Draft Orders Method does not have variant inventory to manually sync. Visit Discounting Methods & How-to Switch Methods in Bold Bundles for more information.
A hidden bundle variant is a duplicate of the original variant, known as the parent variant, with the bundle price applied. When a bundle variant is created, as long as the parent variant has inventory, then the bundle variant will have infinite inventory. The infinite inventory is marked as N/A ,and will deduct inventory from the parent variant when purchases are made.
When the parent variant runs out of inventory, the bundle variant(s) will show as 0.
When the parent variant gets more stock, the Sync Inventory button will have to be selected to set the variants inventory back to infinite. Using Sync Inventory will also set the bundle variants to 0 if the parent variant is already out of stock.
From the Bold Bundles admin, select Product Bundles. You will see the Sync Inventory button on this screen.
This button should be selected after you change the parent variant's stock level from 0 to a positive number, or if it's already at 0 and isn't displaying as sold out. Because bundle variants need to be created as having an inventory of N/A due to a Shopify API limitation, it's a good practice to select this button whenever creating or editing a Bundle group to ensure the bundle variants will have the appropriate inventory level.
It's also good to use the Sync Inventory button to avoid overselling on your store.
Bundles handles inventory within the limitations of the Shopify Framework. Because of this, there is the potential for an item to be oversold, but it will only happen once.
If only the original parent variant is being purchased, inventory is being counted toward that variant inventory. Generally, if they are trying to buy more than what is available, the checkout page would state that there isn't enough inventory and will reduce the quantity of the product.
When eligible for special bundle pricing, the customer is purchasing the bundle variant, the one where the inventory is N/A. Within Shopify, N/A means that the inventory is unlimited and not being tracked. Because that bundle variant is technically in stock, Shopify's inventory validation doesn't kick in.
After the sale, Bundles reduces the parent variant inventory by the quantity purchased. Once the parent variant has been reduced to zero, the bundle variant will switch from N/A to zero, making the product unavailable for purchase. Until this occurs the bundle variant is able to be purchased.
To better illustrate this, suppose a t-shirt has 3 in stock. When looking at the product within Shopify, it would look like this:
- shirt - 3 in stock
- shirt (bundle price) - N/A
If the first customer buys the shirt and nothing else, inventory is reduced as normal. The 3 now becomes 2.
When the next customer buys a bundle deal for 2 shirts, what they are actually purchasing is 2 of the bundle variant (the N/A variant one). After the sale, the parent variant is reduced by 2, down to zero. As the parent variant is now zero, the bundle variant is automatically switched from N/A to zero until stock is re-added.
If instead of 2, the second customer purchases 3 shirts, the same process happens. The order proceeds through as they are purchasing the N/A bundle variant that does not track inventory. After the sale, the parent variant is reduced from 2 down to -1. The bundle variant is also switched from N/A to zero, preventing any further items from being purchased.
There are a couple workarounds. One solution could be to display the parent inventory quantity on the product page to inform the customer how much stock is on hand. This doesn't prevent overselling, but the customer would know upfront what is available. Preventing overselling, even on bundle variants, could be done with some custom, theme-specific enhancements.