This plugin adds the ability to create and manage product bundles in Shopware 6. It allows you to assign products as bundles, configure discounts, and display them in the storefront.
✅ Create bundle sets for products
✅ Assign products to bundles with custom quantities
✅ Configure bundle discounts (percentage or fixed)
✅ Display bundles in the storefront with adjusted pricing
- ✅ Shopware 6.6.x
You can install the plugin in two ways:
composer require solution25/bundle-configuratorgit clone https://github.com/solution25/bundle-configurator.gitAfter installation, activate the plugin in the Shopware 6 administration panel.
- In Shopping Experiences (CMS), create a new layout specifically for bundle products.
- Assign the required blocks (including the Buy box) to this layout.
- Save the layout.
- Go to Catalog > Products in administration.
- Edit the product where you want to display the bundle.
- In the Layout tab, assign the newly created bundle layout to this product.
- In the Bundle tab within the product edit page:
- Click Add bundle to create a new bundle.
- Set the bundle name.
- Choose the discount type (percentage or fixed) and enter the discount value.
- Add products to the bundle and adjust the quantities as needed.
- Save the bundle.
- After adding products to the bundle, you can change the quantity of each product directly in the Bundle tab.
- Once configured, the bundles will be visible in the storefront for the assigned product.
- The displayed price will be automatically calculated based on the selected bundle products and discounts.
- Create a layout called Bundle Product in the CMS.
- Assign it to a product in the Layout tab.
- In the Bundle tab, create a bundle set:
- Set name and discount (percentage or fixed).
- Add products and adjust their quantities.
- Save the product.
- Visit the storefront and see the bundle displayed with calculated prices.
This document describes the API endpoints provided by the Bundle Plugin for Shopware 6. These endpoints allow authorized users to create, update, delete, and fetch bundle data associated with products.
Endpoint
POST /api/bundle/upsert
Creates or updates a product bundle for a specified main product (identified by productNumber).
If an empty products array is provided, the existing bundle will be deleted.
The system validates:
- Existence of the main product by
productNumber. - Validity and presence of each assigned product’s
productNumberandquantity. - Proper input format.
Authorization: Bearer <your-access-token>
Content-Type: application/json
Note: The access token must be obtained from the Shopware Admin API using a valid integration or user login.
{
"id": "b2f47e1c6d1247cf9f3f1b4d4c43f784",
"productNumber": "SW10123",
"name": "Summer Bundle",
"discount": 15,
"discountType": "percentage",
"products": [
{
"productNumber": "SW20100",
"quantity": 2
},
{
"productNumber": "SW20200",
"quantity": 1
}
]
}{
"status": "success",
"data": "Bundle b2f47e1c6d1247cf9f3f1b4d4c43f784 successfully updated"
}{
"error": "Product not found"
}Endpoint
GET /bundle/cart-by-customer
Returns the current cart items for the logged-in customer.
Accept: application/json
customerId(optional)
{
"success": true,
"customerId": "e45fe67c39424bc8aab0a7b99a91545b",
"lineItems": [
{
"id": "lineItem1",
"referencedId": "productId1",
"quantity": 2
},
{
"id": "lineItem2",
"referencedId": "productId2",
"quantity": 1
}
]
}{
"success": false,
"message": "Access denied. You can only access your own cart."
}- Use meaningful names for your bundles: This helps customers understand what they're getting.
- Test bundle combinations thoroughly: Check how discounts and quantities affect the storefront display.
- Maintain layout consistency: Ensure the bundle layout is uniform across similar product types.
- Leverage Shopware’s translation features: Provide localized bundle names and descriptions for international stores.
Problem: Buy box missing in the layout
✅ Solution: Ensure the Buy box block is added to your layout in the CMS.
Problem: Discounts not reflected in storefront
✅ Solution: Check that the bundle discount is set correctly in the Bundle tab and the layout is assigned to the product.
Problem: Bundles not showing in the storefront
✅ Solution:
- Verify that the layout with the Buy box is assigned to the product.
- Clear the cache and reindex data in Shopware.
Problem: Quantity updates not saved
✅ Solution: Ensure you click Save bundle after updating product quantities in the bundle.
Q1: Can I use this plugin with any theme?
A1: Yes, the plugin works with any theme that supports Shopware's CMS system. Just ensure your layout includes the Buy box element.
Q2: Does the plugin support variable product discounts?
A2: Currently, you can only set percentage or fixed discounts on the whole bundle, not per product.
Q3: What happens if I remove a product from a bundle?
A3: The product will no longer be part of that bundle in the storefront, and the price will update automatically.
Q4: Is the plugin compatible with the latest Shopware 6 version?
A4: Yes, it is tested with Shopware 6.6 and above.
Q5: Can I translate bundle names and descriptions?
A5: Yes, use Shopware’s built-in translation feature to localize your bundles.
- The plugin is compatible with Shopware 6.6 and later.
- The Buy box element is required in the layout to ensure bundles can be purchased in the storefront.



