Price management
Every price your customer sees in the configurator is set up in the Product Editor: fixed prices on options, step prices on number inputs, and calculated prices built with formulas that can react to what the customer selects. This page covers where the price fields live, how the calculation editor works, and two worked examples — an m² price and a conditional price.
The manager interface is in Dutch. Each setting below lists the Dutch label in parentheses so you can find it in the panel.
Where to find it
Manager → Configurations (Productconfiguraties) → open a product → Product Editor. Select a step, feature, or option (subfeature) in the tree on the left; its settings appear on the right.

Price fields
Fixed price on a feature or option
Open the Logic (Logica) section of a feature or subfeature. The Price (Prijs) field sets a fixed amount in euros. For a subfeature (an option the customer can pick), this amount is added to the total whenever the option is selected.
For a feature, the price field behaves differently: it does not add to the total by itself. It is a stored value you can reference from calculations elsewhere (via @@featureID.price@@ — see below). Use it as a central place for a rate, such as a price per m².

Step price on a number input
Number-input features (width, height, quantity, …) have a Number values (Getalwaarden) section: Start value (Waarde bij start), Min. value (Min. waarde), Max. value (Max. waarde), Unit (Eenheid, e.g. cm), Step (Stap) and Step price (Stapprijs).
The step price is charged per step above the minimum: price = (value − min) / step × step price. A width input from 60 to 120 cm with step 10 and step price € 15 adds € 90 at 120 cm.

Product-wide financial settings
The product's Financial settings (Financiële instellingen) apply to every price in the product:
| Setting | Dutch | What it does |
|---|---|---|
| VAT | BTW | VAT percentage used when prices are entered excluding VAT. |
| Round prices to | Alle prijzen afronden op | Rounds every computed line, e.g. to 0.05 or 1. |
| Extra percentage | Extra percentage | Adds a surcharge/margin percentage on top of every line. |
| Price entry mode | Prijsinvoermodus | Including VAT (Prijzen inclusief BTW) or excluding VAT (Prijzen exclusief BTW). In excluding mode, every price and calculation in the product must be entered without VAT. |
Prices are processed in this order: raw price → + VAT → + extra percentage → rounding.
Under Customer price display (Prijsweergave voor klant) you control what the customer sees: hide the total, hide per-feature prices, hide prices in the summary, and set a text above the total price.

The calculation editor
Next to the Price field (and to Min, Max, Value (Waarde) and Visibility (Zichtbaarheid)) sits a calculator button. It opens the logic editor: "price logic for @featureID" (prijs-logica voor @featureID).

The editor is a list of rows, evaluated top to bottom like if/else-if:
- Left column — the conditions. The first row is labelled start, later rows anders (else). The first row whose conditions are met wins.
- Right column (dan) — the formula that produces the price.
- Add row (rij toevoegen) adds another condition/formula pair. Rows can be reordered by dragging, and whole logic blocks can be copied between items with copy (kopiëren) / paste (plakken).
Referencing other features
Type @ in the formula field to open a search overlay. Pick a feature or option, then choose Value (Waarde), Price (Prijs), Minimum or Maximum. This inserts a reference token:
| Token | Resolves to |
|---|---|
@@featureID.value@@ | The customer's current number input / quantity. |
@@featureID.price@@ | The feature's Price field (a stored rate). |
@@featureID.min@@ / @@featureID.max@@ | The number input's min/max. |
@@featureID>optionID.value@@ | The option's quantity value. |
@@featureID>optionID.price@@ | The option's price. |

Operators and functions
Formulas support + - * / ( ) and ^ (power). The Functions (Functies) buttons insert:
| Function | Dutch button | What it does |
|---|---|---|
ROUND(x) / ROUND(x, step) | Afronden | Round, optionally to a step (e.g. 0.5). |
FLOOR(x) | Naar beneden | Round down. FLOOR(x, min) also clamps to a minimum. |
CEIL(x) | Naar boven | Round up. CEIL(x, max) also clamps to a maximum. |
CLAMPMIN(x, min) | Minimaal | Never lower than min. |
CLAMPMAX(x, max) | Maximaal | Never higher than max. |
SQRT(x) | Wortel | Square root. |
POW(x, y) | Macht | x to the power y. |
Example: price per m²
There is no built-in m² field — you build it from two number inputs and one formula.
Create two number-input features, e.g. IDs
breedteandhoogte, with unitcmand sensible min/max values.On the feature or option that carries the price, open the Price calculator and enter (for € 125 per m², inputs in cm):
(@@breedte.value@@ * @@hoogte.value@@ / 10000) * 125Refine as needed — bill at least 1 m² and round to 5 cents:
ROUND(CLAMPMIN(@@breedte.value@@ * @@hoogte.value@@ / 10000, 1) * 125, 0.05)To keep the rate maintainable, put
125in the Price field of a feature (e.g.m2prijs) and reference it as@@m2prijs.price@@instead of hard-coding it.
Tip: to show the computed m² to the customer, add a read-only number input and give its Value (Waarde) logic the same area formula.

Example: conditional price
Say the m² rate depends on the chosen tabletop material. In the price logic, use two rows:
- Row 1 (start): condition — click + add (+ toevoegen), search the feature (Zoek feature…), pick e.g.
Bladselection (selectie), operator equals (is gelijk), valueMarmer wit. Formula:(@@breedte.value@@ * @@hoogte.value@@ / 10000) * 165 - Row 2 (anders): no condition — the fallback. Formula:
(@@breedte.value@@ * @@hoogte.value@@ / 10000) * 125
Condition groups can require all (alle) or one of (één van) the conditions, and can be nested. Number conditions support is hoger dan, is lager dan, is gelijk aan and is niet gelijk aan; selection conditions support equals / not equals with an option picker. Conditions on hidden or inactive features count as not met.


How the total is computed
The configurator computes everything live in the browser — there is no separate price service to call. Per feature line: the feature's price logic (if any) + step price of number inputs + the prices of selected options. Each line then gets VAT, the extra percentage, and rounding applied, and the total sums all active, visible lines. The total is shown in the configurator's action bar and summary, and is included in every submission and webhook payload as total_price.
Renaming IDs used in formulas
Feature IDs are the anchors of your formulas. If you change an ID that is referenced in logic, the editor warns you (ID gewijzigd) with the number of affected rules and offers Replace and save (Vervangen en opslaan) to update all references, or Save without updating (Opslaan zonder bijwerken). The References (Referenties) collapse on each item shows where its ID is used.