Skip to content

Prijsbeheer ​

Elke prijs die je klant in de configurator ziet, stel je in via de Product Editor: vaste prijzen op opties, stapprijzen op getalinvoer en berekende prijzen met formules die reageren op wat de klant kiest. Deze pagina behandelt waar de prijsvelden staan, hoe de logica-editor werkt en twee uitgewerkte voorbeelden — een m²-prijs en een conditionele prijs.

Waar je het vindt ​

Manager → Configuraties (Productconfiguraties) → open een product → Product Editor. Selecteer links in de boom een stap, feature of optie (subfeature); de instellingen verschijnen rechts, verdeeld over de tabbladen Inhoud, Prijzen en Logica. Prijsvelden staan op het tabblad Prijzen; voorwaarden, zichtbaarheid en getalgrenzen op het tabblad Logica.

De Product Editor met een geselecteerde feature

Prijsvelden ​

Vaste prijs op een feature of optie ​

Open het tabblad Prijzen van een feature of subfeature. Het veld Prijs stelt een vast bedrag in euro's in. Bij een subfeature (een optie die de klant kan kiezen) wordt dit bedrag bij het totaal opgeteld zodra de optie geselecteerd is. Zodra prijs-logica voor de optie is ingeschakeld, vervangt de uitkomst van die logica het vaste bedrag.

Bij een feature werkt het prijsveld anders: het telt niet vanzelf mee in het totaal. Het is een opgeslagen waarde die je elders in berekeningen kunt gebruiken (via @@featureID.price@@ — zie hieronder). Gebruik het als centrale plek voor een tarief, zoals een prijs per m².

De sectie Logica met het prijsveld en de rekenmachineknoppen

De sectie Logica op het tabblad Logica bevat Verplicht beantwoorden. Staat die aan, dan kan de klant pas verder als deze feature een antwoord heeft. Een single selection moet altijd beantwoord worden, dus daar staat de schakelaar verplicht aan.

Stapprijs op een getalinvoer ​

Getalinvoer-features (breedte, hoogte, aantal, …) hebben een sectie Getalwaarden: Waarde, Min. waarde, Max. waarde en Stap op het tabblad Logica, Eenheid (bijv. cm) op het tabblad Inhoud en Stapprijs op het tabblad Prijzen.

De stapprijs wordt per stap boven het minimum gerekend: prijs = (waarde − min) / stap × stapprijs. Een breedte-invoer van 60 tot 120 cm met stap 10 en stapprijs € 15 telt bij 120 cm € 90 op.

Getalwaarden met eenheid, stap en stapprijs

Financiële instellingen per product ​

Selecteer het product zelf in de boom en open het tabblad Prijzen. De Financiële instellingen en de Prijsinvoermodus van het product gelden voor elke prijs in het product:

InstellingWat het doet
BTWBTW-percentage dat wordt toegepast als prijzen exclusief BTW zijn ingevoerd.
Alle prijzen afronden opRondt elke berekende regel af, bijv. op 0.05 of 1.
Extra percentageTelt een toeslag-/margepercentage op bij elke regel.
PrijsinvoermodusEen schakelaar tussen Prijzen inclusief BTW en Prijzen exclusief BTW. In de exclusief-modus moet elke prijs en berekening in het product zonder BTW worden ingevoerd.

Prijzen worden in deze volgorde verwerkt: kale prijs → + BTW → + extra percentage → afronding.

Prijsweergave voor klant ​

Onder Prijsweergave voor klant bepaal je wat de klant ziet: totaalprijs verbergen, prijs per feature verbergen en prijs in het overzicht verbergen. De Tekst boven totaalprijs stel je in bij de sectie Content van het product, op het tabblad Inhoud.

Financiële instellingen en prijsweergave voor klant

De logica-editor ​

Naast het veld Prijs (en naast Min, Max, Waarde en Zichtbaarheid) staat een rekenmachineknop. Die opent de logica-editor: prijs-logica voor @featureID. De rekenmachineknoppen worden alleen getoond bij producten met logica-versie 2.

De logica-editor met een voorwaardenkolom en een formulekolom

De editor is een lijst rijen die van boven naar beneden worden geëvalueerd, als if/else-if:

  • Linkerkolom — de voorwaarden. De eerste rij heet start, latere rijen anders. De eerste rij waarvan de voorwaarden kloppen, wint.
  • Rechterkolom (dan) — de formule die de prijs oplevert.
  • Rij toevoegen voegt een extra voorwaarde/formule-paar toe. Rijen zijn versleepbaar, met de icoontjes naast dan dupliceer of verwijder je een rij, en complete logicablokken kopieer je tussen items met Kopiëren / Plakken.
  • Logica ingeschakeld zet de logica aan of uit; staat hij uit, dan blijven de rijen bewaard maar worden ze niet toegepast.

