Troubleshooting bundles not breaking down at checkout
Running into issues with your bundle not breaking down correctly during checkout using Simple Bundles 2.0? Understanding the root cause is key to finding the right solution, as each scenario requires a different approach. This guide walks you through the most common causes and what you can do to resolve each one.
Common reasons why the bundle is not breaking down at checkout
- The Cart Transform function is not running
- Syncing updates with Shopify
- Empty bundle inside another bundle
- Cart drawer or theme compatibility
- Bundle options not linked to products
- App block or embed system issues (Infinite options bundle)
- Empty option name (Infinite options bundle)
- Double quotes in option names (Infinite options bundle)
- Nested bundle level exceeds 10
- Quick view or quick add to cart outside product page (Infinite options bundle)
- Recent migration to Simple Bundles V2.0 with manual installation
- The cart transform function is not running.
- FAQ
Understanding the root cause is key to finding the right solution, as each scenario requires a different approach. In this article, we'll walk you through the most common causes and what you can do to resolve each one.
The Cart Transform function is not running
The Cart Transform function used by Simple Bundles 2.0 only works for orders processed through Shopify Checkout. If it isn’t running, the order is likely coming from a source that doesn’t support Shopify Checkout, such as:
- Subscription orders (e.g., processed through subscription apps)
- Third-party sales channels (e.g., external marketplaces)
- Third-party apps importing orders from another platform
When the Cart Transform function fails to execute, the parent bundle won’t break down into its individual SKUs during checkout. As a result, your Shopify order will only show the parent bundle instead of the full list of bundled items.
How Simple Bundles handles it: Fallback methods
To keep these orders processing smoothly, Simple Bundles automatically falls back to the order editing method. This method adds the child SKUs to the order after checkout so your fulfillment and inventory stay accurate. If Shopify doesn’t allow the order to be edited, Simple Bundles will automatically create a new associated order that includes the bundle contents.
If you prefer not to use the order editing fallback, you can enable the single-SKU inventory sync option. This method keeps only the parent bundle visible in the order and does not add individual SKUs after checkout. Instead, it simply updates inventory levels for the bundle components when the bundle is purchased.
Cart transform vs. Order editing vs. Single-SKU: Comparison
| Method | When it’s used | What it does | Visibility at checkout | Best for |
| Cart Transform | When Shopify Checkout supports the Cart Transform API | Breaks down the bundle into individual SKUs during checkout | Shows all SKUs in the cart and order | Merchants who want itemized SKUs visible during checkout |
| Order Editing | When Cart Transform can’t run (e.g., subscription orders, third-party channels) | Adds child SKUs to the order after checkout | Parent bundle shows at checkout; SKUs appear post-purchase | Merchants who want accurate fulfillment and inventory for unsupported checkouts |
| Single-SKU Inventory Sync | When you prefer not to break down the bundle | Keeps only the parent bundle visible and adjusts inventory counts for all child SKUs automatically | Shows only the parent bundle in cart and order. Option available to itemize bundle child SKUs on packing slips for fulfillment. | Merchants who don’t need itemized breakdowns but require synced inventory for each individual SKU when the bundle is purchased. |
How to adjust fallback settings
You can manage these settings under:
Settings → Advanced Settings → Manage Cart transform → Order processing when the cart transform function doesn’t run
Syncing updates with Shopify
If you’ve made changes in the Simple Bundles app such as updating prices, editing bundle components, or ensuring metafields are correctly applied, you’ll need to manually trigger a sync to reflect those updates in Shopify.
1. Open the updated bundle in the Simple Bundles app
2. Click More Actions → Re-sync with Shopify
3. Wait a few moments for the sync to complete
Empty bundle inside another bundle
If you're trying to create a nested bundle, ensure that each level contains its bundle content. To ensure nested bundles (a bundle within another bundle) display correctly:
- Open the bundle and select a product.
- In the Shopify product dashboard, choose "More actions" > "Edit bundle" via Simple Bundle.
- If it's a bundle, it will open in the Simple Bundle dashboard. Ensure it's not empty.
Cart drawer or theme compatibility
Certain theme developers or third-party cart drawer apps may not add properties to the cart during the POST method execution, preventing proper breakdown. Follow our technical guide for step-by-step instructions.
Bundle options not linked to products
If a bundle option is missing assigned products, the dropdown selections in your Infinite Options bundle may appear greyed out and show as out of stock. In some cases, the dropdown may still be selectable, but the bundle will not break down correctly at checkout. This typically occurs when an option was created, but no products were assigned to it behind the scenes.
You will also see a warning banner within your bundle details page indicating that some bundle items are no longer properly connected. Click on Switch to Manual Build from the yellow banner to go directly to bundle configuration.
To fix:
- Click Switch to Manual Build from the yellow banner to go directly to your bundle configuration, or switch directly to the manual build method.
- Review each option; Look through each option with missing products
- Add the appropriate products to the affected options.
- Click Save to apply the changes.
Note: Once you save a bundle using manual build, you must continue using that method for any future changes. Switching back to quick build may remove previously added products.
App block or embed system issues (Infinite options bundle)
Ensure the app block or embed system is rendered inside a <form> element in the HTML structure of your theme. Test by enabling only the app block or embed system separately.
Empty option name (Infinite options bundle)
Ensure option names are assigned, as they are crucial when products are added to the cart.
Double quotes in option names (Infinite options bundle)
Avoid using double quotes in option names, as they can disrupt the rendering process. Instead, use single quotes or other alternatives to prevent interference with the HTML attributes.
Example of use with double quotes:
Rendered attributes:
Nested bundle level exceeds 10
Avoid creating bundles with more than 10 levels. If you surpass this limit, the bundle content will only break down to the 10th level.
Quick view or quick add to cart outside product page (Infinite options bundle)
If you are using Quick View or Quick add to cart buttons, make sure to omit the infinite options bundle, since drop-downs are usually not shown in these sections and, as a result, the bundle can be added without options selected.
For more information, you may refer to this guide: Quick "Add to cart" and infinite option bundles: What you need to know
Recent migration to Simple Bundles V2.0 with manual installation
If you've recently migrated to version 2.0 and experience issues with your manual installation of infinite options bundle, follow these steps:
Paste the following code at the end of the "simple-bundles-options.liquid" file in your theme.
<script>
(function() {
// function to update the hidden input value
function updateHiddenInputValue() {
var selects = document.querySelectorAll('#{{ div_id }} select');
var values = [];
selects.forEach(function(select) {
var selectedOption = select.options[select.selectedIndex];
if (selectedOption) {
values.push(selectedOption.value);
}
});
if (values.length === 0) {
return;
}
var hiddenInputValue = values.join(' <> ');
var hiddenInput = document.querySelector('#{{ div_id }} input[name="properties[_bundle_selection]"]');
if (!hiddenInput) {
hiddenInput = document.createElement('input');
hiddenInput.type = 'hidden';
hiddenInput.name = 'properties[_bundle_selection]';
document.getElementById('{{ div_id }}').appendChild(hiddenInput);
}
hiddenInput.value = hiddenInputValue;
}
// call the function initially to update the hidden input value
window.addEventListener('pageshow', updateHiddenInputValue);
// listen for changes on each select element and update the hidden input value
var selects = document.querySelectorAll('#{{ div_id }} select');
selects.forEach(function(select) {
select.addEventListener('change', updateHiddenInputValue);
});
})();
</script>
Bundle contents not included in any sales channels
If you don't want to sell your products individually in your store and have disabled the Online Store channel for the items, this can cause issues breaking down items at checkout. Instead, you can set the status to Draft and enable the Online Store channel.

Frequently asked questions
Is there an alternative to the order editing method?
Yes. You can enable the single-SKU inventory sync option instead. This method keeps only the parent bundle visible in the order while still updating inventory for the child SKUs. You can also show itemized child items on your packing slips for fulfillment. This can be enabled under Settings → Advanced Settings → Order Editing and Cart Transform Fallbacks.
Why was a new order created with an “A” suffix?
This occurs only when the original order cannot be edited by Shopify. In these cases, Simple Bundles creates an associated order marked with an “A” suffix. This new order contains the bundle components to keep your fulfillment and inventory accurate.
Need Help?
If you’re still experiencing issues after working through this guide, don’t hesitate to reach out to our support team at hello@simplebundles.io. We’re always happy to help!