Store Owner’s Guide

Installation ↑ Back to top

  1. Download the .zip file from your WooCommerce account.
  2. Go to WordPress Admin > Plugins > Add New.
  3. Click Upload Plugin at the top.
  4. Choose File and select the .zip file you downloaded in Step 1.
  5. Click Install Now and Activate the extension.

Getting Started ↑ Back to top

Product Bundles supports simple products, variable products and simple/variable subscriptions.

To create a product bundle:

  1. Go to WooCommerce > Products > Add Product.
  2. Select the Product Bundle type in the Product Data panel.
  3. Go to the Bundled Products tab.
  4. Use the search field to find a product, click Add Product and repeat the process for all items you wish to bundle.
  5. Publish to save.
Grouped and external products are not supported and cannot be bundled. Product bundles cannot be bundled either.

Each time you click Add Product, a new set of bundled product options becomes available. These options allow you to change parameters specific to the added item, such as pricing & shipping options, minimum and maximum quantities and more.

Creating a Bundle.
Creating a Bundle.

Multi-Instance Bundling

It is possible to bundle multiple instances of the same simple or variable product and configure each one individually. This feature creates many possibilities — for example, you can bundle together multiple variations of a single variable product using the Filter Variations option.

Pricing ↑ Back to top

The Bundle type can be used in a wide range of bundling/kitting applications with diverse pricing requirements, as it allows you to define a static price for the entire bundle and/or add the individual prices of bundled products to a base bundle price.

Product Bundles in the Cart/Orders

In the cart, a bundle is displayed as a parent line item – named after the product bundle itself – followed by a child line item for each bundled product. Bundled products are grouped by the bundle and bundled product quantities are kept in sync with the quantity of their parent. This separation, which extends to orders, makes it possible to assign a static price to the bundle, and/or to tally the individual prices of bundled products.

Static Bundle Pricing ↑ Back to top

To assign a static price to a bundle:

  1. Go to WooCommerce > Products and select the bundle you wish to edit.
  2. Select the General tab in the left menu.
  3. Enter a Regular Price and, if needed, a Sale Price. Note that if you only use these fields to define the price of a bundle, its contents/configuration have no effect on its price. Despite its limitations, this simple pricing configuration is sufficient in many cases, and is recommended for quickly creating pre-built kits.
  4. Update.
The Happy Ninja bundle.
The Happy Ninja bundle in the cart.
The Happy Ninja bundle.
The Happy Ninja bundle in the cart.
Configuring the Happy Ninja bundle.
Assigning a static price to the bundle.
Configuring the Happy Ninja bundle.
Assigning a static price to the bundle.

Static Bundle Pricing vs. Reporting Accuracy

Assigning a static price to the Happy Ninja bundle causes each sale to be attributed to the parent cart/order line item associated with the bundle – not to its child line items. As a result, the earnings reports of bundled products included in the kit will be distorted. To maintain accurate earnings reports, avoid static bundle prices and only use them if a bundle is a service, process or physical item with a “base value” of its own.

Static Bundle Pricing vs. Tax Law

In some cases, using a static bundle price might not be possible due to Tax Law requirements. When creating a bundle of products that have different tax rates, be aware that a static bundle price limits you to a single tax rate.

Individual Bundled Product Pricing ↑ Back to top

When creating bundles that include configurable items (variable products, optional products or products with configurable quantities) a common requirement is to total the individual prices of some/all bundled items.

This is possible by checking the Priced Individually option, located under the Basic Settings tab of every bundled item. This is typically used when selling items in bulk.

he Poster Pack bundle.
The Poster Pack bundle in the cart.
The Poster Pack bundle.
The Poster Pack bundle in the cart.
No static price assigned to the bundle.
Configuring the Poster Pack bundle.
No static price assigned to the bundle.

Note that when the Priced Individually option is checked, it is possible to define a % Discount for the bundled product. This is applied to its regular price by default. Discounts provide an incentive for purchasing items in bulk. They also allow the introduction of up-sells in existing bundles – in some cases, up-sells can be tightly coupled to the purchasing decision by converting existing products to bundles.

In cases similar to the Poster Pack bundle, it may be necessary to leave the bundle price fields empty. This is fine as long as at least one bundled product is Priced Individually. Note that sometimes it is desirable to use the bundle price fields to define a base bundle price, and at the same time enable the Priced Individually option of one or more bundled items.

Individual Pricing and Price Visibility

When the Priced Individually option is enabled, the bundled product price will be visible in i) the product details page of the bundle, ii) the cart and iii) order details by default. To change this behavior, use the Price Visibility options found in the Advanced Settings tab.

Individual Pricing and Cart/Order Totals

By default, the cart/order item subtotal of a bundle parent item is calculated as the sum of: i) the base/static bundle price subtotal and ii) the subtotals of all bundled items that are priced individually. At the same time, the subtotals of individually-priced items are displayed with a Subtotal: prefix. This behavior can be changed with this snippet.

