Product Bundles

The Product Bundles APP allows you to create a product (like you would create any other product) that combines other products together.

For example, you might be selling a Television and a DVD player separately on your website, but would also like to sell them as a 'TV & DVD player' combo.

There are 2 main advantages of using the Product Bundles App:

i) When you add 'constituent' products to the bundle product, if you're tracking stock for your products then stock levels on constituent products are automatically synced

ii) When you activate and install the Product Bundles Extension, on a constituent product you can display what bundles the product is part of, as a way to cross-sell & upsell

How bundle products work

When you create a bundle product (described below), the bundle product is a product in it's own right.

The bundle product has it's own name/title, price and images. It can be viewed, on it's own page, like any other product.

As part of the product creation process, you will be able to 'assign' other products to the bundle product you are creating - which then enables feature (i) marked above.

Creating a bundle product

Once you've installed the APP, when adding/editing a product, you'll notice a new section

If you're creating a bundle product then tick this tick box.

You'll then be able to add constituent products to the bundle product using the drop down. You can also select the quantity of the product (as shown in the screenshot below).

Click the 'add another' link to add another consituent product to the bundle.

You can add as many products to a bundle as you like.

Google feed

If you are using the Google feed then when adding/editing a product you'll notice a tick box in the Google Shopping section of the page.

If ticked, we'll submit the item with the 'is_bundle' attribute in the Google Feed. A more detailed explanation of this attribute can be found on Google's website.

Stock status

If you are tracking stock of your products, then a bundle product's stock status (i.e. whether it is in or out of stock) is determined by whether all of its constituent products are in stock.If they are, then the product is in stock, if just one of the constituents is out of stock then the bundle product will be considered to be out of stock.

Whilst you are able to enter a SKU code for a bundle product, you cannot enter a stock quantity - the SKU code entry is enabled so you can use the trade prices feature for bundle products (if you wish to).

The Product Bundles extension

When a customer is viewing a product that is part of a product bundle, you can display to them the details of the bundle to encourage them to buy the bundle rather than the sole product.


The bundle advertisement shown in the example above is only displayed on constituents of the bundle product that you have created. It's purpose is to show users, when viewing a product, that there is a bundle product available where there is a saving to be made.

To display these adverts, you'll need to activate and install the product bundle extension.

Bundle products and the order PDF

If you print your orders using the order PDF function we offer, the constituent products of a product bundle won't automatically be displayed on the order PDF. Instead you'll need to add some code onto the order PDF.

1. You'll need to navigate to the order PDF customisation section of your account and click the 'html' tab.

2. After the closing </tr> tag contained within the {% for product in order.products %} cycle add the code shown below.

{% if product.is_bundle %}
    <tr class="bundle-header">
        <td colspan="4">
            Bundle Product Consisting Of:
    {% for bundle_product in product.bundle_products %}
        <tr class="bundle-product">
                {{ bundle_product.sku }}
            <td colspan="4">
                {{ bundle_product.title }} {% if bundle_product.quantity > 1 %} x {{ bundle_product.quantity }} {% endif %}
    {% endfor %}
{% endif %}

If you haven't edited your order PDF already, then this will go on line 113. As shown on the example below.

3. Save your changes.

4. Click the 'css' tab and add the code shown below at the bottom of the file.

.products .bundle-header td {
    padding-top: 4px;
    padding-bottom: 3px;
    font-weight: 600;
.products .bundle-product td {
    padding-top: 0;
    padding-bottom: 0;
    color: {{ settings.color_other }};
    padding-left: 23px;
    font-size: 10px;
.products .bundle-product td:first-child {
    padding-left: 0;

for example,

click to save your changes and that's everything done.

5. If you'd like to display the warehouse notes for each product within a bundle then you can use the variable {{ bundle_product.warehouse_notes }}