Verwijzen naar andere features ​

Typ @ in het formuleveld, of klik in de werkbalk erboven op Variabele invoegen, om een zoeklijst te openen. Elke regel is een feature of optie samen met wat je ervan uitleest: Waarde, Prijs, Minimum of Maximum (de laatste twee bij getalinvoeren). Kiezen voegt een verwijzing in, getoond als een chip met de naam van de feature. De knop Ruwe tokens in de werkbalk toont in plaats daarvan de onderliggende tokens:

TokenVerwijst naar
@@featureID.value@@De huidige getalinvoer / het aantal van de klant.
@@featureID.price@@Het prijsveld van de feature (een opgeslagen tarief).
@@featureID.min@@ / @@featureID.max@@Het min/max van de getalinvoer.
@@featureID>optieID.value@@De aantalwaarde van de optie.
@@featureID>optieID.price@@De prijs van de optie.
@@featureID.selected.eigenschap@@Een aangepaste eigenschap van de gekozen optie (bij een multiple selection opgeteld over alle gekozen opties).
@@featureID>optieID.eigenschap@@Een aangepaste eigenschap van die optie.

Het @-zoekvenster voor het invoegen van een verwijzing

Operatoren en functies ​

Formules ondersteunen + - * / ( ) en ^ (macht). Voeg een functie in met Functie invoegen in de werkbalk, of begin de naam te typen (drie letters zijn genoeg voor suggesties):

FunctieWat het doet
ROUND(x) / ROUND(x, stap)Afronden, optioneel op een stap (bijv. 0.5).
FLOOR(x)Naar beneden afronden. FLOOR(x, min) begrenst in plaats daarvan op een minimum.
CEIL(x)Naar boven afronden. CEIL(x, max) begrenst in plaats daarvan op een maximum.
CLAMPMIN(x, min)Nooit lager dan min.
CLAMPMAX(x, max)Nooit hoger dan max.
SQRT(x)Vierkantswortel.
POW(x, y) / POWER(x, y)x tot de macht y.

Opschonen in de werkbalk ruimt de spaties in de formule op. Staat er een fout in een formule — een onbekend ID, een ontbrekend rekenteken, een niet gesloten haakje — dan meldt een waarschuwing onder het veld dat de formule nu naar 0 rekent en waarom.

Zichtbaarheidslogica ​

Zichtbaarheid bepaalt of een feature of een optie überhaupt getoond wordt. Het gebruikt dezelfde editor, maar de uitkomst is geen formule: de rechterkolom is een keuzelijst met waar en onwaar, en er is maar één rij — geen anders-tak, en Rij toevoegen verdwijnt zodra die ene rij bestaat.

Lees de rij als de zichtbaarheid-uitkomst wordt waar: het item wordt getoond als de voorwaarden kloppen en verborgen als dat niet zo is. Kies je onwaar, dan draait de regel om — het item wordt juist verborgen wanneer de voorwaarden kloppen. Elke regel kun je op beide manieren schrijven, dus kies de formulering die het prettigst leest.

Verbergen is niet alleen visueel. Een verborgen feature wordt gedeactiveerd: het antwoord wordt gewist, het aantal gaat naar 0 en hij telt dus niet meer mee in het totaal. Een verborgen optie binnen een single of multiple selection wordt eerst gedeselecteerd; blijft een single selection daardoor zonder antwoord, dan kiest de configurator de eerste optie die nog wél zichtbaar is.

Zichtbaarheid wordt bepaald vóór min/max, aantallen en prijzen, zodat een formule elders nooit een waarde uitleest van iets wat de klant niet kan zien. Een verborgen feature haalt ook zijn opties uit de flow — je hebt dus geen tweede regel per optie nodig.

Voorbeeld — de bladkleur Eikenhout mag alleen te kiezen zijn als het materiaal eikenhout is:

  1. Selecteer het item in de boom — hier de optie color_top_oak — en open Logica → Zichtbaarheid.
  2. Zet Logica ingeschakeld aan — zonder dat wordt de regel wel bewaard maar niet toegepast.
  3. Voorwaarde: + Toevoegen → voorwaarde → zoek Materiaal → Selectie → operator = → Eikenhout. Klik je in de zoekresultaten onder Materiaal direct op de knop Eikenhout, dan gebeurt hetzelfde in één keer.
  4. Uitkomst: waar.

Zichtbaarheidslogica voor @color_top_oak: één voorwaarde op Materiaal met uitkomst waar

De optie verschijnt nu alleen bij een eikenhouten blad. Kiest de klant een ander materiaal, dan verdwijnt hij, en had de klant hem geselecteerd, dan neemt de eerstvolgende zichtbare optie zijn plaats in. Dezelfde regel andersom geschreven — operator != met uitkomst onwaar — doet precies hetzelfde.

