=== BundleBoss - Product Bundles, Mix and Match & Build a Box for WooCommerce ===
Contributors: bundleboss
Tags: product bundles, mix and match, build a box, bundle discount, product configurator
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 8.0
Stable tag: 6.2.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Product bundles for WooCommerce: mix and match, build a box and kits. Customers pick each item's size and colour, buy the lot as one order.

== Description ==

BundleBoss is **one plugin instead of three**: deal packs, configurable kits and build-your-own boxes all live here, so you are not stitching separate bundle, mix-and-match and composite plugins together. And it starts simple: **a first bundle takes about two minutes**, timed from a fresh install to published on a stock store.

Here is what sets it apart: most bundle plugins lock every slot. BundleBoss is built around customer choice from the first click. The free plugin groups products into a "buy these together and save" pack and lets customers pick the size and colour of **every unit**, buying the lot as one cart line. **If you can describe the bundle, you can probably build it here.** That is why shops run it for deal packs, configurable products, build-your-own kits, gift sets, and team kit and workwear.

See BundleBoss build a bundle in two minutes:

https://youtu.be/x4hHrSH0xq4

**Try it live:** [demo.bossmage.com](https://demo.bossmage.com) is a full demo store running Pro, with build-a-box discounts, a PC configurator and more. Click around and build things, nothing breaks.

Prefer reading? The step-by-step guides are at [bossmage.com/docs/bundleboss](https://bossmage.com/docs/bundleboss/).

= What is free and what is Pro =

The free plugin is the complete fixed-bundle product, not a demo and not a trial. You choose what goes in the bundle; your customer configures every unit of it and buys the lot as one cart line.

**Free includes:**

* **Per-unit configuration**: the customer sets the size, colour and options of every unit, restricted to the variations you allow
* **Three pricing modes** (percentage off, set amount off, fixed price), plus quantity tier discounts
* **Bundle rules**: quantity ranges per item, optional items customers can skip
* **A guided creation wizard**: pick what you are making, add products, preview, and create, no manual field wrangling
* **A guided product page**: per-item cards, colour swatches, the "All the same" shortcut, three unit layouts
* **Promotions**: sale countdown timer, related-bundles carousel, the progress-to-discount cart nudge
* **Oversell-proof stock** and fulfilment-ready orders with a component pick list
* **Store plumbing**: shipping weight modes, Cart and Checkout blocks, WPML and Polylang, JSON export and import
* **Item links, if you want them**: an optional small arrow beside each item name opens the product's own page in a new tab, so customers can check details without losing their bundle

**Pro adds the Builder and the selling tools:**

* **Choice slots**: customers pick each component from pools you define, with compatibility and quantity rules and conditional items, all enforced on the server
* **Two more layouts**: the full-page Configurator and a step-by-step walkthrough
* **Build-a-box (mix and match)**: a box builder for a custom gift box, a wine box or a hamper the customer fills themselves, from a pool with a target size and per-product limits
* **Self-updating category pools**: point a choice slot or box at a product category instead of a fixed list, and it stays current, a product added to that category later shows up in the slot automatically
* **Size-run quantity grid** for bundle items: a colours-by-sizes matrix for bulk orders
* **Per-item personalisation** with fees, plus logo and file upload with GDPR export and erase
* **Order growers**: frequently bought together (on the page and in the cart), buy X get Y, gift mode
* **Shareable build links** (any shop can open one; creating them is Pro), hero slots, deal badges, and the Composite Products importer

> **Ready to grow every order?** [BundleBoss Pro](https://bossmage.com/bundleboss/#pricing) has a 14-day trial, no card needed. Upgrading keeps every bundle you built in the free plugin.

When you find something BundleBoss does not do yet, tell us. We are small, we ship often, and we build what shop owners actually ask for (see "Tell us what you need" below).

= The free plugin, in detail =

* **Per-unit configuration**: every unit of a bundle item can be configured independently
* **Guided configurator**: collapsible cards with sticky headers, one-line summaries and full keyboard support
* **"All the same" toggle**: configure once and every unit follows; switch it off afterwards and the picks stay, ready for individual tweaks
* **Three unit layouts**: arrange a multi-quantity item's units as stacked cards, compact cards, or a comparison table, chosen per bundle
* **Progress-to-discount nudge**: the cart shows "Add 1 more to unlock 15% off" with a progress bar and a one-click button to add another identical bundle
* **Colour swatches**: give attribute terms a colour and chips become swatch circles
* **Three pricing modes**: a percentage discount, a set amount off, or one fixed bundle price
* **Quantity tier discounts**: "buy 3+, save 20%"
* **Sale countdown timer**: live countdown bar with start/end scheduling
* **Related bundles carousel**: cross-sell between bundle pages
* **Oversell-proof stock**: component stock validated while configuring, at add-to-cart and at checkout, reduced on sale and restored on refund
* **Fulfilment-ready orders**: pick list with component SKUs and quantities on every order
* **Shipping weight modes**: automatic (sum of chosen components) or manual
* **Export / import**: move every bundle between sites as one JSON file
* **Multilingual**: WPML and Polylang supported out of the box

= BundleBoss Pro, in detail =

[BundleBoss Pro](https://bossmage.com/bundleboss/#pricing) adds the full Builder, advanced layouts, and the selling tools to grow every order:

* **Choice slots**: customers pick each component from pools you define (PC-builder style), with live pricing on every option
* **Compatibility and quantity rules**: stop impossible combinations, enforced on the server, not just in the browser
* **Per-item personalisation**: optional add-on fields (names, options, notes), each able to carry a fee, captured per unit and shown on the order and the warehouse pick list. Built for team kit, workwear and promo
* **Logo and file upload**: customers attach a logo or artwork to an item; secure upload, a download link on the order, GDPR export and erase included
* **Hero slots**: the customer's chosen product takes over the page's main product image
* **Deal badges**: products on sale and featured products surface in the chooser
* **Step-by-step layout**: walk customers through one item at a time, with progress and free navigation
* **Shareable build links**: customers copy a finished build to a link anyone can open and buy (free shops can open a shared link; creating one is Pro)
* **Migrate from Composite Products**: one click converts existing composites to draft bundles
* **Configurator layout**: a full-page, two-pane builder with a docked "Your build" summary and a price on every option, for big or many-part products like a gaming PC
* **Build-a-box (mix and match)**: customers fill a box by choosing any number from a pool, with a target size, per-product limits, and a live count and total (any 6 chocolates, any 4 candles)
* **Self-updating category pools**: build a choice slot or box pool from a product category, by hand, or both. A category pool maintains itself, add a product to the category and it appears in the slot with no edit to the bundle, and cross off the odd products you want left out, ideal for a rotating range or a large catalogue
* **Gift mode**: a recipient, a gift message, optional gift wrap with a fee, and a no-prices gift receipt, all carried through to the order
* **Frequently bought together**: surface companion products with a combined price and a set discount, the add-the-whole-set upsell
* **Buy X get Y**: buy-two-get-one-free style offers scoped to the bundle's own items (the cheapest goes free), shown clearly as was, pay, and you save
* **Conditional items**: show or hide a bundle item based on what the customer has already chosen, enforced on the server (pick the tagged top and the matching-joggers slot appears)

The free plugin is complete on its own; Pro adds everything described here. Everything under "The free plugin, in detail" stays free.

= Tell us what you need =

BundleBoss is built and updated by the people who answer its support, and the roadmap is written by real shop owners. If you need a bundle it does not handle yet, or an option you wish existed, ask for it on the [support forum](https://wordpress.org/support/plugin/bundle-boss/). Every request gets read and answered, and "can it do X?" is exactly how new features get chosen. You name it, and there is a real chance we build it.

= Requirements =

* WordPress 6.4+
* WooCommerce 8.0+
* PHP 8.0+

== Installation ==

1. In your WordPress admin go to **Plugins > Add New**, search for **BundleBoss**, then install and activate it. WooCommerce needs to be installed and active.
2. Go to **Products > Create a bundle**. The guided wizard takes you from picking products to a finished bundle page in a few minutes, with a live preview of what your customers will see.
3. Prefer the full editor? Create a product and choose the **Bundle** product type: the products go on the **Bundle Items** tab, the deal (a percentage off, an amount off, or one fixed price) on **Bundle Pricing**, and extras like gift options or Buy X Get Y on **Bundle Promotions**.
4. Publish and open the product page. The bundle is ready to sell, with live totals, per item options and stock checks built in.

Want to try it before installing? Use the **Live Preview** button on this page, or browse the demo shop at https://demo.bossmage.com.

== Frequently Asked Questions ==

= How do I create product bundles in WooCommerce? =

Install BundleBoss, then go to Products → Create a bundle. The guided wizard takes you from picking products to a published product bundle in about two minutes, with no code. Prefer the full editor? Create a product, choose the Bundle type, and set your items, pricing and promotions on their own tabs.

= Can customers mix and match, or build their own box? =

Yes. A build a box (mix and match) product lets customers fill a box from a pool you choose, with a target size, per-product limits, and a live count and total (any 6 chocolates, any 4 candles). That's a Pro feature. On any bundle, customers also pick the size and colour of every item and buy the lot as one order.

= Does it work with variable products? =

Yes, that's the core use case. Customers pick a variation for every unit, restricted to the options you allow per bundle item.

= Where did product options on single products go? =

In 5.0.0 they became [AddOnBoss](https://wordpress.org/plugins/addon-boss/), a companion plugin from the same family: option sets, personalisation fields and print positions on a product's own page. Install it and everything you built is where you left it, nothing needs rebuilding. BundleBoss stayed the bundle builder, and the two share one option-set library when both are active.

= Can a bundle include virtual or downloadable products? =

Yes. Virtual items (services, licence keys you fulfil yourself) just work. Downloadable items deliver their files like any normal purchase: permissions are granted when the order is paid, the customer gets the links in the order email and under My Account → Downloads, and a refund cuts access automatically.

= Does selling a bundle reduce the stock of the products inside it? =

Yes. Component (and variation) stock is reduced when the bundle sells and restored if the order is cancelled or refunded. Stock is also validated during configuration, at add-to-cart, and again at checkout.

= Will the price and VAT come out right? =

Yes. Every price on the bundle page follows your store's setting for showing prices with or without tax, and the total a customer sees on the page is the total they pay in the basket, in every tax set-up we test, including shops that use the Tax Switch plugin to let customers flip between the two. A bundle is taxed at one rate, the tax class you give it, like any WooCommerce product. If your bundles mix rates, such as a hamper of zero-rated food with a standard-rated mug, ask your accountant how to rate the hamper before you set its tax class.

= What does the order show, and can my stock or accounting system read it? =

Each bundle is one line on the order, with every item the customer picked listed under it: colour, size and quantity, plus a pick list with each item's SKU for whoever packs it. Stock comes off the real products. If your till, ERP or accounting system needs every item as its own line, BundleBoss Pro's **Itemise on the order** records each one as its own priced order line, while the customer still buys and pays for the bundle as one.

= Do coupons work on bundles? =

Yes, as on any product. If a bundle's price is already a discount and you don't want codes stacking on top, switch on **Exclude from coupons** on that bundle. Percentage and fixed product coupons then skip it, and a fixed basket discount comes off the other items instead. You set it once on the bundle, not on every coupon you make.

= Can I give a bigger discount for buying more? =

Yes, in the free plugin. Bulk discounts reward buying several bundles at once, for example 10% off from 2 and 20% off from 3, and the basket shows the customer how many more they need for the next step.

= Is the free version limited? =

No limits on how many bundles you make, how many items go in them, or how long you use it. Variable products and choosing the size and colour of every item are free, as are the three pricing modes, bulk discounts, stock control and the order pick list. Pro adds the builder tools listed above, such as build-a-box and choice slots.

= Will it work with my theme and on phones? =

BundleBoss is tested across 18 popular themes, including Astra, Kadence, GeneratePress, OceanWP, Blocksy, Neve, Storefront and the default WordPress block themes, with fixes for Divi and Enfold, and on screens down to 320 pixels wide. If something looks wrong on yours, post in the support forum with the theme's name and we'll look.

= Will an update break my shop? =

Every release runs more than 1,400 automated tests before it goes out, many of them checking what each page charges, and bigger releases also run over 300 browser checks of real shopping journeys. When an update changes how an existing bundle looks or works, the changelog says so in plain words.

= Does it work with currency switchers? =

Yes. The bundle is charged once, in the customer's currency, and every figure on the page converts with it: the total, the saving, size prices and extra fees. Tested with FOX Currency Switcher.

= Where do I get help? =

Post in the support forum here on WordPress.org. Every thread gets an answer, and your question and its answer stay there to help the next shop with the same problem. If you'd rather not post publicly, for example because it involves your store's details, you can email us through bossmage.com.

= Can I set one fixed price for the bundle? =

Yes. Each bundle can use a percentage discount off the sum of the chosen items, a set amount off, or a fixed price that never changes regardless of the customer's choices.

= Can I make the configurator match my store's branding? =

Yes. The configurator inherits your theme's fonts automatically, and every colour it uses is exposed as a CSS variable. Set a handful of values in Appearance → Customize → Additional CSS and the whole interface follows your brand:

`:root {
  --bb-accent: #c2410c;   /* step highlights */
  --bb-ink: #1e2a4a;      /* headlines and the total bar */
  --bb-surface: #fffdf8;  /* cards */
  --bb-border: #e8e0d0;
}`

The full token list is documented at the top of the plugin's bundle.css.

= Can I show my own information next to the configurator (total weight, nutrition, performance)? =

Yes. The configurator fires a JavaScript event, `bundle_boss:build_changed`, after every change the customer makes. The event detail carries the whole build: which products and variations are picked, quantities, and the running totals. Listen for it, derive whatever your store cares about, and render the result into the container printed by the `bundle_boss_after_summary` action:

`document.addEventListener( 'bundle_boss:build_changed', function ( e ) {
  if ( ! e.detail.complete ) { return; }
  // e.detail.items gives [ { productId, qty, units: [ { variationId, attributes } ] } ]
  myPanel.textContent = 'Total weight: ' + myWeightFor( e.detail.items ) + ' kg';
} );`

A PC store renders performance estimates, a hamper store calories, a ski shop carry weight. The event works on every bundle, free and Pro alike.

= Does it work with the block (Gutenberg) cart and checkout? =

Yes, both. The classic shortcode pages and the block-based Cart & Checkout are fully supported: bundle pricing, the selections summary, stock protection and order details all work identically, and the progress-to-discount nudge appears in the block cart too. Block themes (Full Site Editing) are also tested.

= Is my data removed when I uninstall? =

By default, no: bundle products and their configuration are deliberately kept, so reinstalling restores everything. If you want uninstalling to remove all bundles and settings, switch on "Delete all BundleBoss data when the plugin is uninstalled" under WooCommerce → BundleBoss (download an export first, on the same page).

= Can I back up my bundles or move them to another site? =

Yes. WooCommerce → BundleBoss exports every bundle (items, choice pools, rules, pricing and promotions) as one JSON file. Importing matches products by SKU, then slug, so the file survives the move to a site where product IDs differ; anything that can't be matched is reported, never guessed.

= Does it work on multilingual sites (WPML / Polylang)? =

Yes. Bundle settings copy to translations, slot labels are translatable per language, and product/term references are mapped to the language being browsed.

== Screenshots ==

1. The everyday bundle: per-unit configuration with colour swatches, the offer pill and a live total, bought as one product.
2. Choice pools with photos and prices (Pro): the customer picks each item from the pool, with the count and progress live.
3. Build-a-box with quantity breaks (Pro): the tier ladder is advertised up front and the box nudges toward the next discount as it fills.
4. Configurator layout (Pro): colour and size picked, personalisation open with priced fields, and a "Your build" summary itemising everything, saving included.
5. Size-run quantity grid (Pro): colours by sizes with per-size surcharges, volume pricing on the whole order.
6. Step-by-step layout (Pro): one decision at a time with progress chips, the count and the total always in view.
7. Gift mode (Pro): gift wrap with its fee and a handwritten-card message, both carried through to the total.
8. Pack sizes (Pro): choose a bag, then fill it. Three sizes at three prices, one price for the bag whatever goes in.
9. Buy X get Y (Pro): the offer advertised up front, both items configured, and the discounted total live.
10. Fulfilment-ready cart: each bundle is one line with its component pick list and its own "You save" figure.

== Privacy ==

BundleBoss does not collect, store or transmit any personal data of its own.

* Customers' bundle selections (which products, quantities and options they picked) are stored only as part of their cart and order: standard WooCommerce order data under your control, removed whenever you erase the order.
* Shareable build links encode product choices in the URL itself; nothing is stored server-side and the links contain no personal information.
* The plugin sets no advertising or tracking cookies.

= Third-party services =

The free version of BundleBoss does not connect to any external service or send any data off your site.

BundleBoss Pro is a separate, paid plugin that uses Freemius for checkout, licensing and updates. None of that is included in this free version.

== Changelog ==
= 6.2.0 - 2026-10-09 =
* New (Pro): an option customers answer with several ticks, such as where a garment is printed, is asked once for the whole bundle and carried into the basket and the order. Needs AddOnBoss 2.2.0.
* New (Pro): a section that asks for at least one answer on a product's own page asks for it in a bundle too. The shop's sentence sits above the section's options, Add to basket waits until one is chosen, and an answer the bundle includes already counts. Needs AddOnBoss 2.2.0.
* New (Pro): an option shown only after another option on the same product, such as a lamination finish after Printed, is asked under each item that picks it, and only there.
* Fixed (Pro): the Other product options card said Not on this item for an option the product does answer.
* Fixed (Pro): a bundle split into separate order lines keeps each line's answers, and the order screen no longer shows the plugin's internal rows.
* Fixed: on a shop with a VAT switch, the editor preview showed every price twice.

= 6.1.0 - 2026-10-08 =
* New: a bundle at a fixed price can say what its items are worth separately and what the shopper saves, under the price, once every choice is made. Turn on Worth separately in Bundle Promotions; it is off until you do.
* Fixed: a fixed-price bundle with extras on top no longer shows its price struck through as if it were on sale.
* New (Pro): the Other product options card in the bundle editor is redrawn. Each group of products has its own box, one coloured bar says whether every product can be bought, and the page's Update button saves it.
* New (Pro): when some products in a box do not have an option the others share, one button opens a window with a row for each of them: Same as the others, Its own options, or Nothing. Several of a product's own options can stand in for the shared one, and each of its other options can be left out of the bundle or offered to the customer. Needs AddOnBoss 2.1.0.
* New (Pro): a bundle can include several answers of one option, such as two prints. Their charges add up on the card, and the shop page shows the included answers side by side, each with its picture.
* New (Pro): a required option can be Not offered in a bundle.
* Fixed (Pro): a one-off charge a fixed price includes, such as an artwork setup, now counts in the saving the shopper is shown.
* Updated Freemius SDK to the latest version.

= 6.0.3 - 2026-10-06 =
* Improved: the request for a WordPress.org review now waits until a shop's bundles are selling. It appears a week after the first paid order with a bundle in it, shows how many such orders there have been, and has a button for when something isn't right. It still shows only on BundleBoss screens, a few times at most, and never again once answered or dismissed.
* New: a shop with no bundles yet sees a Your first bundle guide at the top of the BundleBoss screen, with three steps: make a first bundle, see it on your shop, and place a test order. Each step ticks itself off, and the guide can be dismissed for good. A shop that already has a bundle never sees it.
* Fixed: on a block theme, a bundle with no photo, or with Main product photo set to Hide, no longer leaves an empty column where the photo would be. The bundle takes the full width of the page.

= 6.0.2 - 2026-10-05 =
* Improved: in a fixed bundle, a product's large photo and the In your bundle thumbnails show the colour that was picked, as soon as it is picked and before any size. Before, only a small thumbnail beside the price changed. Clearing the colour brings the product's own photo back.

= 6.0.1 - 2026-10-05 =
* Fixed: removing a bundle from the list of bundles you have added, or changing its quantity there, shows at once. The row used to wait dimmed until the shop answered, which on a slow server took seconds. If the shop refuses the change, what was there comes back.
* Fixed: in a quick view opened from a shop or category listing, a bundle shows its buy one get one preview, its gift option and its show and hide rules.
* Fixed (Pro): a product page that uses an AddOnBoss quantity grid works when a bundle appears on the same page, for instance in related products. The colour tile opened and shut again, and one press added two.
* Fixed (Pro): Frequently bought together shows on a product sold through an AddOnBoss quantity grid. It offers the companions, and their discount applies once the product is in the cart.
* Fixed (Pro): a plain product row shown as a quantity grid offers its quantity breaks in the bundle editor and keeps them on save.
* Fixed (Pro): in a Pick one chooser, a quantity limit set by an earlier choice holds when an older answer from the shop arrives late.
* Fixed (Pro): on a box size tile, the tick no longer covers the end of a long size name on a phone.

For the full history of earlier releases, see changelog.txt in the plugin folder, or
https://plugins.svn.wordpress.org/bundle-boss/trunk/changelog.txt

== Upgrade Notice ==

= 6.0.1 =
Fixes only. Removing a bundle you added shows at once, quick views show each bundle's offers, and with BundleBoss Pro an AddOnBoss quantity grid works beside a bundle.

= 6.0.0 =
With BundleBoss Pro, some bundles look different after this update. In a box, a product with colour and size opens on the quantity grid, and Order Builder looks open on the grid unless Show repeated items as is Table. With AddOnBoss 2.0, print questions are asked once for the bundle.
