Overslaan naar inhoud
eCommerce, POS en multichannel

Waarom je Odoo-webshop de verkeerde prijs toont (varianten, prijslijsten en btw online)

dooPartners· 7 april 2026 · 13 min leestijd
Waarom je Odoo-webshop de verkeerde prijs toont (varianten, prijslijsten en btw online)

Je webshop toont een andere prijs dan je verwacht: de basisprijs in plaats van de variantprijs, de openbare prijs in plaats van de prijslijstprijs van een klant, of een bedrag met btw terwijl je het zonder wilde (of andersom). In bijna elk geval is het geen bug. De shopprijs is de som van drie dingen die Odoo apart bepaalt: de eigen verkoopprijs van de variant, de prijslijst die op deze bezoeker van toepassing is, en de btw-weergave-instelling op de website. Krijg die drie goed en de weergegeven prijs klopt. De rest van deze post behandelt elk ervan en hoe je het instelt.

Je hebt het rode shirt op 25 en het blauwe op 20 gezet, maar het shopraster toont voor beide 20, of het toont 20 en de prijs springt pas omhoog wanneer een bezoeker rood kiest op de productpagina. Je hebt een ingelogde B2B-klant een prijslijst met 10 procent korting gegeven, maar de shop toont nog steeds de openbare prijs. Of je prijzen kloppen in Verkoop maar online tonen ze 21 procent hoger (of lager) dan het getal dat je typte.

Dit voelen als drie verschillende problemen. Het is eigenlijk één vraag met drie inputs. Odoo bouwt de shopprijs op uit de variantprijs, dan de prijslijstregel die op deze bezoeker van toepassing is, en toont dat vervolgens met of zonder btw afhankelijk van de website-instelling. Als de getoonde prijs verkeerd is, wijst een van die drie naar ergens waar je het niet bedoelde.

Waarom het gebeurt

Het shopraster toont het productsjabloon, de productpagina toont de variant. Een productsjabloon (bijvoorbeeld "T-shirt") groepeert varianten (rood, blauw, maat M, maat L). Het catalogusraster toont één kaart per sjabloon, geprijsd op de verkoopprijs van het sjabloon. De variantprijs komt pas in beeld op de productpagina zodra de bezoeker attribuutwaarden selecteert. Een raster dat voor elke kleur de basisprijs toont, werkt dus zoals bedoeld: het variantverschil wordt toegevoegd via het attribuut, niet opgeslagen als een apart sjabloon.

Een variantprijs is de sjabloonprijs plus een extra bedrag per attribuutwaarde. In het eenvoudige geval stel je niet rechtstreeks 25 in op de rode variant. Je stelt het sjabloon in op 20 en voegt 5 toe als de Value Price Extra op de attribuutwaarde "rood". Odoo berekent rood dan als 25. Als je verwachtte de eindprijs op de variant te typen en hij blijft de sjabloonprijs tonen, dan zoek je naar een veld dat de attribuut-extra geacht wordt te vullen.

De website gebruikt een prijslijst, maar misschien niet de prijslijst die je denkt. Online past Odoo een prijslijst toe op elke bezoeker, anoniem of ingelogd. Welke hangt af van de landengroep van de bezoeker, of een prijslijst als Selecteerbaar is gemarkeerd, en (voor een ingelogde klant) de prijslijst op hun contact. Als je kortingsprijslijst niet aan de website is toegewezen, niet selecteerbaar is, of verliest van een andere passende prijslijst, valt de shop terug op de openbare prijs.

Btw-weergave is een website-instelling, geen productinstelling. De shop toont prijzen inclusief of exclusief btw op basis van één instelling per website, onder de eCommerce-sectie. Je productprijzen in de backend worden op één manier opgeslagen (meestal exclusief btw), en de website rekent ze om voor de weergave. Als het online bedrag stelselmatig hoger of lager is dan je backendbedrag met precies het btw-tarief, dan is deze instelling de oorzaak, niet de prijs.

Stroomdiagram dat laat zien hoe productsjabloon, variant-extra, prijslijst en btw-weergave samen de weergegeven webshopprijs vormen
Hoe Odoo de shopprijs opbouwt: variant, dan prijslijst, dan btw-weergave.

De oplossing, in genummerde stappen

1

Stel het variantverschil in met Value Price Extra, niet met een aparte prijs.

Open het productsjabloon, ga naar Attributen & Varianten, open de attribuutwaarde (bijvoorbeeld "rood"), en stel Value Price Extra in op het bedrag dat je wilt toevoegen (bijvoorbeeld 5 op een sjabloon van 20 geeft 25). Dit stroomt door naar de variant en naar de productpagina. Gebruik dit voor "deze kleur kost meer"-prijzen. Een waarschuwing uit onze eigen projecten voordat je volledig op varianten overstapt: elke prijswijziging loopt nu via attribuut-extra's in plaats van een eenvoudig prijsveld, wat bulkupdates en prijslijstonderhoud merkbaar lastiger maakt. We gebruiken variantproducten alleen als ze het duidelijk verdienen, zoals één shirt in acht maten en vijf kleuren. Voor twee of drie versies van een product zijn aparte producten makkelijker te prijzen, makkelijker bij te werken en makkelijker correct te houden.

