13 november 2026 · E-commerce
B2B-webshop in Odoo: klantprijzen en minimale bestelhoeveelheden.
Met klantaccounts en prijslijsten laat je zakelijke klanten in je Odoo-webshop hun afgesproken prijzen zien. Een minimumhoeveelheid in een prijsregel bepaalt vanaf wanneer een tarief geldt, maar blokkeert geen kleinere bestelling. Voor verplichte minimumaantallen en bestelveelvouden moet je de bestelcontrole afzonderlijk regelen.

Een dealer logt in en verwacht zijn afgesproken prijs te zien. Hij bestelt vervolgens dertien montagebeugels, terwijl jouw magazijn alleen volle dozen van twaalf uitlevert. De klantprijs kan dan kloppen, maar de bestelling past nog steeds niet bij je verkoopafspraken.
In een B2B-webshop moet je daarom drie vragen beantwoorden: wie mag bestellen, welke prijs krijgt die klant en welke aantallen accepteer je? In Odoo zijn dat afzonderlijke onderdelen van de inrichting. Vooral het woord ‘minimum’ zorgt voor verwarring: een minimum voor een staffelprijs is geen minimum voor de bestelling.
Dit artikel gaat over Odoo 19.0 met de eigen Odoo-webshop, Website, eCommerce en Verkoop. De beschreven verpakkingsinrichting gebruikt ook Voorraad. De account- en prijsfuncties staan in de openbare Odoo-modules. Voor een externe webshop of aanvullende apps moet je de werking afzonderlijk controleren. Engelse schermnamen helpen je de instellingen terug te vinden; vertalingen en andere versies kunnen afwijken.
Bepaal eerst welke toegang je klanten krijgen
Voor een webshop die uitsluitend voor toegelaten zakelijke klanten bedoeld is, kun je beginnen met twee instellingen onder Website → Configuration → Settings:
- Zet Customer Account op On invitation. Daarmee bepaal je zelf wie een account mag aanmaken.
- Zet Ecommerce Access op Logged in users. Daarmee beperk je de toegang tot de webshop tot ingelogde gebruikers.
Die instellingen hebben verschillende doelen. Alleen aanmelden op uitnodiging maakt de webshop nog niet besloten. En alleen verplicht inloggen bij het afrekenen voorkomt niet dat bezoekers daarvoor al producten en prijzen bekijken. Controleer ook welke bestaande accounts toegang hebben, vooral wanneer klantaccounts tussen websites worden gedeeld. Odoo: klantaccounts, webshoptoegang en afrekenen.
Controleer vóór de uitnodiging de klantgegevens en de afgesproken prijslijst. Open daarna de klant via Website → eCommerce → Customers en kies via Actions de optie Grant portal access. Een aanvraagformulier kan helpen om nieuwe klanten te verzamelen, maar laat een medewerker beoordelen welke prijsafspraken bij die klant horen.
Wil je de catalogus juist openbaar tonen en alleen de prijzen afschermen? Dan vraagt dat een andere inrichting dan de volledig besloten webshop hierboven. Odoo beschrijft daarvoor een openbare prijslijst met nulprijzen, gecombineerd met het verhinderen van verkoop tegen nulprijs en gewone prijslijsten voor toegelaten klanten. Alleen een prijsblok verbergen in het ontwerp is daarvoor geen volledige inrichting. Odoo: B2B-toegang en prijzen afschermen, Odoo: prijzen verbergen.
Koppel de klantprijs ook aan de juiste webshop
Schakel Pricelists in onder de eCommerce-instellingen. Open vervolgens Website → eCommerce → Pricelists. Gebruik waar mogelijk één prijslijst per klantgroep en een aparte prijslijst als een klant werkelijk afwijkende afspraken heeft.
Voor de algemene opbouw van vaste prijzen, kortingen en staffels kun je verder lezen in Prijslijsten in Odoo: verkoopprijzen per klant, segment en afname. Voor de webshop verdienen vooral deze punten aandacht:
- Koppel de prijslijst op het tabblad Ecommerce aan de juiste Website. Een prijslijst die alleen voor een andere website beschikbaar is, wordt niet vanzelf de klantprijs in deze shop.
- Zet Selectable uit bij prijslijsten die klanten niet vrij mogen kiezen. Deze instelling is bedoeld om bezoekers zelf een prijslijst te laten selecteren, bijvoorbeeld bij verschillende valuta. Een dealerprijs hoort niet onbedoeld in die keuzelijst.
- Open de klant en kies onder Sales & Purchase bij Pricelist de afgesproken lijst. Controleer bij bedrijven met meerdere contactpersonen ook met de daadwerkelijke klantlogin welke prijs wordt toegepast.
- Controleer de standaardprijslijst en eventuele Country Groups. Een ontbrekende of ongeschikte klantprijslijst kan ertoe leiden dat de webshop een andere beschikbare prijslijst gebruikt.
Een toegewezen klantprijslijst wordt in beginsel gebruikt als die beschikbaar is voor de bezochte website. Landinstellingen en eerder gemaakte prijslijstkeuzes kunnen de uitkomst beïnvloeden. Controleer dus de getoonde prijs met een klantaccount, niet alleen met je eigen beheeraccount. Odoo: prijslijsten en hun toepassing in de webshop.
Maak ook duidelijk of prijzen inclusief of exclusief btw worden getoond. Display Product Prices is een instelling per website. Vergelijk een contractprijs exclusief btw met dezelfde prijsbasis in de webshop en de winkelwagen. Odoo: btw-weergave.
Een staffelgrens is geen bestelminimum
Neem dit illustratieve voorbeeld. Een dealer betaalt voor een montagebeugel € 4,80 per stuk en vanaf 24 stuks € 4,20. Daarnaast wil de leverancier alleen bestellingen van minimaal twaalf stuks accepteren, in veelvouden van twaalf. Alle bedragen zijn exclusief btw.
Dat zijn drie verschillende afspraken:
| Afspraak | Betekenis voor de webshop |
|---|---|
| Staffelprijs vanaf 24 stuks | Vanaf die hoeveelheid geldt een andere stukprijs. |
| Bestelminimum van twaalf stuks | Een kleinere hoeveelheid mag niet worden besteld. |
| Bestelveelvoud van twaalf | Twaalf, vierentwintig en zesendertig zijn toegestaan; dertien niet. |
Het veld Min Qty in een prijsregel ondersteunt de eerste afspraak. Odoo controleert of de hoeveelheid groot genoeg is om die prijsregel toe te passen. Onder de grens wordt die regel niet gebruikt. Odoo gebruikt dan een andere toepasselijke prijsregel, of anders de verkoopprijs van het product. Het veld verbiedt de bestelling onder die grens niet. Odoo: voorwaarden voor prijsregels, terugval op de verkoopprijs.
Leg voor het voorbeeld dus een normale dealerprijs vast en daarnaast de staffel vanaf 24 stuks. Test ook de prijs onder de staffelgrens. Alleen een regel vanaf 24 toevoegen is geen manier om kleinere bestellingen tegen te houden.
Let op de eenheid: de minimumhoeveelheid van de prijsregel is uitgedrukt in de standaardeenheid van het product. Is dat stuks, dan betekent 24 hier vierentwintig stuks. Bij bestellen in dozen rekent Odoo de hoeveelheid voor deze prijscontrole om naar de producteenheid. Odoo: minimumhoeveelheid en eenheidsomrekening.
Regel minimumaantallen en volle dozen afzonderlijk
Schakel voor verpakkingen eerst Units of Measure & Packagings in via Inventory → Configuration → Settings. In Odoo 19 kun je daarna bij een product onder Sales verpakkingen toevoegen via Packagings. Daarmee leg je bijvoorbeeld vast dat een doos twaalf stuks bevat. Dat helpt bij het bestellen in verschillende eenheden, maar alleen zo'n verpakking toevoegen dwingt geen verkoop uitsluitend per volle doos af. De standaardeenheid blijft naast de toegevoegde verpakkingen beschikbaar. Odoo: verpakkingen, beschikbare producteenheden in de broncode.
Wil je een minimum of veelvoud verplicht stellen, dan volstaan de prijsregel en de verpakking dus niet. Laat daarvoor een passende uitbreiding of maatwerk inrichten en controleren voor jouw Odoo-versie en hosting. Odoo Online ondersteunt geen eigen modules of modules uit de Odoo Apps Store. Odoo: beperkingen van Odoo Online.
Bepaal vooraf of de regel per productvariant, per productgroep of voor de hele order geldt, en of bepaalde klanten een uitzondering hebben.
De controle moet werken bij toevoegen, bij aanpassen in de winkelwagen en vóór het definitief plaatsen van de order. Alleen de plus- en minknoppen aanpassen is onvoldoende: een klant kan een aantal ook rechtstreeks wijzigen. Geef meteen een begrijpelijke melding, bijvoorbeeld: ‘Dit artikel bestel je per twaalf stuks. Kies twaalf of vierentwintig.’ Laat een verhoging van dertien naar vierentwintig niet ongemerkt gebeuren.
Dit is aanvullende bestelcontrole. De standaard prijsregel controleert de toepasselijkheid van een tarief; de onderzochte basisfunctie voor het wijzigen van winkelwagenaantallen voert geen controle op zo'n zakelijk minimum of veelvoud uit. Odoo: hoeveelheidscontrole in de winkelwagen.
Test de afspraken vanuit de klant
Voorkomen is beter dan genezen. Test vóór ingebruikname met een anonieme bezoeker, twee klanten met verschillende prijsafspraken en een contactpersoon van een klantbedrijf. Controleer productpagina, winkelwagen en de uiteindelijke verkooporder in Odoo.
Voor het illustratieve voorbeeld hoort de ingerichte oplossing dit op te leveren:
| Gevraagde hoeveelheid | Verwachte uitkomst |
|---|---|
| Eén stuk | De aanvullende bestelcontrole houdt de bestelling tegen. Een berekende prijs alleen geeft geen toestemming om te bestellen. |
| Twaalf stuks | Toegestaan: 12 × € 4,80 = € 57,60. |
| Dertien stuks | De aanvullende controle meldt dat alleen veelvouden van twaalf zijn toegestaan. |
| Vierentwintig stuks | Toegestaan met staffelprijs: 24 × € 4,20 = € 100,80. |
Test zowel invoer in stuks als een eventuele keuze voor dozen. Test ook een combinatie, bijvoorbeeld twaalf losse stuks plus één doos van twaalf van hetzelfde product. Verschillende besteleenheden kunnen afzonderlijke orderregels vormen; de standaard prijsberekening beoordeelt de hoeveelheid per regel. Ga er daarom niet van uit dat de staffel vanaf 24 stuks automatisch over beide regels samen geldt. Leg vast of je prijsafspraak dat optellen verlangt en controleer de uitkomst. Odoo: orderregels per besteleenheid, prijsberekening per orderregel.
Probeer daarnaast uitloggen en opnieuw inloggen, een andere klantlogin en een bestaande winkelwagen na wijziging van een klantprijslijst. Odoo waarschuwt bij zo'n wijziging dat een open winkelwagen niet vanzelf wordt bijgewerkt. Odoo: waarschuwing bij een gewijzigde klantprijslijst.
Een bruikbare B2B-inrichting laat de klant zijn eigen prijs zien én maakt duidelijk welke bestelling mogelijk is. Leg daarom naast de prijsafspraak ook het bestelminimum, de besteleenheid en de afhandeling van uitzonderingen vast. Dan ontdekt het magazijn de afwijking niet pas wanneer de order al binnen is.
Branche: E-commerce
Benieuwd of we jouw vraagstuk kunnen beantwoorden?
Plan een vrijblijvend gesprek met een van onze consultants.

