Build a configurator
Building a configurator is nine parts modelling and one part clicking. This article is the modelling: the option matrix, the rule table and the price build-up you need before any screen is involved.
simple, model or variant and there is no configurable kind.
The order side is already built — a cart line and an order line can be of type
configuration and carry a configuration payload. Everything in steps 1 to 5
below is work you do in a spreadsheet and in the catalogue, it is the majority
of the project, and none of it is wasted.1. Write the option matrix
One sheet. One row per option group, in the order you will ask the questions.
| Group code | Label | Type | Required | Default | Options |
|---|---|---|---|---|---|
current_rating | Current rating | single-select | yes | 450a | 300a, 350a, 450a |
torch_length | Torch length | single-select | yes | 4m | 3m, 4m, 6m, 8m |
cooling | Cooling | single-select | yes | water | gas, water |
connection | Connection | single-select | yes | bayonet | bayonet, central, euro |
cable_length | Cable length | number (m) | no | 4 | 3–20, step 0.5 |
Three rules for this sheet.
Ask the constraining question first. If the current rating rules out half the torch lengths, ask for it first. Buyers should not be shown a choice they are about to lose.
Every default is a commercial decision. A large share of configurations are ordered exactly as they open. Make the defaults the build you want.
Codes are permanent, labels are not. 450a with the label "450 A (water
cooled only)" lets you change the wording in three languages without touching a
single rule or a single order.
2. Create the options as catalogue data
Option groups map onto attributes, and options map onto attribute options. Doing this now means the values are already clean, translated and filterable when the configurator engine lands — and it makes the same values usable for search facets and for the variant model in the meantime.
- Go to PIM › Data model › Attributes.
- Create one single-select attribute per option group, using the code from your matrix.
- Open each attribute, go to Options, and add every option with a code and a label per language. Set position so the order is sensible — 3 m, 4 m, 6 m, 8 m, never alphabetical.
- Set filterable on the groups a buyer would narrow by.
- Assign the attributes to the configurable product's family.
For groups that are a number with a unit — cable length in metres, coating area in m² — use a measurement attribute rather than a number, so the unit is part of the value. See Measurements and units.
3. Write the rule table
One row per rule, in plain language, owned by the person who knows the product.
| # | If | Then | Why |
|---|---|---|---|
| 1 | current_rating = 450a | cooling must be water | 450 A cannot be gas-cooled |
| 2 | current_rating = 300a | torch_length = 8m not available | Voltage drop over 8 m |
| 3 | connection = bayonet | adapter AD-BAY added automatically | Always fitted with bayonet |
| 4 | cooling = gas | hide group coolant_package | Not applicable |
The Why column is not decoration. In two years somebody will ask why 300 A and 8 m are incompatible, and without that column the answer will be "it has always been like that" and the rule will be removed by somebody who does not know about voltage drop.
Check the table for contradictions before you build anything. Two rules that require each other's exclusions produce a configurator with no valid exit — see Configurator problems.
4. Decide the price build-up
Write the formula down, in order, and get finance to agree to it.
- Base price of the model — an ordinary list price from your price list.
- Option deltas — absolute (
water+ 85.00) or relative (special_coating+ 4 %). One column per currency if you sell in more than one. - Quantity surcharges —
cable_length× €12.40/m. State the rounding rule explicitly and state it once. - Customer conditions — the contract price or discount, and which layer it applies to. A discount on the base price and a discount on the configured total are different numbers. See Contract prices for a customer.
Then check three edge cases before anyone else does: the cheapest possible configuration, the most expensive possible configuration, and the configuration your Innendienst sells most often. If the third one does not match what the Innendienst quotes today, the formula is wrong, not the Innendienst.
5. Decide what reaches the ERP
A configured line carries the model SKU, a written specification for the documents, and a structured payload of the chosen options. Your ERP needs the last of those in its own vocabulary — SAP variant configuration characteristics, or whatever your system calls them.
Agree the mapping now, per option group, as a two-column list: your option code, their characteristic value. Do it before launch and it is an afternoon. Do it after launch and it is a manual correction on every order. See Field mapping.
What to check
- Ten real configurations. Take the last ten configured orders your Innendienst processed. Every one must be reachable through your option matrix, allowed by your rule table, and priced to the cent. Any that is not is a gap in the model, and it is much cheaper to find it here.
- Every rule has an owner and a reason. No orphan rules.
- Defaults produce a sellable product. Open the configuration, change nothing, and check the result is something you would build.
- No configuration can be reached that you cannot build. Ask production to try to break it. They will succeed, and that is the point.
Next
- The buyer's path: configure and order — the storefront side and the order line.
- Sell configurable products — the whole scenario, phased.