Custom boxes and bundles: let customers build their box without breaking your stock
Six beers of your choice, twelve chocolates, three creams: build-your-own boxes sell well, but creating a product for every combination is impossible. We look at how to handle pricing, stock and picking for custom boxes and bundles.
“Choose six beers”, “build your box of twelve chocolates”, “three creams of your choice at a discount”. Boxes that customers put together work: they raise the average order value, convert well as gifts and let customers try new things. The problem shows up in the back office. With ten products and boxes of six, the number of possible combinations is huge, and creating a product for each one makes no sense.
This article is about setting up custom boxes and bundles without losing control of pricing, stock and order picking.
Custom box and bundle: not the same thing
- Fixed bundle: you decide the contents. A starter kit, a gift hamper, the product with its accessories. The customer buys it as it is.
- Suggested bundle: on a product page you offer to buy it together with other items at a discount. The base product is the one they are looking at.
- Custom box: the customer chooses the contents within a set of rules (how many products, which ones, how many of each).
PrestaShop comes with packs as a product type out of the box, with their own stock or that of their components. For boxes that customers build, or to offer bundles on the pages of many products at once, you need something more.
The box rules
A custom box needs clear limits, and customers have to see them while building it:
- Box size: exactly six, or between four and eight.
- Maximum per component: “no more than three of this one”, so nobody wipes out the stock of the most popular product.
- Fixed components: what always goes in, such as the bottle opener you include free with every box.
- A visible counter: “4 of 6”, with the add button locked until the box is complete.
If customers can add a half-filled box to the cart, you will get half-filled boxes and have to call them to ask what to do.
Pricing: fixed or sum with a discount
There are two sensible formulas, and each suits a different type of box:
| Formula | How it works | When it fits |
|---|---|---|
| Fixed price | The box costs the same whatever it contains | Components with similar prices; a gift box with a round price |
| Sum with a discount | The chosen items are added up and a percentage is applied | Components with very different prices; the customer sees their saving |
With a fixed price, watch out for expensive components: if the box lets customers choose six units of the most expensive product, check that the margin holds up. With a sum and discount, make sure the discount is visible in the cart, the order and the invoice, and that the price is calculated by the server, not the browser. A price calculated in the browser and sent as is can be changed by anyone.
Stock: the point that fails most often
A box has no stock of its own: it depends on what is inside. And this is where overselling happens:
- Shared components: the same beer is sold on its own and inside three different boxes. If each channel counts separately, you sell what you do not have.
- Required components out of stock: if the fixed bottle opener runs out, you cannot sell any boxes, even if you have beer for a hundred.
- Two customers at once building a box with the last units.
- Cancellations and returns: if the order is cancelled, the stock of each component has to come back, exactly once.
The sensible approach is for the sellable units to come from the strictest limit: the maximum number of that box you want to sell and what the required components allow. And stock should be checked when adding, when changing the quantity and just before confirming payment.
What the warehouse needs to see
If the order just says “Tasting box ×1”, whoever picks it has to guess what goes in. The exact contents of each box must appear on the back-office order, the delivery note and the invoice, and remain stored even if you later change the box configuration. If the customer also chooses packaging, that too.
Suggested bundles on the product page
The other, simpler format is to offer the bundle where the customer has already decided to buy: on the product page, with what they save and a button to take the whole set. To avoid configuring the same promotion product by product, the practical approach is to define it by category: “for all products in this category, offer these accessories at 10% off”. And if an item in the bundle runs out, that option should disappear on its own.
Checklist
- Decide which boxes are fixed, which are suggested and which are custom.
- Set the size, maximums and fixed components of each custom box.
- Choose the pricing formula and check the margin in the worst case.
- Check how component stock is deducted and restored.
- Place a test order and look at what reaches the delivery note.
These features touch the cart, orders and stock, which are exactly what changes most between PrestaShop versions. Test any core update on a copy before taking it to the live store.
How to do it in PrestaShop
RKR Mix & Match Box Builder adds a box builder to the product page with counters, minimums and maximums per box and per component, fixed-quantity components and a live price, either fixed or as a sum with a percentage discount, recalculated by the server. Stock combines a cap on declared boxes with what the required components can cover, with reservation in carts and low-stock alerts, and it is checked when adding, when changing the quantity, before payment and on validation. The contents and the chosen packaging appear in the cart, the order, the invoice, the delivery note and the email. Rekire Product Kit shows bundles with an automatic discount on the product page, configured by category, lets you apply the discount only to the accompanying products and disables the option if an item runs out.