2

Controleer wat het raster geacht wordt te tonen.

Accepteer dat het catalogusraster bewust de sjabloonprijs toont. Als elke variant zijn eigen prijs als aparte kaart in het raster moet tonen, is dat geen native gedrag voor één sjabloon met attributen; het betekent of de varianten opsplitsen in aparte producten of een module van derden. Beslis welke voordat je een lay-out belooft.

3

Schakel Prijslijsten in en kies de prijskeuze van de website.

Ga naar Website > Configuratie > Instellingen, sectie eCommerce. Schakel Prijslijsten in als je online iets anders wilt dan de openbare prijs. Bepaal of bezoekers een prijslijst mogen kiezen (Selecteerbaar) of dat de prijslijst automatisch wordt toegewezen op basis van landengroep en klant.

4

Wijs de kortingsprijslijst toe aan de website en de klant.

Open de prijslijst (Website > eCommerce > Prijslijsten, of Verkoop > Prijslijsten). Om een bezoeker hem te laten kiezen, schakel je Selecteerbaar in. Om hem automatisch toe te passen op een ingelogde B2B-klant, stel je de prijslijst in op het contact van die klant onder Verkoop & Inkoop. Een prijslijst die als Selecteerbaar is gemarkeerd maar niet aan een specifieke website is gekoppeld, is selecteerbaar op al je websites; koppel hem aan één website als hij daar alleen moet gelden.

5

Stel de btw-weergave per website in.

Stel in Website > Configuratie > Instellingen, sectie eCommerce, Productprijzen weergeven in op Exclusief btw of Inclusief btw. Dit bepaalt of de shop de prijs met of zonder btw toont. Het is per website, dus een B2C-shop kan inclusief btw tonen en een B2B-shop exclusief btw.

6

Controleer de fiscale positie van de klant voor de daadwerkelijk berekende btw.

De weergave-instelling bepaalt hoe het getal eruitziet; de fiscale positie op de klant (of hun land) bepaalt welke btw daadwerkelijk wordt toegepast bij het afrekenen. Een buitenlandse B2B-koper met een fiscale positie voor verlegde btw kan een ander totaal zien dan een binnenlandse bezoeker, en dat klopt.

Het stuk waar mensen over struikelen

Een paar dingen overkomen vrijwel iedereen

Eén website kan netjes maar één btw-modus tegelijk tonen. Als je wilt dat dezelfde website prijzen inclusief btw toont aan consumenten en exclusief btw aan zakelijke kopers, is dat geen enkele schakelaar. Odoo handelt dit af via twee technische gebruikersgroepen (Tax display B2B en Tax display B2C) die je per gebruiker toewijst in ontwikkelaarsmodus. De meeste bedrijven zijn beter af met een duidelijke B2C-shop die prijzen inclusief btw toont, en óf een apart pad óf een sectie achter een login voor B2B-prijzen exclusief btw. Bepaal je model voordat je tegen de schakelaar gaat vechten.

Selecteerbare prijslijsten kunnen botsen. Als meerdere prijslijsten als Selecteerbaar zijn gemarkeerd en bij dezelfde bezoeker passen, ziet de bezoeker mogelijk een keuzemenu, of past Odoo de eerste match toe op basis van landengroep. Een korting die "niet werkt" is vaak een prijslijst die niet selecteerbaar is, niet aan deze website is toegewezen, of onder een andere passende prijslijst staat. Controleer toewijzing en volgorde voordat je aanneemt dat de regel kapot is.

De variant-extra wordt elke keer bovenop het sjabloon opgeteld. Value Price Extra is additief, geen vervanging. Als je het sjabloon op 20 zet en de rode extra op 25 in de veronderstelling dat 25 de eindprijs is, wordt rood 45. De extra is het verschil, niet het totaal.

Backendprijs versus weergegeven prijs. Een prijs die online verkeerd lijkt, klopt vaak gewoon in de backend en wordt alleen anders weergegeven. Voordat je productprijzen aanpast, bevestig je of het verschil precies het btw-tarief is (een weergave-instelling) of een echt prijslijstverschil (een regel). De opgeslagen prijs aanpassen om een weergaveprobleem te "repareren" levert later een groter probleem op.

Anonieme bezoekers krijgen toch een prijslijst. Online bestaat er geen "geen prijslijst"-staat. Anonieme bezoekers krijgen de openbare prijslijst of de prijslijst die past bij hun gedetecteerde landengroep. Als anonieme prijzen er vreemd uitzien, controleer dan op welke prijslijst het publiek terechtkomt, niet alleen de ingelogde.

