The Complete Guide to Magento 2 Bundle Product

- E-Commerce, Magento 2

Magento 2 bundle product

Magento 2 delivers several types of complex products. While the Magento 2 configurable product is the first thing that comes to mind in this case, you may also leverage product bundles. The Magento 2 bundle product is designed to provide customers with an additional creativity level and exceptional freedom. With this product type, they can create their own item sets from the available options. While buying Magento 2 bundle products is intuitive and doesn’t differ much from other e-commerce purchases, managing them in the Magento 2 admin is a quite complex routine that needs additional elucidation.  

In this guide, we show how to create bundle products in Magento 2 and how to import them to the Magento 2 catalog. The article guides you through the explanation of what the Magento bundle product is, focussing on various nuances of this item type. After that, the topic of the publication shifts to another vital aspect: the creation of a bundle product in Magento 2. The last section of this blog post is dedicated to the Magento 2 bundle product import. It describes specific attributes associated with bundle products and sheds light upon other nuances of transferring items of this type to your e-commerce website. Also, we provide a separate chapter that describes how to import bundle products to Magento 2 from Google Sheets

Magento 2 Bundle Product Defined

As it has been mentioned above, the Magento 2 bundle product lets customers compose their own set of items. Say a camping set, where customers select a tent for two, three, or four individuals, decide if they want a boat included, and polish it all with a grill of their liking. Basically, instead of visiting three separate product pages, customers can get ready for camping from a single page.

Magento 2 bundle product user experience

Bundle products in Magento 2 are similar to grouped and configurable products in how they work. All three complex product types combine simple products to offer a customer better shopping experience. The main difference is flexibility. Each product type has unique features associated with slightly different customer experiences.

The Magento 2 configurable product type, for instance, offers multiple variations of a single product, such as a shirt available in different colors and sizes.

The Magento 2 grouped product type, in turn, provides a pre-composed set of products without variations. As a customer, you can decide what items to include and specify the quantity per product.

In Magento, bundle products are like both of these two types. They offer a set of products with variations, unique prices, different shipping options, and flexible quantity selection.

The Magento 2 bundle product is a composite product type that consists of simple or virtual products that shoppers can add and configure according to their preferences.

Consider a Magento bundle the most flexible product type the platform offers. It’s a truly build-your-own, customizable product. Unlike grouped products, a bundle product is sold as a single item in Magento. Customers, however, can pick accessories to go with the main product or even choose various additional products to form a complex item. It means that there are two layers of flexibility associated with a bundle. First of all, it its a selection of custom options. Secondly, customers can add/exclude additional simple products from a bundle.

You can read more about the difference between a bundle and a grouped product in our Guide to Magento 2 Grouped Product here: Magento Grouped Product vs Bundle.

Other product types are described in our Magento 2 import/export guide list.

How to Create Bundle Product in Magento 2

Now, let’s see how to create a bundle product in Magento. But first of all, make sure that you have created all the simple products that you are going to assign to the bundle. In a nutshell, a Magento 2 bundle product is created as follows: 

  1. Create products that will be used in your Magento bundle;
  2. Create the bundle.

So, let’s move directly to the algorithm. We assume that you already have all the necessary simple products. In this case, you can create a bundle product in Magento 2 as follows:

Create a New Empty Product

You can create a new bundle product as any Magento product:

  1. Navigate to Catalog > Products screen.
  2. Click Add Product > Bundle Product.

create Magento 2 bundle product

Apply Basic Configurations

Start configuring your bundle product. Choose the needed Attribute Set, fill in the Product Name, set up the SKU and Price, etc. The configuration inherits most of the attributes from a simple product. Therefore, you won’t face any difficulties at this stage.

Magento 2 bundle product default settings

Configure Bundle-Specific Options

Scroll down to the Magento bundle product-specific attributes. You have the following three switches:

  • Dynamic SKU;
  • Dynamic Price;
  • Dynamic Weight.

Magento 2 bundle product specific settings

Magento 2 Bundle Product Dynamic SKU

Dynamic SKU is a feature that impacts the way the bundle’s SKU is created. If enabled, the system adds the SKU of child products to the main (default) SKU of the bundle product.

Magento 2 bundle product dynamic sku

This feature lets you check the products ordered as a part of a bundle by simply looking at the bundle SKU. It is also valuable for analysis.

If the feature is disabled, the system only uses the default (main) bundle product SKU you specify in the settings.

Note that the default SKU should be specified no matter whether you enable or disable the Magento 2 Bundle Product Dynamic SKU.

Magento 2 bundle product dynamic sku

Magento 2 Bundle Product Dynamic Weight

As for the Dynamic Weight feature, it impacts the weight calculations for the entire bundle. You can either specify a fixed weight by disabling this option or enable the bundle weight calculations as the total weight of all simple products a customer selects.

