Product configurator: sell made-to-order items with surcharges
Description
Highlights
- Shoppers configure on the product page and see the price update at once
- Ten field types from dropdown to colour picker, without a line of code
- Create an option once and attach it to as many products as you like
- The configuration shows in cart, order, confirmation and documents
- Switch it per sales channel, on for trade and off for consumers
Features
- Ten field types: dropdown, radio, checkbox, text, number, quantity, colour, subgroup, products
- Surcharge per option, charged once or multiplied by the quantity the shopper enters
- Prices per currency and an individual tax rate for each option
- Live price calculation on the product page without reloading the page
- Images per option, including an image swap that follows the dropdown selection
- Mandatory fields are validated, incomplete configurations never reach the basket
- Filter options by properties so unsuitable choices disappear from the form
- Attach real articles from your catalogue as options, including rule based prices
- Four display positions on the product page, collapsed if you prefer
- Cart view collapsed or open, with or without the unit price per option
- Weight and dimensions of the options feed into the shipping calculation
- Badge and tooltip mark configurable items in listings and search results
- Configuration visible in order details, confirmation email, invoice and delivery note
- Bulk editing for options and groups, plus import and export profiles
- Separate permissions for sets, groups, options, product assignment and bulk editing
About the Extension
A shopper wants the desk in oak, 180 cm wide, cable port on the left, engraved with their name. In standard Shopware you would build variants for that. Four select fields with five values each work out to 625 variants, every one of them needing images, prices and upkeep. And the free text field for the engraving does not fit into that grid at all.
The problem
Variants were made for sizes and colours, not for configurations. Every extra select field multiplies your product records, and a two pound price rise turns into an afternoon of clicking. Anything that will not fit the variant grid ends up in the order comment. Or in an email that arrives after the order. Someone then retypes it into your ERP, and production calls back because a measurement is missing.
The solution
The plugin puts a configurator on the product itself. You create options once, bundle them into groups and assign those groups to as many products as you like. The shopper chooses on the product page, the price recalculates while they click, and the complete configuration travels into the cart, the order, the order confirmation and the documents.
What's in it for you
You maintain options, not variants. A colour costs five pounds more from tomorrow? You edit one option instead of 625 records. Options belong to groups, groups to sets, and a set can sit on as many products as you want.
Shoppers see the price while they choose. The calculation runs in the background and the page never reloads. Someone who knows what their configuration costs abandons the basket less often and phones you less often.
Orders arrive complete. Every selected option, every typed text and every quantity sits in the order line, in the order confirmation and on the invoice and delivery note. No order comment, no callback, no follow-up email.
Required stays required. If a mandatory selection is missing, the item does not go into the basket. If availability changes along the way, the basket says so instead of quietly swallowing it.
Every sales channel on its own terms. Run the configurator in your trade shop and switch it off completely in the consumer shop. Display position, cart presentation andevery other setting apply per channel.
Shipping costs include the options. You can store weight and dimensions per option. For the shipping calculation they are either added up or the highest value wins, whichever suits your products.
How the plugin works
The administration gets three areas under "Product configurator": options, groups and sets. An option is a single choice with a price, an image, a description and optionally weight and dimensions. A group bundles options and decides how they appear in the shop: as a dropdown, radio buttons, multiple choice, a text field, a text area, a number field, a quantity field, a colour picker, a nested subgroup or a list of linked products. A set collects several groups so you do not rebuild the same configuration for every product.
The product itself gets its own area for the assignment. Variants inherit the configuration from the parent product or carry their own. In listings and search results a badge marks the configurable items.
When there is a lot to maintain, bulk editing handles options and groups in one go, and ready-made import and export profiles cover larger catalogues.
Typical use cases
Furniture and fit-out. Timber, width, edge profile, handle, engraving. The price rises with each choice, and so does the weight that goes to DPD.
Signage and print. Material, size, eyelets, quantity. The quantity field multiplies the surcharge by the number entered, while other options are charged once.
Hardware with accessories. The linked products field type lets you attach real articles from your catalogue as options. The shopper adds bracket and cable in the same step, and you keep them as separate lines.
Gifts and personalisation. Colour from the colour picker, greeting from a free text field, wrapping from a checkbox. The text reaches the delivery note without anyone retyping it.
Technical facts for your IT team
Shopware 6.7, PHP 8.2 or newer, MySQL 8.0 or MariaDB 10.11. The plugin creates its own tables with the prefix swp_product_options_ only; the original Shopware tables stay untouched, and even the per product settings live in a table of their own. The plugin sends no data to external servers, calls no third party interface and opens no tracking connection. Text entered by shoppers is stored in your Shopware database like any other order detail and follows your existing retention rules.
Price calculation and option loading use a per request cache, so listing, search and cross selling do not hit the database with the same query again and again. The cart processor runs before discount calculation, which means promotions apply to the configured price. Price relevant changes to options invalidate the affected caches on their own.
The central services are built as abstract classes and extended through events, so your own adjustments can be attached by decoration without touching plugin code. Permissions are separate for sets, groups, options, product assignment and bulk editing. On uninstall you decide in the plugin manager whether the data stays; without that option the plugin removes its tables, settings and import profiles again.
To be honest
The plugin does not create Shopware variants. Options are configuration data on the cart line, so they carry no stock of their own unless you attach real articles through the linked products field type. If you need stock tracking for every single combination, classic variants remain the better tool. File uploads and formula based pricing are not part of the base plugin either, they come as separate add-on plugins. If your catalogue is made of items the customer puts together, give it a try.
Legal notice
We accept no liability for legal requirements. Please check the use of this plugin with a qualified legal advisor.
A shopper wants the desk in oak, 180 cm wide, cable port on the left, engraved with their name. In standard Shopware you would build variants for that. Four select fields with five values each work out to 625 variants, every one of them needing images, prices and upkeep. And the free text field for the engraving does not fit into that grid at all.
The problem
Variants were made for sizes and colours, not for configurations. Every extra select field multiplies your product records, and a two pound price rise turns into an afternoon of clicking. Anything that will not fit the variant grid ends up in the order comment. Or in an email that arrives after the order. Someone then retypes it into your ERP, and production calls back because a measurement is missing.
The solution
The plugin puts a configurator on the product itself. You create options once, bundle them into groups and assign those groups to as many products as you like. The shopper chooses on the product page, the price recalculates while they click, and the complete configuration travels into the cart, the order, the order confirmation and the documents.
What's in it for you
You maintain options, not variants. A colour costs five pounds more from tomorrow? You edit one option instead of 625 records. Options belong to groups, groups to sets, and a set can sit on as many products as you want.
Shoppers see the price while they choose. The calculation runs in the background and the page never reloads. Someone who knows what their configuration costs abandons the basket less often and phones you less often.
Orders arrive complete. Every selected option, every typed text and every quantity sits in the order line, in the order confirmation and on the invoice and delivery note. No order comment, no callback, no follow-up email.
Required stays required. If a mandatory selection is missing, the item does not go into the basket. If availability changes along the way, the basket says so instead of quietly swallowing it.
Every sales channel on its own terms. Run the configurator in your trade shop and switch it off completely in the consumer shop. Display position, cart presentation andevery other setting apply per channel.
Shipping costs include the options. You can store weight and dimensions per option. For the shipping calculation they are either added up or the highest value wins, whichever suits your products.
How the plugin works
The administration gets three areas under "Product configurator": options, groups and sets. An option is a single choice with a price, an image, a description and optionally weight and dimensions. A group bundles options and decides how they appear in the shop: as a dropdown, radio buttons, multiple choice, a text field, a text area, a number field, a quantity field, a colour picker, a nested subgroup or a list of linked products. A set collects several groups so you do not rebuild the same configuration for every product.
The product itself gets its own area for the assignment. Variants inherit the configuration from the parent product or carry their own. In listings and search results a badge marks the configurable items.
When there is a lot to maintain, bulk editing handles options and groups in one go, and ready-made import and export profiles cover larger catalogues.
Typical use cases
Furniture and fit-out. Timber, width, edge profile, handle, engraving. The price rises with each choice, and so does the weight that goes to DPD.
Signage and print. Material, size, eyelets, quantity. The quantity field multiplies the surcharge by the number entered, while other options are charged once.
Hardware with accessories. The linked products field type lets you attach real articles from your catalogue as options. The shopper adds bracket and cable in the same step, and you keep them as separate lines.
Gifts and personalisation. Colour from the colour picker, greeting from a free text field, wrapping from a checkbox. The text reaches the delivery note without anyone retyping it.
Technical facts for your IT team
Shopware 6.7, PHP 8.2 or newer, MySQL 8.0 or MariaDB 10.11. The plugin creates its own tables with the prefix swp_product_options_ only; the original Shopware tables stay untouched, and even the per product settings live in a table of their own. The plugin sends no data to external servers, calls no third party interface and opens no tracking connection. Text entered by shoppers is stored in your Shopware database like any other order detail and follows your existing retention rules.
Price calculation and option loading use a per request cache, so listing, search and cross selling do not hit the database with the same query again and again. The cart processor runs before discount calculation, which means promotions apply to the configured price. Price relevant changes to options invalidate the affected caches on their own.
The central services are built as abstract classes and extended through events, so your own adjustments can be attached by decoration without touching plugin code. Permissions are separate for sets, groups, options, product assignment and bulk editing. On uninstall you decide in the plugin manager whether the data stays; without that option the plugin removes its tables, settings and import profiles again.
To be honest
The plugin does not create Shopware variants. Options are configuration data on the cart line, so they carry no stock of their own unless you attach real articles through the linked products field type. If you need stock tracking for every single combination, classic variants remain the better tool. File uploads and formula based pricing are not part of the base plugin either, they come as separate add-on plugins. If your catalogue is made of items the customer puts together, give it a try.
Legal notice
We accept no liability for legal requirements. Please check the use of this plugin with a qualified legal advisor.
Details
- Available: English, German
- Latest update: 25 August 2026
- Publication date: 28 April 2021
- Version: 6.7.13
- Category: Product Configuration
Resources
Reviews (2)
Average rating of 5 out of 5 stars
Super für viele Varianten
Average rating of 5 out of 5 stars
Super Konfigurator Plugin
Average rating of 5 out of 5 stars
About the Extension Partner
BuI Hinsche GmbH
Partner Status
-
Shopware
Bronze Partner -
Shopware
Premium Extension Partner
Details
-
Ø-Rating:
4.3
Average rating of 4.3 out of 5 stars
- Partner since: 2014
- Extensions: 91
- Certifications: 2
Support
- Based in: Germany
- Speaks: German, English
- Response time: Quickly
- Frontend:
- Go to demo
- Frontend:
- Go to demo
Documentation / Installation / Configuration
If you have any questions or anything is unclear, write to support@bui-hinsche.com. We will help you quickly and without any fuss. You can also contact us directly through your Shopware account.
6.7.13 6.7.0.0 - 6.7.13.1
- fix MariaDB: updating from 6.7.11 aborted with SQL syntax error 1064 while removing the legacy option columns — DROP CHECK only exists in MySQL, replaced by the portable DROP CONSTRAINT
- tests: schema assertions no longer assume MySQL's type names (MariaDB reports JSON columns as longtext)
6.7.12 6.7.0.0 - 6.7.13.1
- perf: request-scoped caches for price calculation and options loading (calculator incl. decorator chain, loader, listing) — eliminates duplicate product queries per request
- perf: added database index on swp_product_options_options.active
- fix DAL validation errors down to zero (primary-key flags, reverse associations, camelCase translation properties)
- compat MySQL 8.x: removed install-blocking foreign key on product and completed version-aware foreign keys
- fix uninstall: import/export profile removal no longer fails on a DBAL named parameter
- fix admin: bulk-edit fieldType snippet drift and value typo corrected; core imports made build-ready
- storefront: robust styling for the configurator option tooltip
6.7.11 6.7.10.0 - 6.7.13.1
- fix compatibility with the Shopware setting core.listing.partialDataLoading — product listing, search and suggest no longer crash with "undefined method getParentId" (PartialEntity)
6.7.10 6.7.10.0 - 6.7.13.1
- fix import/export profile migrations for the Shopware 6.7 schema (technical_name column)
- fix multi-edit ("Mehrfachänderung") lost the selected options/groups when opening the edit page
- security harden Store-API assignSet endpoint so it no longer returns exception details in the response
6.7.9 6.7.8.0 - 6.7.13.1
- ix admin group/options html-texteditor
- fix deactivated cart-button
6.7.8 6.7.8.0 - 6.7.13.1
- fix inlineedit options / groups
- fix error when a deactivated product is in a cart
- fix prevent repeat orders if the order contains a configured product
6.7.7 6.7.4.0 - 6.7.13.1
- fix overwrite media error
- fix a few admin bugfixes
- fix strike preis was not displayed in productlist
6.7.6 6.7.3.0 - 6.7.13.1
- version number adjusted
- fix filter
- fix percentage cart discount
- fix little bugfix
- feature overwrite cover image on product
6.07.04 6.7.1.0 - 6.7.13.1
- fix guest orders were not possible
6.07.03 6.7.1.0 - 6.7.13.1
adjustment to Shopware 6.7.1.x
6.07.02 6.7.0.0 - 6.7.13.1
some fields could not be written
6.07.01 6.7.0.0 - 6.7.13.1
bugfix action.html.twig
6.06.10 6.6.10.0 - 6.6.10.23
- fix percentage cart discount
6.06.09 6.6.9.0 - 6.6.10.23
Adjustment made with regard to formula calculation extension (variables are selectable again)
- mandatory update formula extension to version 6.06.02
6.06.08 6.6.9.0 - 6.6.10.23
adjustment to add on picture mapping
6.06.07 6.6.9.0 - 6.6.10.23
minor bug fixes made
6.06.06 6.6.9.0 - 6.6.10.23
small bugfixes
feature: colorpicker integrated
6.06.05 6.6.7.0 - 6.6.10.23
- fix ordernumber
- fix groupname in mailtemplate
6.06.04 6.6.7.0 - 6.6.10.23
- features/ bugfixes / breaking changes
- Loader change from interface to abstract
- calculator change from interface to abstract
- cartservice change from interface to abstract
- refactoring loader / calculator / collector
- delete feature `SWP_PRODUCTOPTIONS_RULEPRICES`
- view used media in admin
- delete article cache when group/option changed or added or deleted
6.06.03 6.6.2.0 - 6.6.10.23
- Adaptation to step-by-step display
- Multiple changes for groups and options possible
6.06.02 6.6.1.0 - 6.6.10.23
6.06.01 6.6.1.0 - 6.6.10.23
bugfix in combination with discount campaign ‘Buy 3 - Pay 2’
6.06.00 6.6.0.2 - 6.6.10.23
adjustment to Shopware 6.6.0.2
6.05.05 6.5.7.4 - 6.5.8.19
- admin search for group and option extended to identifier
- feature introduced
- adjustment logger
- bugfix quantity reduction on sale
6.05.04 6.5.7.0 - 6.5.8.19
different small bugfixes
6.05.03 6.5.6.0 - 6.5.8.19
several small bugfixes
6.05.02 6.5.5.0 - 6.5.8.19
- productoptions template now inherits from product
- extended orderadmin display
- quantity and weight added
- quantities per option possible
- bugfixes
6.05.01 6.5.3.0 - 6.5.8.19
problem fixed in connection with the variants
6.05.00 6.5.0.0 - 6.5.8.19
adjustment to Shopware 6.5.x.x
6.04.14 6.4.20.0 - 6.4.20.2
smaller bugfixes ...
6.04.13 6.4.18.0 - 6.4.20.0
bugfix manufacturer rule
6.04.12 6.4.18.0 - 6.4.18.1
- adjustment to Shopware 6.4.18.0
- adjustment for other productoptions-plugins
- added customfields to options
- html tags durch classes edit
6.04.11 6.4.18.0 - 6.4.18.1
general improvements
6.04.10 6.4.16.0 - 6.4.17.2
- adjustment to Shopware 6.4.16.1
- bug copy product fixed
- show all assigned images
6.04.09 6.4.16.0
- create option from group and assign
- fix db group/parentgroup constraint
- new field type inserted - processing for new field type via subscriber and command
- config value for prices = 0 in the overview
- javascript events added
- little bugfixes
6.04.08 6.4.11.0 - 6.4.15.2
- refactoring of various classes
- small bug fixes
- additional events
- import/export profile provided
6.04.07 6.4.8.0 - 6.4.11.1
- When using a radio button, checkbox or dropdown, one image can be displayed per option.
- Different display options are available.
- These can be stored differently for each article.
- Assigned options are transferred from the main article to the variants, but can be defined differently for each variant.
6.04.06 6.4.8.0
- adjustment to Shopware 6.4.8.0
-> Unable to compile the theme "Storefront". `~scss/variables` file not found for @import: ...
6.04.05 6.4.7.0
adjustment to Shopware 6.7.7.0
6.04.04 6.4.6.0 - 6.4.6.1
- real articles can be used as an option
- template adjustment made in order e-mail
- template adjustment regarding product layout adapted
6.04.03 6.4.4.1 - 6.4.5.1
6.04.02 6.4.2.0 - 6.4.4.0
Options can be filtered now
6.04.01 6.4.1.0 - 6.4.1.2
Discounts are also calculated with product options
6.04.00 6.4.0.0
first release Shopware 6