Snelle checklist

  • Prijsverschillen tussen varianten ingesteld met Value Price Extra op de attribuutwaarde, niet in een apart prijsveld.
  • Je accepteert dat het catalogusraster de sjabloonprijs toont; de variantprijs verschijnt op de productpagina na selectie.
  • Prijslijsten ingeschakeld in Website > Configuratie > Instellingen.
  • De juiste prijslijst is toegewezen aan de website en, voor B2B, aan het contact van de klant.
  • Selecteerbare prijslijsten botsen niet; toewijzing en volgorde gecontroleerd.
  • Btw-weergave (inclusief of exclusief) per website correct ingesteld.
  • De fiscale positie van de klant klopt voor de btw die daadwerkelijk wordt berekend bij het afrekenen.
  • Je hebt bevestigd of een verkeerde online prijs een weergave-instelling of een echte regel is voordat je opgeslagen prijzen aanpaste.

Hoe Odoo de weergegeven prijs bepaalt

Lees de prijs online als een keten. Begin met de variant: de verkoopprijs van het sjabloon plus eventuele Value Price Extra van de geselecteerde attribuutwaarden. Pas de prijslijst toe die bij deze bezoeker past: hun landengroep, een selecteerbare keuze, of de prijslijst op hun contact als ze zijn ingelogd. Toon dat resultaat vervolgens met of zonder btw op basis van de btw-weergave-instelling van de website. Drie inputs, in die volgorde. Als de getoonde prijs verkeerd is, loop dan de keten van boven af door en je vindt welke input scheef staat, in plaats van de productprijs aan te passen en te hopen.

Dit blijft beheersbaar zolang je dicht bij standaard blijft. Hoe meer je selecteerbare prijslijsten, landengroepen, gemengde btw-modi en overrides per variant stapelt, hoe moeilijker de weergegeven prijs te voorspellen is, en hoe groter de kans dat het breekt bij de volgende upgrade.

FAQ

Waarom toont mijn Odoo-webshop de sjabloonprijs in plaats van de variantprijs?

Omdat het catalogusraster één kaart per productsjabloon toont, geprijsd op de verkoopprijs van het sjabloon. De variantprijs verschijnt op de productpagina zodra de bezoeker attribuutwaarden selecteert. Stel het variantverschil in met Value Price Extra op de attribuutwaarde, en het verschijnt op de productpagina wanneer die waarde wordt geselecteerd.

Waarom wordt mijn prijslijst niet toegepast op de Odoo-website?

Meestal omdat de prijslijst niet is ingeschakeld, niet aan de website is toegewezen, niet als Selecteerbaar is gemarkeerd, of een andere passende prijslijst voorrang krijgt. Schakel Prijslijsten in bij de website-instellingen, wijs de prijslijst toe aan de website, markeer hem als Selecteerbaar als bezoekers moeten kunnen kiezen, en stel hem in op het contact van de klant voor automatische toepassing bij een ingelogde koper.

Hoe laat ik mijn Odoo-webshop prijzen inclusief btw tonen (of exclusief)?

Ga naar Website > Configuratie > Instellingen, sectie eCommerce, en stel Productprijzen weergeven in op Inclusief btw of Exclusief btw. Dit is per website, dus de ene website kan inclusief btw tonen voor consumenten en de andere exclusief btw voor zakelijke kopers.

Hoe voeg ik een extra prijs toe voor een productvariant in Odoo?

Open het productsjabloon, ga naar Attributen & Varianten, open de attribuutwaarde, en stel Value Price Extra in. Dit bedrag wordt bovenop de verkoopprijs van het sjabloon opgeteld voor die variant. Het is additief, dus een extra van 5 op een sjabloon van 20 maakt die variant 25.

Kan één Odoo-website prijzen inclusief en exclusief btw tonen aan verschillende bezoekers?

Niet met één enkele instelling. Je schakelt de ontwikkelaarsmodus in en wijst gebruikers toe aan de technische groepen Tax display B2B of Tax display B2C. Voor de meeste bedrijven is het netter om op een B2C-shop inclusief btw te tonen en een sectie achter een login of een apart pad te gebruiken voor B2B-prijzen exclusief btw.

Lees verder Voorraad gelijk houden over je webshop, winkels en marktplaatsen (en stop oververkoop)

Open kennis. Ben je een Odoo-partner die deze problemen ook oplost? Draag je eigen oplossingen bij en groei samen met het netwerk richting Gold.

Voor partners
Wanneer een partner inschakelen

Sommige problemen vragen om een paar handen, niet om een handleiding.

dooPartners is een wereldwijd netwerk van onafhankelijke, Odoo-gecertificeerde partners. Lokaal waar je bent, met het netwerk erachter wanneer een project groter wordt dan één bureau. Je houdt één aanspreekpunt, en je kiest met wie je werkt.

Vind een partner bij jou in de buurt