Vanaf twee voorwaarden staat boven de groep als één van deze voorwaarden waar zijn; klik op het gemarkeerde woord om te wisselen tussen één van en al. Dat bepaalt of één treffer genoeg is of dat ze allemaal moeten kloppen.

Zet je de regel op de feature in plaats van op één optie, dan verdwijnt de hele vraag uit de flow, opties incluis.

Stapherhaling ​

Een stap kan meer dan één keer worden getoond. Open een stap en klap Herhalingslogica open; de rekenmachineknop daar opent dezelfde editor, maar de uitkomst is geen prijs — het is hoe vaak de stap in de flow verschijnt.

Geeft de logica 1 terug (of staat ze uit), dan wordt de stap één keer getoond. Geeft ze 3 terug, dan doorloopt de klant de stap drie keer; elke doorloop is een zelfstandige kopie met eigen antwoorden, en elke kopie wordt apart geprijsd. Meestal komt de waarde uit een andere feature, bijvoorbeeld @@aantal_ramen.value@@ voor "één doorloop per raam".

De voorwaardenkolom blijft gelden: klopt geen enkele rij, dan valt de stap terug op één doorloop. Kommagetallen worden afgekapt naar een heel getal; zorg dat de formule minstens 1 oplevert.

Herhalingslogica bestaat alleen op producten met logica-versie 2. Bij oudere producten wordt de sectie niet getoond.

Voorbeeld: prijs per m² ​

Er is geen ingebouwd m²-veld — je bouwt het op uit twee getalinvoeren en één formule.

  1. Maak twee getalinvoer-features, bijv. met ID's breedte en hoogte, met eenheid cm en logische min/max-waarden.

  2. Open op de feature of optie die de prijs draagt de Prijs-rekenmachine en voer in (voor € 125 per m², invoer in cm):

    (@@breedte.value@@ * @@hoogte.value@@ / 10000) * 125
  3. Verfijn waar nodig — reken minimaal 1 m² en rond af op 5 cent:

    ROUND(CLAMPMIN(@@breedte.value@@ * @@hoogte.value@@ / 10000, 1) * 125, 0.05)
  4. Houd het tarief onderhoudbaar: zet 125 in het Prijs-veld van een feature (bijv. m2prijs) en verwijs ernaar met @@m2prijs.price@@ in plaats van het bedrag hard in de formule te zetten.

Tip: om de berekende m² aan de klant te tonen, voeg je een alleen-lezen getalinvoer toe en geef je de Waarde-logica daarvan dezelfde oppervlakteformule.

De m²-formule in de prijseditor

Voorbeeld: conditionele prijs ​

Stel dat het m²-tarief afhangt van het gekozen bladmateriaal. Gebruik in de prijs-logica twee rijen:

  1. Rij 1 (start): voorwaarde — klik + Toevoegen → voorwaarde, zoek de feature, kies bijv. Blad Selectie, operator =, waarde Marmer wit. Formule: (@@breedte.value@@ * @@hoogte.value@@ / 10000) * 165
  2. Rij 2 (anders): geen voorwaarde — de terugvaloptie. Formule: (@@breedte.value@@ * @@hoogte.value@@ / 10000) * 125

Voorwaardegroepen kunnen alle of één van de voorwaarden vereisen en zijn nestbaar. Getalvoorwaarden ondersteunen >, <, = en !=; selectievoorwaarden ondersteunen = / != met een optiekiezer. Hebben de opties van een selectie aangepaste eigenschappen, dan vergelijkt Eigenschap in plaats daarvan een eigenschap van de gekozen optie, met dezelfde operatoren als bij een getal. Voorwaarden op verborgen of inactieve features tellen als niet voldaan.

Een voorwaarde opbouwen: feature, operator en optiewaarde

Een conditionele prijs met twee rijen: bladconditie en terugvaltarief

Hoe het totaal wordt berekend ​

De configurator rekent alles live in de browser — er is geen aparte prijsservice. Per feature-regel: de prijs-logica van de feature (indien aanwezig) + de stapprijs van getalinvoeren + de prijzen van geselecteerde opties. Op elke regel worden daarna BTW, het extra percentage en de afronding toegepast; het totaal telt alle actieve, zichtbare regels op. Het totaal staat in de actiebalk en het overzicht van de configurator en wordt met elke inzending en webhook meegestuurd als total_price.

ID's hernoemen die in formules worden gebruikt ​

Feature-ID's zijn de ankers van je formules. Wijzig je een ID die in logica wordt gerefereerd, dan waarschuwt de editor (ID gewijzigd) met het aantal geraakte regels en biedt Vervangen & opslaan om alle verwijzingen bij te werken, of Alleen opslaan. De inklapbare sectie Referenties op elk item toont waar het ID wordt gebruikt.