Bundles with Subscription products

When a Subscription product is added to a bundle, the Subscription product must be Priced Individually if you want a subscription to be set up. Otherwise, the Subscription product will be treated as a Simple product and granted to the customer once.

Shipping ↑ Back to top

Introduction ↑ Back to top

From a shipping perspective, WooCommerce products are classified as:

  • Virtual — services or digital items that are not physically shipped.
  • Physical (non-virtual) — products that have a weight and dimensions in the real world and need to be shipped or picked up.

A bundle may contain multiple virtual and/or physical products. However, once a bundle is packed and ready for shipping, its physical properties may not be the same as the physical properties of its components. This is very common in physical bundling applications that include an assembly or packaging process. Consider an example:

Woo Tech is a company using WooCommerce to sell computer equipment online. The entry-level desktop PC of Woo Tech, Woo Basic, is assembled using a list of inventory-managed components, some of which are non-OEM parts that are individually available for purchase in the Woo Tech online store. Once a Woo Basic PC is assembled, the original packaging of the assembled parts is discarded, and the PC, product manuals and accompanying material are packaged and shipped in one box.
Shipping a bundle.
Shipping a bundle.

Depending on how its shipping options are configured, a physical bundle in WooCommerce may represent:

  • One or more items produced by an assembly process, whereby one or more products are assembled in a common container, and any unassembled products are shipped individually, in their original packaging.
  • A base product accompanied by a set of “add-on” products, unassembled and shipped in their original packaging.
  • A group of unassembled products, shipped in their original packaging.

WooCommerce calculates shipping rates by using the shipping configuration of a bundle to construct its physical representation. Therefore, when configuring a bundle, it is necessary to ensure that its shipping configuration reflects the way it is handled and shipped in the real world.

In general, the shipping properties of a bundle override the shipping properties of all bundled products. However, specific bundled products may maintain their original shipping properties, if needed. If a bundle contains physical products, this means that some of them may be packaged and shipped within the bundle and some shipped individually.

The following table makes this information easier to understand:

Physical Bundle Virtual Bundle
The bundling process produces a new physical item that needs to be shipped, or the bundle is a standalone physical product. The bundling process does not produce a new physical item, or the bundle consists of virtual products only.
Bundled ProductShipped Individually? Yes If the bundled product is physical, it is shipped in its original packaging.

If the bundled product is virtual, it is not shipped at all.

Yes If the bundled product is physical, it is shipped in its original packaging.

If the bundled product is virtual, it is not shipped at all.

No If the bundled product is physical, it is packaged or assembled in the bundle. It is not shipped on its own.

If the bundled product is virtual, it is not shipped at all.

No The bundled product is not shipped at all.

Configuration ↑ Back to top

To configure a bundle for shipping, follow these steps:

  1. Determine if the bundle is the result of a physical assembly or packaging process, or a standalone physical product that requires shipping:
    • If the answer is yes, then leave the Virtual option unchecked, and click on the Shipping tab to configure the physical properties (weight and dimensions) of the bundle.
    • If the answer is no, or if there is nothing to ship – e.g. the bundle contains only virtual products – then tick the Virtual option.
  2. Go to the Bundled Products tab.
    • If the bundle contains virtual items only, no further action is needed.
    • If the bundle contains physical products, determine which are packaged in the bundle, and which are shipped in their original packaging (if applicable). For each bundled product shipped in its own packaging, ensure that the Shipped Individually option is ticked.
Configuring a bundled product to be "Shipped Individually".
Configuring a bundled product to be “Shipped Individually”.
By default, the weight of a non-virtual bundle is assumed to be static and equal to the value entered in its Weight field, even when it contains bundled products that are not Shipped Individually. It is also possible to use the value defined in the Weight field as a base bundle weight, and have the weight of all bundled items that are not Shipped Individually added to this base weight.

Notes on External Order Fulfillment, Shipping and Inventory Management Services

The shipping configuration options of the Bundle type allow shipping methods and other business logic that relies on the WooCommerce Shipping API to calculate shipping costs accurately.

When using an external service that works by importing WooCommerce order data, you might encounter issues with bundles that involve an assembly process (this means you have unchecked Shipped Individually for one or more bundled products). For example, you may find that the physical properties of imported bundles are inaccurate, or that bundled product SKUs do not appear at all.

External fulfillment, shipping and inventory management services typically rely on SKUs from WooCommerce order data to calculate shipping costs, keep inventory updated and manage logistics of order fulfillment.

Some of these systems do not support fulfilment, shipping, or inventory management of bundles at all. Those that do usually work by splitting up a static or dynamic bundle SKU to a number of component SKUs. This means that, in most cases and depending on the features and requirements of the system you are using, some additional integration work might be needed.

Product Bundles provides an API that allows you to restore the physical representation of your bundles when reading order data, and possibly generate custom bundle/kit SKUs for bundles that contain packaged items.

