Product Bundles
Group two or more products into one offer with a single price: build a bundle, choose how the saving is worked out, add an image and link, and see how customers buy it in the cart, checkout and returns.
A bundle groups two or more of your products (with the variants and quantities you choose) into one offer. Customers see the price they pay, what the same items cost separately, and how much they save. You manage bundles on their own Bundles screen.
Availability: switched on per environment
Bundles sit behind a feature switch that is off by default, in the admin panel, the store and the order system, and BillionBiz turns it on environment by environment. It is on for BillionBiz's UAT test environment and not yet enabled for live stores, so the steps below apply to a store only once it is switched on for you. While it is off, customers cannot open a bundle page or add a bundle to their cart, even if you have built one; the Bundles block in the coupon form and the Bundles report stay hidden; and your products, cart and checkout behave exactly as before. If you build a bundle and customers cannot see it, see Troubleshooting below.
What you get
- A Bundles list with search, an All / Active / Inactive / Needs attention filter, and per-bundle edit, duplicate, activate/deactivate and delete.
- A builder with Bundle details, Components, Pricing, Coupons, Bundle image and Store link cards and a live Bundle preview.
- Two ways to set the saving on a new bundle: a percentage off or a set bundle price. Bundles created earlier with a fixed amount off keep that rule.
- A public bundle page at your store link, a bundle block on product pages, and bundle groups in the cart, checkout and order.
- A Product bundles card on the product edit screen showing which bundles include that product.
Open the Bundles screen
- Classic admin: Products → Bundles (the sidebar section that also holds Inventory).
- New admin: Bundles, in the catalogue group next to Products.
- Direct URL:
/bundles(list),/bundles/new(new bundle),/bundles/followed by the bundle id (edit).
The list shows one row per bundle with the columns Bundle, Status, Items, Price rule, Current price, Availability and Actions. A bundle shows Not on sale when it is inactive, and Out of stock, Only N left or N available from the stock of its components. With no bundles yet you see No bundles yet and a Create bundle button.
Create a bundle
Start a new bundle
Click Create bundle on the Bundles screen. You can also open a product's edit screen and use Create bundle (or Add to bundle if the product is already in one) on its Product bundles card; that opens the builder with the product pre-selected as a component.
Fill in Bundle details
Enter a Bundle name (required, the builder shows Enter a bundle name if empty). Status starts as Active (on sale); switch it to Inactive to keep the bundle hidden and not purchasable. Description (optional) is free text.
Add Components
In Components, use Search products to add to pick products. A bundle needs at least two components, otherwise the builder shows A bundle needs at least two components. For a product with variants, the row shows a variant drop-down headed Choose a variant, listing each active variant by its options (or SKU); it is required. If the product has exactly one active variant, the builder selects it for you. If you do not pick one and try to save, the row shows Choose a variant in red. Each row has a Quantity (whole numbers for piece-sold products, up to 3 decimals for products sold by unit; see Selling by Unit) and a Remove component button. A bundle can hold up to 50 component rows.
Choose the Pricing
In Pricing, pick one of two rules:
- Percentage off takes a Percentage off the item total (above 0 and up to 100).
- Set bundle price sets a Bundle price: shoppers pay this whatever the items cost, as long as it is below the item total.
A third rule, Fixed discount (a fixed Amount off the item total, tagged Legacy), is listed only when you open an older bundle that already uses it. New bundles cannot choose it.
If a set price is at or above the item total, the builder warns that shoppers would save nothing, and the bundle appears under Needs attention in the list, as does an active bundle with nothing in stock.
Decide about coupons
In Coupons, the switch Allow coupons on this bundle decides whether a shopper can stack a coupon on top of the bundle price.
Add a Bundle image (optional)
In Bundle image, click Upload image (JPG, PNG or WebP, under 20 MB; square works best). The image is used on the bundle page, the product page block and the cart. Replace image and Remove change it later. With no image, shoppers see a composite of the first four component images, which updates when you change the items.
Set the Store link
Store link holds the URL slug, the address of the bundle page. It is created from the bundle name and you can change it any time. Use lowercase letters, numbers and single hyphens only. If another bundle already uses it you see Already used by that bundle's name; otherwise it shows Available.
Check the preview and save
Bundle preview shows the Component subtotal, Bundle discount, Bundle price and the maximum number of bundles in stock. The bar at the bottom shows Unsaved changes, Fix the store link to save or an errors message. Click Save bundle (or Discard). A Bundle saved. message confirms it. If the server refuses the save because of a component (for example a product with variants saved without a variant), the builder shows the server's message in red under the offending row's variant or quantity field and also as a notice. Fix that row and save again.
Newly created bundles
A new bundle starts as Active, so it goes on sale as soon as you save it (and Bundles is switched on for the store). Choose Inactive in Status if you want to review it first. Duplicate in the list creates a copy named with "(copy)" that is inactive and has no store link yet, so you can review it before it goes on sale.
Show a bundle in a Product bundles section
To feature a bundle on a page of your online store, use the Product bundles section in the Store Editor.
- Go to Online Store → Store Editor and open the page. Choose Add section, type
bundlein the library's Search sections box, and click Add on the result. The result is the Featured Collection card with Product Bundles shown under its name, and Add inserts the Product bundles variant. (Alternatively select a Product bundles section already on the page.) - On the Content tab, open Content details → Bundles. Each entry in the list has a Managed bundle field.
- Click Choose bundle, search by name and select the bundle. Only Active bundles appear in the search. The field then shows the chosen bundle; use Remove bundle to clear it, then save and publish.
With a managed bundle chosen, the storefront shows that bundle with its live price. Leaving Managed bundle empty keeps the older manual entry (Bundle title, Products in this bundle, Bundle price, Compare-at price, Discount badge (%)). The section stays hidden on the live store until the list has at least one entry. Bundles are always live: there is no pinned mode, so price changes you make to the bundle show at once.
Which price the card shows. On the published storefront, a card with a managed bundle ignores the price fields you typed: it shows the bundle's current price from the bundle itself. When the bundle saves money, the card also shows the total of the items bought separately as the struck-through compare-at price, and a Save N% badge recalculated from that saving. If the bundle cannot be loaded (deactivated, deleted, or a network problem), the card falls back to the typed Bundle price, Compare-at price and Discount badge (%). Cards without a managed bundle always show the typed values. The Store Editor canvas preview renders your draft, so it shows the typed price, not the live one.
Manage existing bundles
On each row of the list, Actions has:
- Edit opens the builder.
- Duplicate copies the bundle as an inactive bundle.
- Activate / Deactivate with a confirmation. Deactivating stops the bundle showing on product pages and it can no longer be bought. A bundle already in a shopper's cart loses its bundle price (the cart shows This bundle was changed).
- Delete with a confirmation. The bundle no longer appears on product pages.
How customers see a bundle
Everything below only happens once Bundles is switched on for your store.
- Product page. The product page can show a bundle block with the bundle price, the price of the items separately (struck through) and a savings chip, plus how many sets are in stock. When stock is 0 it shows Currently unavailable and the button is disabled. (Whether the block shows is controlled by Show product bundles and Bundle placement in the Store Editor's product-page settings.)
- Bundle page. The bundle's store link opens
/bundles/followed by the slug. It shows the image, each component with its variant and quantity, the standalone and bundle prices, Save amount, a set counter (up to the number of sets in stock) and Add bundle. An inactive or fully out-of-stock bundle shows Currently unavailable; a component that is off shows Unavailable or Out of stock; an unknown address shows This bundle could not be found. - Cart and cart drawer. The bundle group card lists its items, each as quantity times price with the price before the bundle saving struck through beside the price after it, plus a Save chip, a set stepper and Remove bundle. Inside an intact group the individual items have no quantity stepper and no remove button: a shopper changes the number of sets or removes the whole bundle, never one component. The summary's Bundle savings row is informational: it shows the amount without a minus sign, because the cart subtotal and total are already net of the saving. Do not subtract it again.
- Checkout and order. Checkout groups the bundle lines with their net line totals and a Bundle savings line; totals include the bundle price. The order confirmation page and the order detail page both show a card for each bundle purchase, with You saved when there is a saving and each item's original line total struck through beside its net line total when available. Components appear once inside their card; separately bought items remain outside the cards. On the confirmation page the Subtotal is the sum of the item lines (not the grand total).
If the bundle changes while it is in a cart
- The bundle is no longer intact in the cart (its cart lines no longer exactly match the bundle's items and quantities, for example because the bundle was deactivated or edited): the group shows This bundle was changed with the note that the bundle price no longer applies and a Restore button. The items drop out of the group and stay in the cart as ordinary lines at their normal prices until the shopper presses Restore, which puts the whole bundle back at its current count. Changing the number of sets on a changed bundle is refused with "This bundle was changed in your cart. Restore it to continue."
- You edit the bundle (its items or price) after a shopper added it: the shopper sees "(bundle name) was updated. The new price is ..." with Accept new price. If they try to pay before accepting, checkout stops with "A bundle in your cart was updated. Review the new price in your cart." and returns them to the cart.
- You deactivate the bundle while it is in a cart: the group is treated as changed and loses the bundle price.
Coupons
If you leave Allow coupons on this bundle off, bundle lines are not eligible for coupons. You can also limit a coupon by bundle in the coupon form itself.
- Go to Coupons and click New coupon (or edit an existing one). Classic admin opens a dialog; new admin opens the coupon editor page.
- Find the Bundles block. It appears only when Bundles is switched on for your store and you have at least one Active bundle; otherwise the coupon form has no bundle controls.
- Set Applies to:
- Whole order (default) shows an Exclude bundles switch ("Do not apply this coupon to bundle purchases"). Turn it on and the coupon never discounts bundle lines.
- Selected bundles only shows the Bundles list (a multi-select in the dialog, checkboxes in the editor page). The coupon then discounts only those bundles. Choose at least one, otherwise saving shows Choose at least one bundle.
- Save the coupon. A bundle you deactivate later stays listed on a coupon that already selects it, but it can no longer be bought.
A customer applying such a code in the wrong situation sees This code only applies to specific bundles. Add one of those bundles to use it. or This code does not apply to bundles. It only works on items outside a bundle. In the public coupon list, such codes are marked "Applies only to (bundle names)" or "Not valid on bundles". See Coupons for the regular coupon screen.
Returns and refunds
Each bundle item is a normal order line. In every return form a customer ticks the purchased lines they want to send back, including a single line of a bundle, and chooses a Return quantity for each. Each returned line's refund is based on its allocated net amount: its price after the bundle saving, less its share of any coupon, scaled to the quantity returned and capped at what remains refundable on that line. Earlier refunds and returns reduce the remaining amount. Admin refunds and customer returns share the same remaining balance for the order and its purchased lines; using a different route cannot refund the same money again. The combined refund cannot exceed what the customer actually paid.
In Orders, the order detail shows each bundle purchase as a group with its components' allocated net amounts; see Bundles on an order. Returns customers file from the storefront order page appear in Shipment → Return Requests, where you approve, reject and complete them; see Customer returns.
To start a refund yourself, go to Orders, open the order, and select Initiate Refund (Issue refund in the newer admin skin). Select the purchased components, review the maximum, and enter a lower amount if needed. See Partial refunds for the full steps and error explanations. Customers use My Orders → order detail → Request return, then choose the items on the return page; see Returning items from a bundle.
Why can't I refund more on this line? The remaining limit belongs to that purchased line, after bundle savings, coupon discounts, and earlier refunds or returns. Another item's unused balance cannot increase it. Review the selected lines and lower the amount to the remaining limit; do not use the component's regular selling price as the refund amount.
Buying again
Reorder on an old order adds a bundle back as a bundle only when it is still active and all components are available. Otherwise its items are added individually and the customer sees "(bundle name) is no longer available as a bundle, so its items were added individually."
Troubleshooting
Why don't customers see my bundle? Check in this order:
- Bundles may not be switched on for your store yet (see the note at the top). Until then no bundle page or button appears.
- Status must be Active. New bundles start Active, so check it was not switched to Inactive or deactivated from the list.
- The bundle needs a Store link; without one there is no bundle page address.
- Every component must be active and in stock. If any component has no stock, the bundle shows Currently unavailable and cannot be added.
- On product pages, Show product bundles must be on, and the product must be one of the bundle's components.
The bundle is in the list under Needs attention. There are two causes:
- Its set price is at or above the current item total, so shoppers would save nothing. Lower the Bundle price or switch to a percentage discount.
- It is Active but has 0 availability because a component is out of stock. Restock the component, or deactivate the bundle until you can.
My Product bundles section shows nothing. Check that the section has at least one entry, that the entry's Managed bundle is chosen, that the bundle is Active (inactive bundles are not offered in the picker and a bundle you deactivate later stops showing), that it has a Store link, that none of its component products was deleted or is out of stock, and that you saved and published the page. Bundles must also be switched on for your store.
A shopper lost the bundle price in their cart. The bundle was deactivated, edited, or a component stopped being available. Ask them to use Restore in the cart, or check the bundle is still Active and in stock.
A coupon is rejected on a bundle. Check Allow coupons on this bundle, and open the coupon's Bundles block: Selected bundles only limits it to the bundles listed, and Exclude bundles keeps it off every bundle.
The Bundles block is missing from my coupon form. It shows only when Bundles is switched on for your store and at least one bundle is Active.
Why does the storefront price differ from what I typed on the card? The card is linked to a managed bundle, so the storefront shows the bundle's own price (and a recomputed saving and Save N% badge). Change the price on the bundle under Bundles, not on the card. The typed fields only apply if the bundle cannot be loaded, or if the card has no managed bundle.
Why does the editor preview show a different price from the live store? The preview shows the typed draft values; the live price is fetched from the bundle only on the published storefront. Open the published page to see what shoppers see.
I changed the price and customers still see the old one. Customers who already added the bundle see Accept new price in their cart; new visitors see the new price right away.