B2B-prijzen zijn de prijzen die een leverancier, groothandel of fabrikant aan zakelijke klanten rekent. Anders dan een webshop met één prijs per product publiceert een B2B-verkoper meestal een brutoprijs (de catalogus- of adviesprijs) en krijgt elke klant een nettoprijs: korting per klantgroep, staffelprijzen, contractprijzen voor vaste accounts en offertes voor alles buiten de lijst. Het prijsmodel bepaalt waar de brutoprijs vandaan komt; de prijslijsten bepalen wat elke koper echt betaalt.
Kort gezegd voor wie fysieke producten verkoopt: leg per artikel een bodem vast op basis van de kostprijs, kies een brutoprijs die past bij de markt en de waarde voor de koper, en werk met een paar klantgroepen met elk één duidelijke regel. Beheer die prijslijsten op één plek, controleer de marge nadat alle kortingen zijn gestapeld en zet het resultaat door naar elk verkoopkanaal. Hieronder lees je de modellen, een uitgewerkt rekenvoorbeeld van bruto naar netto, hoe Shopify, Adobe Commerce, WooCommerce en Lightspeed B2B-prijzen opslaan, en een checklist voor het onderhoud van prijslijsten.
Zes manieren waarop B2B-verkopers tot een prijs komen
Zoekresultaten over dit onderwerp gaan vaak over SaaS (prijs per gebruiker of per verbruik). Voor bedrijven die fysieke producten aan andere bedrijven verkopen, doen deze zes modellen het meeste werk, en de meeste verkopers combineren er twee of drie.
Kostprijs plus opslag
Je neemt de inkoopprijs inclusief vracht en invoerkosten per stuk en telt er een vaste opslag of een doelmarge bij op. Dat is eenvoudig, goed uit te leggen aan kopers en makkelijk te automatiseren over duizenden artikelen, en daarom gebruiken groothandels met een lange staart het graag. Het nadeel: het negeert wat de markt wil betalen, dus specialistische artikelen worden te goedkoop en standaardartikelen te duur. Gebruik het als bodem, niet als hele antwoord. 40% opslag is geen 40% marge, dus zeg per regel welke van de twee je bedoelt.
Waardegebaseerd prijzen
Je prijst op wat het product de koper oplevert of bespaart. Een onderdeel dat voorkomt dat een productielijn stilstaat, is voor de koper meer waard dan de kostprijs doet vermoeden. Dit werkt het best voor specialistische artikelen met lage aantallen en voor producten waarvan je de besparing in de cijfers van de koper kunt laten zien.
Concurrerend prijzen
Je zet de brutoprijs af tegen wat vergelijkbare leveranciers vragen. Standaard verbruiksartikelen, bevestigingsmateriaal en verpakkingen komen meestal hier uit, omdat kopers regel voor regel vergelijken.
Staffelprijzen
De stuksprijs daalt naarmate de bestelling groter wordt: EUR 12,00 per doos vanaf 1, EUR 10,80 vanaf 10, EUR 9,60 vanaf 50. Staffels belonen grotere orders zonder onderhandeling. De keuze tussen getrapte staffels en staffels die voor alle stuks gelden, en de prijssprong die die laatste opleveren, lees je in onze gids over staffelprijzen.
Klantspecifieke prijzen en contractprijzen
Vaste accounts krijgen voor een periode vaste prijzen per artikel, vaak in ruil voor een volumetoezegging. Contractprijzen zijn het waardevolste en kwetsbaarste deel van B2B-prijzen: ze staan buiten de normale regels, ze verlopen, en niemand ziet het als de brutoprijs eronder verschuift.
Prijzen op offertebasis
Bij projectorders, maatwerkconfiguraties of aantallen ver boven je staffels vraagt de koper een prijs aan en reken jij een prijs voor alleen die order. Ons artikel over de offerteaanvraag in B2B laat zien wat een koper stuurt en wat een goede offerte bevat.
Van brutoprijs naar nettoprijs: een kortingsstapel uitgerekend
De brutoprijs is de gepubliceerde prijs vóór korting (in B2B meestal exclusief btw). De nettoprijs is wat de koper betaalt na alle kortingen die voor hem gelden. In het gat daartussen verdwijnt de B2B-marge, omdat verschillende mensen op verschillende momenten korting geven en niemand ze per orderregel optelt.
Een illustratief voorbeeld: een industriële ontvetter van 5 liter met een inkoopprijs van EUR 21,40 en een brutoprijs van EUR 48,00, dus 55,4% brutomarge op de lijstprijs. Een dealer in de klantgroep vakhandel krijgt 25% korting op de brutoprijs. De dealer bestelt 24 cans, goed voor nog eens 5% staffelkorting. Het contract van de dealer bevat ook 3% bonus aan het eind van het jaar en 2% betalingskorting bij betaling binnen 14 dagen.
Nettoprijs en brutowinst per can bij gestapelde kortingen
Voorbeeld ter illustratie| Categorie | Prijs per can | Brutowinst per can |
|---|---|---|
| Brutoprijs | € 48 | € 26,60 |
| Vakhandel -25% | € 36 | € 14,60 |
| Staffel -5% | € 34,20 | € 12,80 |
| Jaarbonus -3% | € 33,17 | € 11,77 |
| Betalingskorting -2% | € 32,51 | € 11,11 |
Elke stap lijkt los bescheiden. Samen gaat de prijs 32,3% omlaag, en omdat de kostprijs EUR 21,40 blijft, zakt de brutowinst per can van EUR 26,60 naar EUR 11,11 en de marge van 55,4% naar 34,2%. Reken dezelfde stapel na met je eigen cijfers in de winstmarge-calculator, en ga daarna een stap verder naar de contributiemarge, waarin ook vracht, betaalkosten en de kosten om dat account te bedienen meetellen.
Twee gewoonten houden de stapel in de hand. Ten eerste: kortingen op kortingen vermenigvuldigen, ze tellen niet op. 25% en daarna 5% is 28,75% korting, geen 30%. Leg vast welke kortingen op elkaar stapelen en welke over de brutoprijs worden berekend. Ten tweede: stel per product of categorie een margebodem in en toets elke prijslijst aan de diepste combinatie die een klant kan halen, niet aan de korting van de klantgroep alleen.
Prijslijsten per klantgroep opzetten
Een prijslijst is een set prijzen voor één doelgroep: een klantgroep, een land, een valuta of één account. Hoe minder lijsten, hoe makkelijker ze kloppen, dus begin bij de kopers die zich echt anders gedragen.
- Deel klantgroepen in op rol, niet op omvang. Distributeur, dealer, installateur en key account zijn gangbaar. Beschrijf per groep in één zin wie erin hoort.
- Geef elke groep één basisregel. Dealer: brutoprijs min 25%. Distributeur: kostprijs plus 18%. Een regel rekent vanzelf opnieuw als bruto- of kostprijs verandert; een ingetypte prijs niet.
- Gebruik vaste prijzen alleen waar de regel niet klopt. Een product met een andere kostenopbouw, een lokkertje, een contractartikel. De catalogi van Shopify werken precies zo: een percentage voor de hele catalogus, met vaste prijzen die dat per product of variant overschrijven (Shopify Helpcentrum).
- Zet staffels bovenop de groepsprijs, en bepaal of de staffelkorting over de groepsprijs of over de brutoprijs wordt berekend.
- Geef alles wat kan verlopen een datum. Contractprijzen en tijdelijke nettoprijzen hebben een begin- en einddatum nodig, anders worden ze ongemerkt permanent.
- Leg valuta en btw-basis per lijst vast. B2B-lijsten zijn meestal exclusief btw; een Duitse koper heeft misschien een lijst in euro exclusief btw nodig, met btw verlegd op de factuur.
- Toets het resultaat aan de bodem voordat de lijst live gaat, met de diepste kortingsstapel die de groep kan halen.
Kopers verwachten de prijslijst ook als bestand. Onze gratis prijslijst-template bevat de kolommen waar de meeste zakelijke inkopers naar zoeken, zoals brutoprijs, nettoprijs, verpakkingseenheid en minimale afname. Hoe B2B- en consumentenprijzen zich tot elkaar verhouden, lees je in groothandel vs retail.
B2B-prijslijsten in Shopify, Adobe Commerce, WooCommerce en Lightspeed
Elk groot platform kan B2B-prijzen bevatten, maar het object dat je onderhoudt, wie het ziet en wat er gebeurt als twee prijzen gelden, verschilt flink. De laatste kolom noemt de regel die het vaakst voor verrassingen zorgt.
Hoe vier platforms B2B- en klantspecifieke prijzen opslaan
| Shopify B2B | Catalogus: percentage plus vaste prijzen per product of variant | B2B-markten; op Plus ook direct bedrijven en vestigingen. Max. 3 actieve catalogi op Basic, Grow en Advanced | Volumeprijzen, tot 10 staffels per product in de catalogus-CSV | Laagste prijs wint tussen catalogi van dezelfde vestiging; een vestigingscatalogus gaat voor een marktcatalogus |
|---|---|---|---|---|
| Adobe Commerce B2B | Shared catalog: één openbare, onbeperkt aangepaste | Aangepaste catalogi: ingelogde gebruikers van gekoppelde bedrijfsaccounts | Tier prices per shared catalog | Een vaste klantprijs is begrensd op de basisprijs |
| Magento Open Source / Adobe Commerce zonder B2B | Tier prices onder Advanced Pricing | Klantgroep en website (shared catalogs vereisen Adobe Commerce B2B) | Ja, vast of % van Price | Procentuele staffels rekenen met Price, niet met Special Price |
| WooCommerce | Standaard: alleen reguliere prijs en actieprijs | Gebruikersrollen of losse klanten via een extensie | Afhankelijk van de extensie | Bepaald door de extensie |
| Lightspeed eCom | Staffelkortingen per product | Alle klanten of één klantgroep | Ja, stuksprijs of percentage per aantal | Elke regel is één aantal voor één product, eventueel één variant |
Bronnen: Shopify over catalogi en limieten per abonnement en de catalogus-CSV; Adobe over shared catalogs, klantprijzen en tier prices; de prijsvelden van WooCommerce en een voorbeeldextensie, Role Based Pricing; de API voor staffelkortingen van Lightspeed.
Twee praktische gevolgen. Heeft een bedrijfsvestiging in Shopify een dealercatalogus en een actiecatalogus, dan krijgt de koper per product de laagste van de twee, dus een actie kan een contract onderbieden waarvan je dacht dat het vastlag. Een catalogus die aan de vestiging zelf is toegewezen, gaat wel voor een catalogus van de hele B2B-markt, ook als de marktprijs lager is. In WooCommerce staat de prijslijst in de instellingen van een extensie, en die is onzichtbaar voor alles wat alleen de reguliere prijs van het product leest, waaronder de meeste feedtools.
Een prijsverhoging van je leverancier doorvoeren in alle prijslijsten
Bij een kostenstijging bewijzen prijslijsten op basis van regels hun waarde. Verhoogt de leverancier de inkoopprijs van de ontvetter van EUR 21,40 naar EUR 23,00, dan schuift een regel als kostprijs plus opslag de distributeursprijs vanzelf mee, en een regel als brutoprijs min 25% volgt zodra je de brutoprijs aanpast. Vaste prijzen bewegen helemaal niet. Die zoek je dus als eerste op.
- Reken de bodem opnieuw uit. Pas de nieuwe kostprijs toe en kijk welke groepen en contracten nu onder de margebodem zitten bij hun diepste kortingsstapel.
- Bepaal de nieuwe brutoprijs en laat de groepsregels die volgen, in plaats van de prijzen per groep met de hand aan te passen.
- Sorteer vaste prijzen op einddatum van het contract. Contracten houden hun prijs meestal tot het einde; plan de heronderhandeling en kijk of er een indexatieclausule is waarmee je kostenstijgingen eerder mag doorberekenen.
- Kondig het aan met een datum. De meeste zakelijke kopers accepteren een verhoging waar ze op kunnen plannen. Stuur de nieuwe prijslijst met een ingangsdatum, de betrokken artikelen en de oude en nieuwe prijs per artikel.
- Publiceer overal op dezelfde dag: webshop, klantportaal, marktplaatsen en het downloadbare bestand, zodat geen enkel kanaal tegen de oude prijs blijft verkopen.
Prijslijsten onderhouden: de checks die nettoprijzen eerlijk houden
De meeste fouten in B2B-prijzen zijn geen strategiefouten. Het is verouderde data: een contract dat had moeten stoppen, een brutoprijs die bewoog terwijl een vaste prijs bleef staan, een nieuw artikel dat nooit een groepsprijs kreeg. Een maandelijkse check vangt het meeste af.
Maandelijkse check van B2B-prijslijsten
Betwist een koper een factuur, dan is de vraag altijd welke prijs gold en waarom. Bewaar per lijst de regel, de bronprijs en de datum, zodat het antwoord een minuut kost in plaats van een middag.
Klantgroepen, staffelkortingen en dealerprijslijsten in WISEPIM
WISEPIM beheert de productkant van B2B-prijzen: kostprijs en brutoprijs per artikel, plus klantgroepen (Customer groups) en staffelkortingen (Volume discounts). Een staffelkorting geldt voor producten, een categorie of de hele catalogus, richt zich op alle klanten, bepaalde groepen, bepaalde klanten of ingelogde klanten, kan tussen twee data lopen en bevat staffels als vaste stuksprijs, percentage korting of bedrag korting.
Wat er in een webshop aankomt, hangt af van het platform, en daar zijn we liever precies dan breed over. Staffels gaan naar Magento 2 als tier prices voor de Magento-klantgroep die je aan elke WISEPIM-groep koppelt, en naar Lightspeed eCom als staffelkortingen voor alle klanten of een gekoppelde klantgroep. Een korting voor een doelgroep die het platform niet kent, of een groep zonder koppeling, wordt overgeslagen met een waarschuwing bij het product in plaats van voor alle klanten te gaan gelden. De andere koppelingen, waaronder Shopify en WooCommerce, krijgen geen staffels of klantgroepprijzen uit WISEPIM. Op die platforms blijft de B2B-catalogus of extensie de plek om ze te beheren.
Bruto- en nettoprijzen per doelgroep komen uit regels voor prijzen per kanaal, die de geëxporteerde prijs aanpassen zonder de opgeslagen prijs te veranderen: procentuele opslag, vast bedrag, kostprijs plus opslag, kostprijs plus marge of een vaste prijs, met afronding en vangrails zoals een minimale marge. Een regel kan gelden voor één winkel, de CSV- of Excel-export, een feed of een merkportaal. Zo wordt een dealerprijslijst een portaal met een eigen prijsregel en optioneel een wachtwoord: dealers bekijken of downloaden de catalogus tegen hun nettoprijs, terwijl de webshop de consumentenprijs houdt.

