Met staffelprijzen daalt de prijs per stuk naarmate de klant meer bestelt: 1 tot 9 dozen voor € 12,00, 10 tot 49 voor € 10,80, vanaf 50 voor € 9,60. In e-commerce en B2B heet dat ook staffelkorting, volumekorting of tiered pricing. In SaaS betekent tiered pricing meestal iets anders: abonnementen als Basic, Pro en Enterprise.
Een staffeltabel kun je op twee manieren toepassen. Bij een graduele staffel reken je elke schijf tegen zijn eigen prijs af, dus de eerste 9 dozen kosten altijd € 12,00. Bij een volumeprijs krijgt elke eenheid de prijs van de schijf die de bestelling haalt. Dezelfde tabel, een andere factuur. In dit artikel reken je beide door op één product, zie je waar elk model misgaat en lees je hoe Shopify, WooCommerce en Magento staffels en klantgroepprijzen opslaan.
Abonnementsniveaus in SaaS vs aantalstaffels in een webshop
Zoek je op tiered pricing, dan gaat de helft van de resultaten over softwarepakketten: een Starter-plan met drie gebruikers, een Growth-plan met meer functies. Dat is good-better-best-verpakking. De koper kiest een pakket functies; de prijs per eenheid staat niet centraal.
Een webshop of groothandel gebruikt staffels voor fysieke aantallen. Het product blijft hetzelfde, de prijs per stuk daalt als de order groeit. Factureringstools gebruiken dezelfde woorden: de documentatie van Stripe onderscheidt volume-based tiers (de hele hoeveelheid tegen één schijfprijs) en graduated tiers (elke schijf tegen zijn eigen prijs). Die twee definities tellen voor productprijzen, en die gebruik je in de rest van dit artikel.
Graduele staffel vs volumeprijs op één doos handschoenen
Neem een doos met 100 nitril handschoenen, maat M, met een catalogusprijs van € 12,00 exclusief btw en een inkoopprijs van € 7,20. De staffel: 1 tot 9 dozen € 12,00, 10 tot 49 dozen € 10,80 (10% korting), vanaf 50 dozen € 9,60 (20% korting). Zo kosten zes ordergroottes onder elk model.
Eén staffel, twee facturen: nitril handschoenen, € excl. btw
| 9 | 108,00 | 12,00 | 108,00 | 12,00 |
|---|---|---|---|---|
| 10 | 118,80 | 11,88 | 108,00 | 10,80 |
| 49 | 540,00 | 11,02 | 529,20 | 10,80 |
| 50 | 549,60 | 10,99 | 480,00 | 9,60 |
| 60 | 645,60 | 10,76 | 576,00 | 9,60 |
| 120 | 1.221,60 | 10,18 | 1.152,00 | 9,60 |
Het graduele totaal voor 60 dozen is 9 x 12,00 + 40 x 10,80 + 11 x 9,60 = € 645,60. Het volumetotaal is gewoon 60 x 9,60 = € 576,00. Een volumeprijs geeft de koper boven de eerste grens bij elke hoeveelheid meer korting, en is makkelijker uit te leggen: één prijs per orderregel.
De prijsklif bij 45 tot 49 dozen
Een volumeprijs heeft een bijwerking. Tien dozen kosten € 108,00, precies evenveel als negen, dus de tiende doos is gratis. Erger: 49 dozen kosten € 529,20 en 50 dozen € 480,00. Wie 45 tot 49 dozen bestelt, betaalt meer dan wie er 50 bestelt (45 x 10,80 = € 486,00). Slimme inkopers ronden naar boven af, wat prima is als je de voorraad hebt. Minder oplettende kopers voelen zich achteraf benadeeld.
Er zijn drie gangbare oplossingen. Leg de grenzen op hele dooshoeveelheden, zodat de sprong samenvalt met een logische ordergrootte. Begrens het regeltotaal op de prijs van de volgende staffel (47 dozen kosten nooit meer dan 50). Of kies een graduele staffel, die geen klif heeft omdat de eerste schijven altijd tegen hun eigen prijs worden afgerekend.
Wat elke staffel met je marge doet
Met een inkoopprijs van € 7,20 is de brutomarge 40% bij € 12,00, 33,3% bij € 10,80 en 25% bij € 9,60. De prijsverlaging van 20% kost 15 procentpunt marge. Controleer voor je een staffel publiceert dus de marge op die prijs, niet het kortingspercentage: verwarring tussen marge en opslag is de bekendste manier waarop een diepe staffel onder je ondergrens zakt. De winstmarge calculator rekent het per staffel voor je uit.
Welk staffelmodel bij welke verkoper past
Geen van beide modellen is altijd beter. De keuze hangt af van wie er koopt, hoe vaak en hoeveel marge je kunt weggeven.
- Een volumeprijs past bij webshops die aan consumenten en kleine bedrijven verkopen, waar één zichtbare prijs per regel beter converteert dan een rekensom. Accepteer de klif of begrens hem, en houd het aantal staffels klein.
- Een graduele staffel past bij contract- en verbruiksverkoop, zoals verbruiksartikelen die maandelijks gefactureerd worden of B2B-klanten die onregelmatige aantallen bestellen, waar een eerlijk totaal zwaarder weegt dan een opvallende stukprijs.
- Eén prijs per klantgroep past bij groothandelsklanten die altijd hele dozen bestellen: één nettoprijs per groep is makkelijker te onderhouden dan een tabel, en bestelregels regelen de aantallen.
- Prijs op offerte past bij grote of maatwerkorders boven je hoogste staffel, waar een onderhandelde prijs elke tabel verslaat.
Wat je ook kiest: zet het op de prijslijst en gebruik hetzelfde model in de webshop, de pdf en de factuur uit je ERP. De meeste discussies over staffelprijzen gaan over het model, niet over de bedragen.
Volumekorting, staffelkorting, price break: één idee, vijf namen
Leveranciers, platforms en inkopers gebruiken andere woorden voor dezelfde tabel. Weten welke bedoeld wordt, scheelt veel heen-en-weer mailen.
- Price break of quantity break: één regel uit de tabel, een minimumaantal en een prijs. Shopify B2B noemt de tabel volume pricing.
- Tier price: de Magento-term voor een staffel op een product, eventueel beperkt tot één klantgroep en één website.
- Volumekorting: vaak een percentage korting zodra het aantal gehaald is (10% vanaf 10 stuks). Kan gradueel of over alle eenheden werken, dus vraag het na.
- Bulkkorting: meestal over alle eenheden, op de hele orderregel of een hele categorie.
- Staffelprijs of staffelkorting: de Nederlandse term voor een aantalstaffel, gangbaar in B2B-prijslijsten.
Klantgroepen, contractprijzen en staffels in B2B
B2B-prijzen blijven zelden bij één staffeltabel. Een distributeur, een zelfstandige winkel en een consument zien soms drie verschillende prijzen voor dezelfde SKU, en elke groep kan eigen staffels hebben. Dat regel je met klantgroepen: de retailgroep ziet de catalogusprijs, de groothandelsgroep krijgt staffels vanaf 10 stuks, een key account krijgt vanaf het eerste stuk een contractprijs. Zakelijke inkopers op een B2B-marktplaats verwachten hetzelfde: staffels en nettoprijzen per account, niet één consumentenprijs.
Staffels hangen ook samen met bestelregels. Verkoopt een leverancier alleen per doos van 12, dan is een staffel bij 10 stuks niet precies te halen. Stem de grenzen dus af op de verpakkingseenheid en de minimale bestelhoeveelheid. Hoe je retail- en groothandelsprijzen uit één catalogus beheert, lees je in groothandel vs retail.
Staffelprijzen in Shopify, WooCommerce en Magento
De drie platforms die de meeste lezers gebruiken, gaan heel verschillend met staffels om. Controleer dit voordat je een tabel ontwerpt die je webshop niet kan tonen.
Standaard staffelprijzen per platform
| Shopify B2B | Ja | Markets > Catalogs > Volume pricing | Per B2B-catalogus | Maximaal 10 staffels per product, per variant; staffels moeten boven het minimum liggen en passen bij de stapgrootte |
|---|---|---|---|---|
| WooCommerce | Nee (extensies) | Instellingen van de extensie, bijvoorbeeld Dynamic Pricing | Afhankelijk van de extensie (rollen) | Standaard alleen een normale prijs en een actieprijs |
| Magento 2 / Adobe Commerce | Ja | Product > Advanced Pricing > Tier Price | Per website en klantgroep | Vaste prijs of percentage van de normale prijs; bulkwijzigingen via de Advanced Pricing-import |
Volume pricing in Shopify B2B
Shopify regelt staffels binnen B2B-catalogi (in de Nederlandse admin: Markten > Assortimenten). Volgens het Shopify Help Center kun je tot 10 staffels per product toevoegen, gelden ze per variant (5 blauwe en 5 grijze tellen niet op tot 10), moeten de aantallen groter zijn dan de minimale bestelhoeveelheid en een veelvoud van de stapgrootte, en ligt de prijs vast zodra je volume pricing instelt, zodat de algemene prijsaanpassing van de catalogus niet meer voor dat product geldt. Het overzicht van B2B-functies per abonnement noemt staffelprijzen op Basic, Grow, Advanced en Plus; onder Plus mag je maximaal 3 actieve B2B-catalogi hebben.
Staffels in WooCommerce via extensies
Standaard heeft een eenvoudig WooCommerce-product een normale prijs en een actieprijs, zonder staffeltabel. Staffelprijzen komen uit een extensie. De Dynamic Pricing-extensie uit de WooCommerce Marketplace heeft bijvoorbeeld een Bulk-modus die elke eenheid de prijs geeft van de staffel die het aantal in de winkelwagen haalt (volumeprijs), plus regels per rol en per categorie. Omdat de data in de extensie zit, check je eerst hoe die importeert en exporteert voordat je bulkupdates plant.
Tier prices in Magento per klantgroep en website
Magento heeft staffelprijzen standaard aan boord. In de tier pricing-documentatie van Adobe heeft elke staffel een website, een klantgroep, een aantal en een vaste stukprijs of een kortingspercentage op de normale prijs, en toont de productpagina een melding in de trant van koop 6 voor een lagere prijs per stuk. Voor bulkwijzigingen exporteer je de entiteit Advanced Pricing en importeer je die opnieuw: de tier price-import gebruikt de kolommen sku, tier_price_website, tier_price_customer_group, tier_price_qty, tier_price en tier_price_value_type.
Staffeltabellen als gestructureerde productdata
Een staffel die in een pdf of mailwisseling staat, loopt vroeg of laat uit de pas met wat de webshop rekent. Sla hem op als regels, één per staffel, met een expliciet bereik. Een minimaal model dat op alle drie de platforms past:
- sku: de variant, want Shopify past staffels per variant toe en Magento per product-SKU.
- customer_group: leeg of ALL voor iedereen, anders de groepscode (groothandel, horeca).
- kanaal of website: bij welke webshop, markt of feed de regel hoort.
- min_qty: het eerste stuk van de schijf, in verkoopeenheden (dozen, geen handschoenen).
- price_type: vaste stukprijs of percentage korting.
- value: 10,80 of 10, afhankelijk van price_type, met de valuta op de regel.
- valid_from en valid_to: voor seizoens- of contractstaffels.
Houd de eenheid expliciet. Als de ene leverancier per handschoen prijst en de andere per doos van 100, betekent een min_qty van 10 twee heel verschillende orders. Een prijslijst template met een eenheidskolom per regel voorkomt de meeste van die vergissingen.
Zes staffelfouten die B2B-marge kosten
- Modellen mengen tussen kanalen. De webshop rekent gradueel, de pdf-prijslijst suggereert een volumeprijs, en de klant betwist de factuur.
- Staffels die de verpakkingseenheid negeren. Een staffel bij 10 terwijl je alleen dozen van 12 verstuurt, dwingt tot een aangebroken doos of een onhaalbare staffel.
- Procentuele staffels bovenop een actieprijs. Afhankelijk van het platform stapelt een staffel van 10% met een actie of geldt hij alleen op de normale prijs. Magento rekent procentuele staffels vanaf de normale prijs, niet vanaf de special price.
- Geen margecheck per staffel. Een staffel van 20% op een product met 40% marge laat 25% over, vóór verzend- en betaalkosten.
- Staffels die de inkoopprijs overleven. Als de leverancier de inkoopprijs verhoogt, wordt de catalogusprijs bijgewerkt en de vaste staffelprijzen niet.
- Groepsstaffels die weglekken. Een groothandelsstaffel zonder klantgroep geldt voor elke bezoeker, gasten inbegrepen.
Staffelgrenzen kiezen die standhouden
Goede staffelgrenzen volgen hoe klanten echt bestellen. Bekijk de orderregels van het product: als de meeste B2B-orders rond 12, 24 en 48 stuks liggen, leg je de grenzen daar en niet op ronde getallen. Haal daarna elke staffel door de margecheck voordat hij live gaat.
Voordat je een staffeltabel publiceert
Volumekortingen, klantgroepen en kanaalprijzen in WISEPIM
WISEPIM houdt staffelprijzen naast de rest van je productdata. Customer groups (klantgroepen) hebben een naam, een code en een goedkeuringsvlag, en je kunt ze koppelen aan de groepen in je webshop. Volume discounts (volumekortingen) bevatten de staffels (een minimumaantal met een vaste stukprijs of een percentage korting), een bereik (geselecteerde producten, een categorie of de hele catalogus), een doelgroep (alle klanten, bepaalde groepen, bepaalde klanten of ingelogde klanten), een optionele begin- en einddatum en een prioriteit. Zo leg je de staffellogica op één plek vast. Niet elke gekoppelde webshop ontvangt staffeltabellen vanuit WISEPIM, dus controleer per kanaal hoe de staffels daar terechtkomen voordat je op een export bouwt; in Magento is de Advanced Pricing-import hierboven de standaardroute.
Daarnaast passen prijzen per kanaal de prijs aan bij export: een opslag, inkoop plus marge, een vaste prijs, charm-afronding, en waarborgen zoals een minimummarge. Voeg je een kanaalopslag toe, controleer dan ook de vaste staffelprijzen in die webshop, zodat een 10% hogere basisprijs de staffels niet onder die prijs laat duiken. Hoe kanaalspecifieke prijsstelling werkt over webshops en feeds heen, lees je in het woordenboek.