Magento 2 bundle product dynamic weight

If the feature is turned on, you cannot alter the Weight field.

Magento 2 Bundle Product Dynamic Price

Now, let’s see what happens if the Magento 2 bundle product dynamic price is enabled. In this case, the price reflects the options chosen by the customer. As for a bundle product, it does not have its own price – the Price field is disabled. The product price is derived from the prices of the individual products a customer selects.

Set Dynamic Price to Yes and leave Price blank to activate this feature.

Magento 2 bundle product dynamic price

Since the price of the bundle depends on the child products a customer selects, you cannot determine a fixed price for it. That’s why it is recommended to set the Price View option to a Price Range. Alternatively, you can stick to As Low As which is the bundle’s possibly lowest price. Use the Advanced Pricing configuration under the Price field to open the corresponding settings.

Magento 2 bundle product price viewIf you want to charge a fixed price for the bundle, disable the Magento 2 bundle product dynamic price feature:

  1. Set Dynamic Price to No.
  2. Enter the Price that you want to charge for the bundle.
  3. Specify a flat or percent value for each simple product included in the bundle.

Let’s suppose our bundle product has a set price of $123. Four simple products are included in the bundle:

  • Two products with fixed prices of $20 and $30;
  • Two products with percent prices of 5% and 10%. The percent is applied to the price of the bundle product, meaning the 5% price is $6.15 and the 10% price is $12.30.

Then the total price of the bundle product will be calculated on the following pattern: the simple product prices that we have set manually are added to the basic bundle price of $123.

Bundle Price + Prices of the selected simple productsMagento 2 bundle product dynamic price disabled

Add Options to Bundle

Now, we’d like to draw your attention to the most important part of a bundle – its options. Scroll down to the Bundle Items section to create a Magento 2 bundle product with custom options.

Magento 2 bundle product custom options

Here, you have to decide how you want your bundle items to be shipped: either all items together or every item separately.

Then, add the options to your Magento bundle product:

  1. Click the “Add Option” button.
  2. Type a title
  3. Select an input type.

Each option is displayed as a separate group within a bundle. You can assign multiple options per bundle.

The available input types are:

  • Dropdown;
  • Radio buttons;
  • Checkbox;
  • Multiple select.

Add Products to Options

When the option is added, you can add simple products to your Magento 2 bundle product with custom options: 

  1. Click the “Add Products to Option button.
  2. The “Add Products to Option” screen displays. Use filters to add products to the bundle.
  3. Click the “Add Selected Products button when finished.

Magento 2 bundle product simple products

 

Edit Magento 2 Bundle Product with Custom Options

Now, you have to return to the product options once again since Magento lets you edit a couple of parameters associated with products in each option.

Magento 2 bundle product custom options editing

With the Is Default checkbox, you can define which products will be pre-selected when the bundle page loads.

Then, if the Dynamic Price option is disabled, you can specify the Price of the selected simple products, and define the Price Type: fixed or percent.

If the Dynamic Price feature is enabled, the Price and Price Type fields won’t be available. The system will use the default simple product prices instead.

Next, you can set up the Default Quantity. It defines how many simple products will be included in the bundle by default.

When done with editing, you can either add another bundle option or save the product.

Congratulations! You have just finished creating a Magento 2 bundle product with custom options. Alternatively, you can create one using the import process.

Magento Bundle Product Import

Before going into the depths of the import procedure, we strongly advise reading through the Complete Guide to Magento 2 product import/export. In this guide, you will learn the basics of product import and export procedures and discover how to format a CSV table, compose attributes, and fill in all the necessary information.

Below, we focus on the bundle product-specific attributes. Next, you will learn how to import bundle products to Magento 2 via the default product import. Let’s get to it.

Magento 2 Bundle Product Attributes

There are six main attributes of the bundle product used in the import table:

  • bundle_values
  • bundle_price_type
  • bundle_price_view
  • bundle_sku_type
  • bundle_weight_type
  • bundle_shipment_type

The main attribute that should ALWAYS be in the import table is bundle_values. It contains all the necessary information to tie simple child products with the bundle parent. All other attributes carry other bundle product-specific values but if they are absent, Magento 2 puts in default values.

The bundle_values attribute, however, defines how bundle options work, what products are assigned to options, what product settings are used, etc. We will break these attributes one by one and explain which values are expected from the store owner to import a fully functional bundle product.

While reading about bundle product attributes, feel free to use the Master Table to find any additional information about attributes and their values used in the Magento 2 bundle product import.

bundle_values

As it has been said, this is the main attribute responsible for tying simple products to a bundle. It is also the most complex attribute of all, as its value is composed of several options. If your bundle product has two simple products assigned, the bundle_values attribute value may look as follows:

