Available now
All prices net, plus VAT.
You buy the licence directly from us and receive an invoice from us. Installation by upload in the admin without SSH, updates through our licence platform, support straight from the developer.
From the first generation to the discount in the basket: build and approve sets, configure sources and limits, choose the position - and find out why a discount is not applying when in doubt.
Shopware 6.7 with Storefront, PHP 8.2 or newer. Background runs and the scheduled run need a working message queue; the built-in admin worker is enough.
Upload the ZIP in the admin under Extensions, install and activate it. Then enter the licence key on the licence screen.
If several sources are active, their weights add up. Genuine co-purchases count triple; "viewed together" weighs more than the catalogue sources and less than real purchases.
The maximum partner price limits how expensive a partner may be relative to the anchor product. At 60, a product costing 100 euros only gets partners up to 60 euros. This produces sets with accessory character rather than arbitrary pairings of cheap and expensive articles. Zero disables the rule.
Only available products excludes clearance articles without stock so no sets are created that the shop immediately hides again.Exclude manufacturers and exclude categories keep products out entirely - they become neither anchor nor partner. Useful for vouchers, spare parts or shipping articles.The normal run considers the strongest products from order history and is capped by "maximum anchor products per run".
In the Individual products tab you select articles deliberately. Sets are created for them without that cap, even if they barely appear in the order history. After the run the results appear directly below the selection and can be approved, rejected, deactivated or edited there.
A selected parent product includes its variants; the data basis always comes from the purchasable products.
If a run finds nothing for a product, relax the rules helps: for that single run all data sources are used, minimum values are set to one, price ratio and minimum AI score are suspended and the period widens to two years.
In a relaxed run the AI no longer discards sets but only scores and names them; its assessment still appears on every set. Results of a relaxed run always go into the review pool, even with auto-approval active.
Another run for the same product does not replace the existing sets but adds further ones - identical combinations are merely updated. How many sets a product shows in the shop is controlled by "maximum bundles shown"; the default is one. A marker points out anchor products with several sets, and the filter "only products with several bundles" in the review pool shows exactly those.
A set is either open, approved or rejected. The available buttons follow from that:
The coloured figures next to a set explain themselves on hover.
Four positions are available: at the top of the buy box, directly above the price; below the complete buy box; above the tab bar, meaning above description and reviews; or below the entire tab area.
"Do not display" hides the box without deleting the generated sets.
Show heading and show description text switch the two text lines of the box on or off. The texts themselves are maintained per set through "Edit".The set button text can be adapted: either one text for all languages or one per language. Empty fields fall back to the general text first, then to the translated default.
With assign bundles both ways a set appears not only on the anchor product but also on the product pages of the partners it contains. The anchor product is shown there as an equal member of the set.
Link products controls whether the product name in the box leads to the product page. Switched off the name stays plain text and the customer stays where they are. Show quick info in a modal opens a small window with image, article number, price and short description when a product is clicked. With links switched off, the button to the product is omitted inside it. Both options work independently.
The product layout determines the arrangement in the box. Wrap into rows shows four products per row, two on tablets, one on phones. Slider keeps all products in one swipeable row; on desktop arrows appear that disable themselves at the ends. List gives every product its own row across the full width.
With AI scoring active, every set is sent to the chosen provider. The AI decides whether the products belong together, assigns a score and, on request, writes a short sales headline. Sets below the minimum score are discarded and never reach the review pool.
Names, description texts and discount reasoning are produced by the AI in the default language of the shop.
Switched off by default. When active, the discount applies as soon as all products of an approved set are in the basket. It appears there as its own line item and is determined afresh on every recalculation: if a product of the set leaves the basket, the discount disappears automatically.
The percentage from the settings applies to all sets. Through "Edit" a deviating value can be set per set, which then takes precedence.
The minimum set value prevents discounts on very small orders. With tier the discount by set size, larger sets receive more - five percent for two, eight for three and twelve from four products, for example. The tiering applies only to sets without their own percentage.
With bundle name as discount name the discount line carries the name of the set, such as "Garden set (-25 %)". The customer then sees in the basket which set triggered it.
With this setting the AI assigns a discount suggestion to every set during generation. The basis is how well the products fit - very coherent sets need only a small incentive, loosely fitting ones a larger one - and the price level of the set, because with expensive sets a few percent already carry weight.
The maximum AI discount caps the suggestion hard; the AI can never exceed it. The value lands as a percentage on the set, is visible in the review pool and can be changed through Edit at any time. Existing sets keep their value.
The discount is still only granted when the set discount is switched on overall.
The discount diagnosis in the settings checks whether a combination of article numbers would trigger a discount. It runs server side through exactly the same logic as the basket calculation.
If no discount applies, it names the concrete reason: switch off, unknown article number, no approved set, missing set product or a percentage of zero.
When generating from the administration a window shows the progress: anchor products processed, sets created and sets discarded by the AI. Continue in the background hands the run to the message queue - the admin is immediately usable again, a slim bar shows the state, and the run continues even with the browser closed.
The run is protected against interruptions: if a segment fails, the admin retries with growing pauses, and after reloading the page a running generation is picked up automatically. It works in segments and can be cancelled at any time - sets already created are kept.
On the console: bin/console staw:product-bundles:generate --size=3 --per-product=2
If no set appears on a product page although one should, the "check display" tool answers that in one go: enter an article number and it names the sets that appear on that page - and for the rest, the reason why not.
The check uses exactly the same matching as the storefront, including variants and mutual assignment. What it shows is therefore precisely what the customer sees.
Questions and requests come straight to us - support is from the developer, not from a queue. You can also request a feature through the Plugin Suite in the admin.
All prices net, plus VAT.
You buy the licence directly from us and receive an invoice from us. Installation by upload in the admin without SSH, updates through our licence platform, support straight from the developer.
The plugin will be listed in the official Shopware Community Store. Installation and automatic updates then run through the plugin manager in the backend, billing through your Shopware account. We will link it here as soon as it is available.