Note that if your catalog only includes pre-built bundles with static content and you are using an external service for order fulfilment, shipping and inventory management, you might be able to use one core WooCommerce product types to build your bundles, and let the external system use its unique SKU to do the rest.

Note: We are unable to provide support for customizations under our Support Policy. If you are unfamiliar with using an API, select a WooExpert or Developer for assistance.

Bundled Product Settings ↑ Back to top

Once a product has been added to a bundle, a new set of options becomes available for the newly added item. These are divided in two tabs: Basic Settings and Advanced Settings.

Basic Settings ↑ Back to top

Minimum Quantity and Maximum Quantity — Used to define an allowed quantity range for the bundled product: Customers are able to choose any quantity within the specified min/max range. Leave the Quantity Max field blank for an unlimited maximum value.

Optional — Tick to allow customers to choose whether to include the bundled product in their bundle. This is a common up-selling technique.

Filter Variations — Makes it possible to make specific variations available for purchase. Applicable to variable products only.

Filter Variations is not available when bundling variable subscription products.

Override Default Selections — Used for overriding the default attribute values of bundled variable products.

When Filter Variations is activated, it is recommended to use Override Default Selections to choose a new combination of default attribute values, ensuring that they belong to an active variation.

Priced Individually — Adds the price of the bundled product to the base bundle price. With the option enabled, a Discount can be defined. Both options are documented in the Pricing section.

Shipped Individually — Controls how the bundled product is shipped in relation to the bundle. Documented in the Shipping section.

Advanced Settings ↑ Back to top

Visibility — Controls the visibility of the bundled product: i) in the single product page of the bundle, ii) in the cart/checkout pages, and iii) when displaying order details (including order details displayed in e-mail notifications).

Visibility in Payment Gateway Transactions

Marking a bundled product as hidden in the order/e-mail templates will not prevent payment gateways from listing it in their transaction details archives and customer notification e-mails.

Visibility and Downloadable Items

When a downloadable bundled product is hidden in order/e-mail templates, any associated download links will be hidden as well.

Price Visibility — Controls the visibility of the bundled product price: i) in the product details page of the bundle, ii) in the cart and iii) when displaying order details. Applicable when Priced Individually is ticked.

Override Title and Override Description — Used for modifying or hiding the original titles and/or short descriptions of bundled products. Note that overridden product titles will replace the original product titles in all template locations, including the cart/checkout and order details.

Hide Thumbnail — Controls the visibility of bundled product thumbnails, which are displayed by default when viewing the single product details page of a bundle.

Layout Options ↑ Back to top

The Bundle type provides a Layout option that allows you to choose a Standard or Tabular arrangement of bundled products in the single-product details page:

Choosing a Layout.
Choosing a Layout.
When setting up bundles that have multiple bundled products with configurable quantities, we recommended choosing the Tabular layout, which arranges bundled products in a table and makes it easier to view/compare item quantities.
Tabular Layout
Standard Layout
Choosing a Poster Pack bundle layout: Tabular (left) vs. Standard (right).

In addition to the Layout option, the appearance of bundled products can be modified using the options located under the Advanced Settings tab of each bundled item.

Managing Inventory ↑ Back to top

The sale of a product in a bundle has the same effect on stock as an individual sale – there are no separate bundle-level inventory settings for bundled products.

If a product is contained in a bundle and its stock quantity drops below the minimum threshold required by the bundle, then the bundle appears with an Insufficient Stock status and cannot be purchased.

Monitoring Bundled Product Stock Levels ↑ Back to top

To track bundled product stock levels, look for the Insufficient stock tab added by the extension under WooCommerce > Reports > Stock.

Remember that a product appearing as In stock in your catalog may not have enough stock to cover the requirements of every bundle that contains it. For example, if the Minimum Quantity defined for a bundled product in one or more bundles is higher than its remaining stock, then these bundles will not be available for purchase.

Inventory Settings ↑ Back to top

With Product Bundles, it’s possible to define bundle SKUs and manage inventory for bundle SKUs. The ability to set stock quantities for bundle SKUs allows you to place constraints on the bundling process itself, e.g., associated with time, manpower or another limited resource. Go to the Inventory settings tab of a bundle to enable stock management and set bundle-level stock quantities. Note that availability limits imposed by bundled products are not overridden by enabling stock management for a bundle.

Bundle SKUs are static by default. If you plan to use the extension with an external order fulfillment, shipping or inventory management service and need a way to generate dynamic bundle SKUs, please refer to the Shipping section for details.

Use Cases ↑ Back to top

The following use cases are useful for gaining a better understanding of what is possible with Product Bundles:

Questions and Feedback ↑ Back to top

Have a question before you buy? Please fill out this pre-sales form.
Already purchased and need some assistance? Get in touch with a Ninja.

WooCommerce - the most customizable eCommerce platform for building your online business.

Back to the top