name=Go-Get’r Pushup Grips,type=select,required=1,sku=bundle-grips1,price=10.0000,default=0,default_qty=1,price_type=fixed,can_change_qty=1|name=Power Pushup Grips,type=select,required=1,sku=bundle-grips2,price=10.0000,default=0,default_qty=1,price_type=fixed,can_change_qty=1

It may look overwhelming at first glance; however, it is pretty simple when you break it down. This attribute value mirrors all the settings available within the Bundle Items configuration section of the bundle product, where we have the following:

Magento 2 bundle product with custom options admin

Here we have:

Option Attribute value Allowed symbols Example
Option Title name All symbols except pipe | If you name the option “Camping tent”, the value should read:

name=Camping tent

Input Type type For:

drop-down – select

radio buttons – radio

checkbox – checkbox

multiple select – multiselect

If you want customers to select products from a drop-down list, the value should read:

type=select

Required required 1 – option is required

0 – option is not required

If the option is required, the value should read:

required=1

Is Default default 1 – product is default

0 – product is not default

If the product is set as default, the value should read:

default=1

SKU sku All symbols available for composing product SKU If the SKU of the product is ‘ABC123’, the value should read:

sku=ABC123

Price price Numerals only If the price of the product is $12.34, the value should read:

price=12.34

Price Type price_type fixed – flat price value

percent – percent value calculated from a bundle price

If the price type for a simple product is fixed, the value should read:

price_type=fixed

Default Quantity default_qty Numerals only If the default quantity of the simple product is set to 10, the value should read:

default_qty=10

User Defined can_change_qty 1 – is user-defined

0 – is NOT user-defined

If you want to let users define option value quantity: can_change_qty=1

Otherwise:

can_change_qty=0

Now that we are done with the option values, let’s copy all the examples from the table to compose them together into an option of a Magento 2 bundle product:

name=Camping tent,type=select,required=1,default=1,sku=ABC123,price=12.34,price_type=fixed,default_qty=10,can_change_qty=1|

As you can see, we used commas to separate attribute values and pipe to end the line. After the pipe, you can add another simple product following the same pattern.

Now let’s read what we have in the attribute: the Option Title is Camping tent, customers will be able to choose from the drop-down, the option is required, the simple product is the default selection, its SKU is ABC123, the price of the simple product is $12.34, the price type is fixed, the default quantity is set to 10, and customer can adjust the product quantity. 

Here are a few important things to keep in mind:

  1. Option values are separated by a comma: name=123,sku=321,…;
  2. Products are separated by pipe symbol: ,default_qty=10|name=123,…
  3. If bundle Dynamic Price is enabled you don’t need price and price_type values. If Dynamic Price is disabled make sure to include price and price_type values.
  4. If you do not want customers to define product quantity set can_change_qty to ‘0’.

That’s pretty much it, now you can fill in bundle_values for your import table properly. If you still have any questions – make sure to leave a comment at the end of this article.

bundle_price_type

This bundle product attribute defines whether Dynamic Price is enabled or disabled. The allowed values are:

  • dynamic – means that the Dynamic Price is enabled;
  • fixed – means that the Dynamic Price is disabled.

bundle_price_view

This bundle product attribute defines how the price of the product will be displayed. The allowed values are:

  • price range – from the lowest possible bundle total to the highest. For example: $100-$200.
  • as low as – only the lowest possible bundle total will be displayed.

bundle_sku_type

This bundle product attribute defines how the SKUs of the simple product will be composed. The allowed values are:

  • dynamic – the SKU of the simple product will be added as a suffix to the bundle product SKU to allow more precise reporting data;
  • fixed – only the SKU of a parent bundle product will be displayed on the order details screen.

bundle_weight_type

This bundle product attribute defines how the weight of a bundle product is calculated. The allowed values are:

  • dynamic – the weight of the bundle product is calculated as a total of all simple products selected by a customer;
  • fixed – the weight of the bundle product is the one specified in its settings.

bundle_shipment_type

This bundle product attribute defines how the items of a bundle product are shipped. The allowed values are:

  • together – all items will be shipped to the customer together in a single parcel;
  • separately – items of the bundle product will be shipped to a customer separately.

Magento 2 Bundle Product Import

When a CSV file with bundle product attributes is ready, you can follow these steps to import bundle products to Magento 2:

import bundle products to Magento 2

  1. Navigate to System > Data Transfer > Import.
  2. Select “Products” in the Entity Type field.
  3. Choose “Add/Update” as your Import Behavior.
  4. Click the “Browse” button on the right to Select File to Import to select a CSV table with bundle products.
  5. Click the “Check Data” button to see if the bundle product attributes meet the Magento 2 requirements.
  6. Click the “Import” button to import bundle products to Magento 2.

