Kort antwoord. Klantspecifieke prijzen en staffels beheer je door de prijslogica op één plek vast te leggen: per klant, artikel en aantal, met een vaste volgorde waarin afspraken voorgaan op staffels en standaardprijzen. Wanneer je pakket dat niet aankan, bouw je een laag die de juiste prijs en marge automatisch op de order zet.
In de groothandel heeft bijna geen klant dezelfde prijs. De ene heeft een jaarafspraak, de andere een staffel vanaf 500 stuks, een derde een nettoprijs die ooit per mail is toegezegd en nergens netjes is vastgelegd. Dat is geen rommel die je moet opruimen, dat is hoe de handel werkt. Het probleem is dat die logica meestal in Excel en in iemands hoofd zit, en niet in het systeem dat de order verwerkt.
Waarom prijsafspraken en staffels in Excel belanden
Standaardpakketten dekken het gelukspad. Een artikel heeft een verkoopprijs, een klant krijgt een vast kortingspercentage, klaar. Zodra je drie dimensies tegelijk hebt, klant, artikel en aantal, plus uitzonderingen per orderregel, loopt het vast. Exact Online koppelt een klant aan precies één prijslijst tegelijk. AFAS Profit raadt expliciet af om staffelprijzen en staffelkortingen door elkaar te gebruiken, omdat dat verwarring geeft. Dat zijn geen fouten in die pakketten, het zijn keuzes die het model simpel houden.
Jouw werkelijkheid is niet simpel. Dus maakt de verkoper een spreadsheet, want daarin kan alles. En daar begint het echte probleem: de prijs op de order komt niet meer uit het systeem, maar uit een bestand dat niemand controleert.
Wat je eigenlijk wilt bereiken
Het doel is niet "minder typen". Het doel is grip. Je wilt dat de prijs op elke orderregel klopt zonder dat iemand een spreadsheet moet raadplegen, en je wilt achteraf kunnen zien welke marge je per klant en per artikel echt hebt gedraaid. Dat tweede is wat in Excel-prijzen bijna altijd ontbreekt. Je geeft een staffelkorting, maar je rekent de inkoopprijs, de vrachtkosten en de betalingskorting niet door, en dus weet je pas bij de jaarcijfers of die klant geld heeft opgeleverd.
Als je prijslogica los staat van je orderverwerking, kun je marge niet betrouwbaar toerekenen. Dat is de kern.
Eerst het proces doorlichten, dan pas bouwen
Voordat ik iets bouw, leg ik alle prijsafspraken naast elkaar. In de praktijk is een flink deel van die afspraken historisch gegroeid en niet meer nodig. Een staffel die ooit voor één klant is gemaakt en nu voor niemand meer geldt. Drie kortingen die elkaar overlappen en feitelijk hetzelfde doen. Een "speciale prijs" die exact gelijk is aan de standaardprijs.
Dat is een bewuste stap, geen smoes om niets te doen. Hoe minder regels je overhoudt, hoe simpeler de logica die je daarna borgt, en hoe minder er stuk kan. Vaak gaat hier de helft van de Excel-regels overboord. Wat overblijft is de echte prijslogica, en die moet wél kloppen.
De prijslogica borgen in een vaste volgorde
Prijsbepaling is uiteindelijk een beslisboom. Voor elke orderregel beantwoord je dezelfde vragen in dezelfde volgorde:
- Is er een klantspecifieke afspraak voor dit artikel? Die gaat altijd voor.
- Geldt er een staffel op basis van het bestelde aantal? Bepaal de juiste trede.
- Hoort de klant bij een groep met een eigen prijslijst?
- Geen van allen? Dan de standaard verkoopprijs.
Zodra die volgorde expliciet is, is hij ook te automatiseren. Veel pakketten kunnen een deel hiervan, en als je situatie binnen de prijs- en kortingsmodules van Business Central of AFAS past, moet je dat gewoon gebruiken. Een tool als Picqer doet prijslijsten per klantgroep prima.
Wanneer een standaardpakket tekortschiet
Het standaardpakket dekt het gelukspad. Het dekt jouw uitzonderingen niet, en het dekt de kostentoerekening niet. Daar bouw ik een laag tussen.
Concreet: een service die bij elke order de prijslogica toepast in de afgesproken volgorde, de juiste inkoopprijs en bijkomende kosten erbij pakt, en zo niet alleen de verkoopprijs maar ook de marge per regel wegschrijft. De Excel-afspraken die overbleven na het opschonen worden de bron, ingelezen en gevalideerd, zodat een typefout niet stilletjes in een order belandt. De verkoper ziet de juiste prijs zonder te zoeken, en jij ziet aan het eind van de maand welke klant marge oplevert en welke niet.
Dat is het verschil tussen een prijs die toevallig op de order staat en een prijs die je kunt verantwoorden.
Veelgestelde vragen
Hoe stel ik staffelkorting in voor een groothandel?
Je legt per artikel meerdere tredes vast, waarbij elke trede een nieuwe minimumhoeveelheid is waarvoor een korting of vaste prijs geldt. Gebruik staffelprijzen óf staffelkortingen, niet allebei tegelijk, want dat geeft dubbele logica en onduidelijkheid over welke prijs leidend is op de orderregel.
Kan ik per klant verschillende prijzen instellen?
Ja. Per klant of klantgroep koppel je een eigen prijslijst, en per artikel kun je daarbinnen een afwijkende prijs of nettoafspraak vastleggen. De volgorde is belangrijk: een klantspecifieke afspraak hoort altijd voor te gaan op een staffel of standaardprijs, anders rekent het systeem de verkeerde prijs.
Waarom passen mijn prijsafspraken niet in mijn ERP?
Omdat de meeste pakketten één dimensie tegelijk goed aankunnen en jouw afspraken klant, artikel én aantal combineren, vaak met uitzonderingen per order. Dat valt buiten het standaardmodel, dus belandt het in Excel. Een tussenlaag die de logica toepast op de order lost dat op zonder je pakket te vervangen.
Hoe houd ik zicht op mijn marge bij klantspecifieke prijzen?
Door bij elke orderregel niet alleen de verkoopprijs maar ook de inkoopprijs en bijkomende kosten mee te rekenen en weg te schrijven. Zolang je prijzen in Excel los staan van je orderverwerking, kun je marge niet per klant toerekenen en zie je het resultaat pas achteraf in de jaarcijfers.
Verder lezen
- Groothandelsystemen die niet met elkaar praten
- Debiteurenbeheer en kredietlimiet in B2B
- Voorraad over meerdere vestigingen
Ik ben Ricardo Theijs van RNT Projects. Ik heb zelf jaren cross-border handel met inkoop over veel leveranciers gedraaid, met een achtergrond in enterprise-procesmanagement. Ik bouw de systemen waar standaardpakketten tekortschieten, en ik zeg het eerlijk wanneer dat niet nodig is.
Loop je hier zelf tegenaan?
Ik licht je proces door en bouw de oplossing waar een standaardpakket tekortschiet. Remote, en in twee weken zichtbaar resultaat.
Plan een call