Commerce Bundle: Taking the “Un!” out of bundles

First, let’s clarify our meaning of the term “bundle”. Mothers consider their newborns “little bundles of joy”. Drupal developers feel giddy when they create a new “bundle of fields on an entity type”. Today, however, we’ll be looking at a far more sinister definition; the one used inside the marketing dept. i.e. product bundles.
I imagine the idea of product bundles originated somewhere in Ancient Egypt during the reign of the Pharaohs. It likely occurred when an engineer in the Mummification department who was struggling to come up with new product ideas decided to swing by the Marketing department for some friendly banter.
Marketing Manager: “Greetings Amun. How’s it going?”
Engineer: “Not so well. I’ve got His Royal Pain-in-the-Butt Tutankhamun breathing down my neck to increase our product line. I’ve told him a thousand times that making mummies only requires three things 1. gauze wrap, 2. embalming fluid, and 3. a nasal brain extractor. What am I to do?!”
Marketing Manager: “Now I’m just spitballing here, but since you’re so good at wrapping, heh heh, why not just wrap all three of those products up, and sell them together as a new product? You know, a DIY mummy kit.”
Engineer: (Sigh)
and the world was given product bundles.
Now we’re happy to announce that Drupal Commerce sites can offer their customers product bundles in the form of the Commerce Bundle module. Some notable features of the module are:

Product attribute support

Let’s say that one of your products are all the boondoggle keychains you made at scout camp. They come in a variety of sizes and colors (i.e. attributes), and now you want to bundle them with your Three Wolf Moon t-shirts that have attributes as well. Commerce Bundle will generate select widgets for each attribute per product in your bundle, so that a customer can choose the exact bundle configuration they desire.

Bundle pricing at the product level

This gives you complete control over the price of each item in your bundle. For example, you might have created a bundle containing your illustrations of mythical creatures. You’d like to sell the colored illustrations for $5 more than the black and white. In this case, just set the bundle item price for colored to the desired amount, and you’re all set. This also means that the total bundle price is determined by the sum of the item prices.

Multi-quantity product support

Maybe your keychain/t-shirt bundle isn’t selling so well, and you’d like to sweeten the deal by adding a second keychain for free! This can be done by setting Unit Quantity=2 for your keychain group. The unit quantity tells commerce_bundle how many of a particular product is required when bundle quantity equals one.

Bundles function at the line item level

Your bundles really only act as a bundle on the Add to Cart form and when a customer is managing their cart (i.e. removing bundles, changing quantity). Once checkout begins, there is no concept of a bundle, just a group of line items in a cart. This means that the module will play nice with other modules in the Drupal Commerce ecosystem e.g. Commerce Reports.
This project was built by Commerce Guys, and sponsored by Idea Den.


Posted March 18, 2014


Submitted by mradcliffe (not verified) on

I think the term product kits would be less confusing than "bundle" which is a loaded Drupal term similar to "context". On the other hand confusing naming schemes are a tradition.

Nicely done thought. Product bundles are an important feature for complex business requirements and sales folk trying to offer discounts and add-ons.

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <p> <br>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
Refresh Type the characters you see in this picture. Type the characters you see in the picture; if you can't read them, submit the form and a new image will be generated. Not case sensitive.  Switch to audio verification.