How to Import Bundle Product to Magento 2 from Google Sheets

The import procedure of Magento 2 bundle products can be enhanced with the help of the Improved Import and Export extension. The module lets you schedule the import and export jobs, supports a variety of sources, and comes with the attribute mapping functionality.

What is also important about the extension is that it supports import from Google Sheets. 

In the Master Table, we have composed a table for the Magento 2 Bundle Product import. There, you can see the core bundle product attributes described. Use this table as a draft for your import processes.

Magento 2 bundle product attributes and values table

Every product attribute comes with a detailed description and hints about the values expected from the store owner. If you are new to the Magento import procedure or want to make sure your clients understand which values are expected from them, feel free to use the table. It is completely FREE!

You can find the full Magento 2 product import from Google Sheets described in the Improved Import & Export manual. 

Magento 2 Bundle Product FAQ

Below, you can see other tips on how to manage Magento 2 bundle products in your admin.

How to import a Magento 2 bundle product automatically?

If you need to transfer bundle products, products of other types, or even other entities to Magento 2 regularly, it is necessary to install a third-party tool, as described in the last chapter of this article. Unfortunately, the default import/export solutions don’t let you create import jobs that run on schedule. Therefore, we recommend you use the Improved Import & Export extension to import bundle products to Magento 2 automatically. The extension leverages cron so that you can create a schedule of updates.

How to import a Magento bundle product from external systems?

While the default Magento 2 import solution prevents the import of third-party data that doesn’t follow the system’s requirements, you can use the Improved Import & Export extension to circumvent these restrictions. The module lets you create a mapping scheme matching any external values to the default Magento 2 attributes. Consequently, any external data is easily adapted to the native standards of your e-commerce website. The most intriguing aspect is that you do everything right in your admin. Otherwise, you need to edit your data files following the specific bundle product attributes and other requirements described in this article.

How to import a bundle product to Magento 2 via API?

By default, Magento 2 doesn’t let you import any entities using API integrations. You need to leverage the Improved Import & Export Magento 2 extension to transfer bundle products to Magento 2 via API. Our extension lets you create the connection between the two systems transferring the items of this product type. Any import job provides an interface where you can specify the parameters necessary for creating a flow of data.

How to import a bundle product to Magento 2 via ODS files?

If the bundle product data is stored in an ODS file, you no longer need to convert it to a CSV file to fit the Magento 2 requirements. With the Improved Import & Export Magento 2 extension, it is possible to import ODS files with any entities including bundle products to your ecommerce website without any necessity to run the conversion.

How to import Magento 2 bundle products via XLSX files?

If the bundle product data is stored in an XLSX file, you no longer need to convert it to a CSV file to fit the Magento 2 requirements. With the Improved Import & Export Magento 2 extension, it is possible to import XLSX files with any entities including bundle products to your ecommerce website without any necessity to run the conversion.

How to import Magento 2 bundle products via JSON files?

If the bundle product data is stored in an ODS file, you no longer need to convert it to a CSV file to fit the Magento 2 requirements. With the Improved Import & Export Magento 2 extension, it is possible to import JSON files with any entities including bundle products to your ecommerce website without any necessity to run the conversion.

How to import bundle products to Magento 2 via compressed files?

If the bundle product data is stored in a file archive, you can also transfer it to Magento 2 with the help of the Improved Import & Export extension. However, there are two requirements to follow. Firstly, your compressed file should be tightened following a ZIP or TAR format. Secondly, the compressed data should be stored in a CSV, XML, ODS, XLSX, or JSON file.

How to import a bundle product to Magento 2 from Google Sheets?

Use the Improved Import & Export extension and follow the guidelines described in this article to import bundle products to Magento 2 from Google Sheets.

How to import bundle products to Magento 2 from Dropbox?

In addition to Google Sheets, the Improved Import & Export module lets you transfer bundle products to Magento 2 from Dropbox. Your data should be stored in CSV, XML, ODS, XLSX, or JSON. Note that files of these types can be compressed in a ZIP or TAR format.

How to import bundle products to Magento 2 from Google Drive?

In addition to Google Sheets and Dropbox, the Improved Import & Export module lets you transfer bundle products to Magento 2 from Google Drive. Your data should be stored in CSV, XML, ODS, XLSX, or JSON. Note that files of these types can be compressed in a ZIP or TAR format.

Final Words

So, this is it for the Magento 2 bundle product guide. As you can see, Magento bundles are the most complex and at the same time flexible in comparison with other product types. they are easy to create, manage, and import. However, you need to be aware of specific Magento 2 bundle product nuances.  We hope that you have found lots of useful information and that your questions have been answered. If you still have any questions – feel free to leave a comment. If you want to improve your Magento 2 bundle product import, use our Improved Import & Export extension.