Verkoop je naar Duitsland of België? Dan kan WooCommerce btw correct berekenen, mits je het juist instelt. Mis je een land, of laat je het standaard Nederlandse tarief staan voor heel Europa, dan loop je over een paar maanden tegen een naheffing aan die je niet had verwacht.
WooCommerce btw instellen klinkt als boekhouder-werk, maar het is in de basis een handvol velden invullen op de juiste plek. De moeilijkheid zit niet in de techniek; die zit in weten welke regels gelden voor jouw shop en wanneer je over een drempel heen gaat.
Dit artikel splitst die twee uit elkaar. Ik leg uit hoe je de techniek in WooCommerce neerzet en wanneer je over moet stappen op de OSS-regeling. De fiscale beslissingen zelf laat ik aan je boekhouder. Ik regel de techniek, je boekhouder regelt de aangifte. Dat is een werkbare verdeling, en het scheelt ruzie achteraf.

Hoe btw in WooCommerce werkt
WooCommerce heeft een ingebouwd belastingsysteem. Het bepaalt het toepasselijke tarief op basis van een aantal instellingen: het type klant (consument of bedrijf), het verzendadres of factuuradres, en de tax-class van het product.
Voor de meeste Nederlandse shops volstaat het standaard belastingsysteem. Plug-ins zoals Avalara of TaxJar zijn pas nodig bij grote internationale shops met afwijkende producten. Voor MKB-shops binnen de EU komt het zelden zo ver.
De basis-instellingen vind je onder WooCommerce > Instellingen > Algemeen. Daar zet je eerst “Belastingen inschakelen” aan. Pas daarna verschijnt het tabblad “Belasting” in het instellingenmenu.
De algemene btw-instellingen
Onder WooCommerce > Instellingen > Belasting staan een aantal keuzes die voor de hele shop gelden. De belangrijkste:
Prijzen worden ingevoerd inclusief of exclusief belasting. Voor consumentenshops (B2C) kies je inclusief: je catalogus toont eindprijzen. Voor B2B-shops vaak exclusief: bedrijven kijken naar de netto prijs en zien de btw apart. Mengshops worden complex en vereisen meestal een aparte aanpak per gebruikersrol.
Belasting berekenen op basis van. Drie opties: verzendadres, factuuradres of bedrijfsadres (van de shop). Voor verkoop binnen de EU is verzendadres bijna altijd de juiste keuze. Dat is namelijk waar de levering plaatsvindt en waar de btw fiscaal wordt geheven.
Verzendkosten en belasting. Vrijwel altijd “berekenen op basis van het zwaarste tarief” of “op basis van het ene tarief”. Dat voorkomt afronding-discussies.
Afrondingen. Op subtotaal-niveau, niet per regel. Dat is gangbaar in Nederland.
Aanvullende belastingklassen. WooCommerce komt met “Verlaagd tarief” en “Nultarief”. Voor de meeste shops is dat genoeg. Verkoop je producten met afwijkende tarieven (bijvoorbeeld boeken in sommige landen, of voedingsmiddelen), dan voeg je een klasse toe.
Tax rates per land instellen
Voor elke belastingklasse (Standaard, Verlaagd, Nul) heb je een eigen tab met tax rates. Per land of regio voeg je een rij toe.
Een werkbare basisrij voor Nederland onder Standaardtarief:
| Code land | Code postcode | Plaats | Tarief % | Naam | Prioriteit | Verzending |
|---|---|---|---|---|---|---|
| NL | * | * | 21.0000 | BTW | 1 | Ja |
Voor Duitsland zou je toevoegen:
| Code land | Code postcode | Plaats | Tarief % | Naam | Prioriteit | Verzending |
|---|---|---|---|---|---|---|
| DE | * | * | 19.0000 | MwSt | 1 | Ja |
Voor België 21%, Frankrijk 20%, Italië 22%, enzovoort. WooCommerce kent inmiddels een handige “Import CSV” optie waarmee je een lijst tegelijk kunt uploaden. Dat scheelt klikwerk als je naar veel EU-landen verkoopt.
Belangrijk: het tarief geldt voor de combinatie land + tax class. Verkoop je producten met een verlaagd tarief (bijvoorbeeld boeken, kleding voor kinderen, voedingsmiddelen), dan moet je die in zowel Standaard als Verlaagd correct hebben. Per land kunnen die percentages verschillen.

