Product bundles are individual goods or services sold to consumers as one combined package.
This module allows you to create simple bundles of product variations with desired quantities.
It utilizes Commerce Core default Product and Product Variation entity types.
Features
- Create bundles by referencing product variations and their quantities
- Pricing model: by percentage / use default price field/pricelist module
- Split bundle into separate items during order placement
- Split bundle option configurable per each product variation
- Show saving amount/percentage with new adjustment type - bundle_saving
- Integration with commerce_stock - dynamically set stock based on bundle contents
- Use product variation attributes dynamically from referenced bundle items - experimental
Attributes submodule is experimental. Use at your own risk.
Data model:

Post-Installation
- Navigate to /admin/commerce/config/product-types
- Create new product and product variation type.
- Navigate to /admin/commerce/config/product-variation-types
- Edit newly created variation type and select under traits: Variation bundles
This product variation type will be treated as a Variation Bundle, and you will see the field to reference bundle items.
Note: Using existing variation types as Variation bundles is not recommended.
Known issues
If you are using Commerce Core tax, please see an active bug with the wrong tax calculation
https://www.drupal.org/project/commerce_variation_bundle/issues/3407999
Integrations
Commerce Variation Bundle Stock - local stock integration - dynamically determines the stock of bundle based on the lowest quantities of referenced items.
Additional Requirements
None
Recommended modules/libraries
None
Similar projects
| Attachment | Size |
|---|---|
| commerce_bundle_variation.jpg | 29.32 KB |
Project information
- Project categories: E-commerce
- Ecosystem: Commerce Core
67 sites report using this module
- Created by valic on , updated
Stable releases for this project are covered by the security advisory policy.
Look for the shield icon below.