De OSS-regeling: wanneer is die van toepassing?
Sinds 1 juli 2021 geldt binnen de EU de OSS-regeling (One Stop Shop). Voor consumentenverkoop (B2C) over de grens betekent dat het volgende.
Tot een omzet van 10.000 euro per kalenderjaar in totaal naar alle andere EU-landen samen mag je gewoon Nederlandse btw in rekening brengen. Niets bijzonders. Eén keer Nederlandse btw-aangifte.
Boven die drempel ben je verplicht om btw te heffen volgens het tarief van het land van de klant. Een Duitse consument betaalt dan 19% MwSt, een Belgische consument 21% BTW, enzovoort. Die btw moet je vervolgens afdragen aan elk EU-land waar je naartoe verkoopt.
De OSS-regeling is een vereenvoudiging: in plaats van je in elk land apart te registreren, doe je één centrale aangifte via de Nederlandse Belastingdienst. Die verdeelt het geld over de andere lidstaten. Dat is een grote tijdwinst, maar je moet er wel actief voor kiezen.
De officiële uitleg staat op de Belastingdienst-pagina over de One Stop Shop. Daar staat ook hoe je je aanmeldt en welke termijnen er gelden.
OSS in WooCommerce regelen
Technisch betekent OSS dat WooCommerce per land het juiste tarief moet kunnen toepassen. Dat is exact wat je met tax rates per land doet. Dus de tax-rate-tabel die ik hierboven beschreef, is je OSS-implementatie.
Wat je extra wilt regelen:
- B2B-verkoop met geldig btw-nummer apart afhandelen. Voor bedrijven in een ander EU-land met een geldig btw-nummer geldt de verleggingsregeling (reverse charge): geen btw op de factuur. Dat doe je niet met een tax rate van 0%, want dan rapporteer je het verkeerd in de OSS-aangifte. Hiervoor heb je een plugin zoals “EU VAT Number” of “WooCommerce EU VAT Assistant” nodig.
- Verzending naar landen buiten de EU. Geen btw, maar wel goed in WooCommerce instellen. Voeg per niet-EU-land een rij toe in de Nul-belastingklasse, of stel een fallback “rest van de wereld” in.
- Digitale producten. Voor downloads en abonnementen geldt MOSS (de oude versie van OSS specifiek voor digitale producten). Vanaf de eerste euro over de grens al, dus geen 10.000 euro drempel voor digitale producten. Check dit specifiek met je boekhouder als je naast fysieke producten ook digitale verkoopt.
Verzendadres versus factuuradres
Voor btw-berekening kijkt WooCommerce naar het verzendadres van de klant, zoals je hebt ingesteld. Dat is meestal correct: btw wordt geheven waar de levering plaatsvindt.
Maar er zijn uitzonderingen die in de praktijk opduiken:
- Klant geeft een Nederlands factuuradres maar wil naar een Duits vakantieadres laten verzenden. Strikt genomen Duitse btw. WooCommerce regelt dit goed mits je verzendadres als basis hebt ingesteld.
- Klant geeft een buitenlands factuuradres maar laat zich naar Nederland verzenden. Nederlandse btw. Idem.
- B2B-klant uit ander EU-land. Hier mag je btw verleggen, mits geldig btw-nummer. De plugin valideert het btw-nummer via VIES en haalt dan de btw van de factuur. Dat overschrijft de tax rate.
Voor de meeste shops geldt: verzendadres als basis, een plugin voor EU VAT-validatie, en dan klopt het.
Hoe je test of je instellingen kloppen
Voor je live gaat met nieuwe instellingen, doe je een paar testorders. Maak een testklant aan met verschillende adressen en plaats orders. Kijk wat WooCommerce berekent:
- Bestelling als Nederlandse consument: 21% btw op alles, Nederlandse benaming “BTW”.
- Bestelling als Duitse consument: 19% MwSt op alles. Naam in checkout en op factuur correct.
- Bestelling als Belgisch bedrijf met geldig btw-nummer: 0% btw, vermelding “BTW verlegd” op de factuur.
- Bestelling naar een land buiten de EU: 0% btw.
Vergelijk deze met wat je boekhouder verwacht. Niet alle adviseurs zijn even bekend met WooCommerce, maar de uitkomsten op factuurniveau zijn iets dat ze in vijf minuten kunnen beoordelen.

Wat ik wel en niet doe in dit traject
Ik regel de techniek. Tax rates per land instellen, plugin voor EU VAT-validatie kiezen en configureren, factuur-templates aanpassen zodat de juiste benaming verschijnt, B2B-checkout-flow opzetten met btw-nummer-veld. Dat is meestal twee tot vier uur werk, afhankelijk van hoe complex de shop is.
Wat ik niet doe: bepalen of jij OSS moet aanvragen, of je over de 10.000-eurodrempel komt, hoe je de aangifte indient. Dat is werk voor je boekhouder of een fiscalist. Sterker nog: ik raad je aan om voor je deze stappen zet eerst even met je boekhouder te overleggen over je situatie.
Verbeteren boven herbouwen geldt ook hier. Heeft je shop al een werkende tax-setup, dan kijk ik eerst of die met een paar aanpassingen kloppend te maken is, in plaats van alles opnieuw te beginnen.
Andere shops dan WooCommerce
In Shopify werkt het vergelijkbaar: tax-instellingen per land, met automatische bijwerking van EU-tarieven als je dat aanzet. Shopify heeft een ingebouwde EU VAT-validatie en doet de meeste B2B-cases vrij goed.
Voor maatwerk-shops in Laravel of een custom HubSpot-shop bouw je dezelfde logica in je eigen checkout. De principes blijven: tax op verzendadres, OSS-drempel monitoren, B2B met btw-nummer verleggen, niet-EU op nul.
Voor andere webshop-onderwerpen zie de categorie webshop optimalisatie. De boekhoudkundige kant (orders synchroniseren met je administratie) staat in mijn artikel over WooCommerce koppelen aan je boekhouding.



