B2B in de EU · WooCommerce
Verkoop aan bedrijven in de EU. Met de juiste prijzen en de juiste 0% btw.
Cartnorm B2B voegt groothandelsprijzen, klantgroepen, bestelregels en offertes toe aan WooCommerce en controleert btw-nummers in VIES. Consumenten blijven je normale prijzen zien. Zakelijke klanten zien hun eigen prijzen, excl. of incl. btw.
De gratis plugin staat nog niet op WordPress.org. Mail ons en we sturen je op de lanceerdag één e-mail.
Voorbeeld: één product, twee klanten
Voorbeeldwinkel · Duitsland · gast
Navulling handzeep, 5 l
€ 29,75 incl. 19% btw
€ 5,95 / 1 l
- Getoonde prijzen
- Incl. btw, zoals ingesteld in WooCommerce
- Btw bij afrekenen
- 19% Duitse btw
- Bestelregels
- Geen
De regels voor consumenten blijven actief: prijzen incl. btw, de eenheidsprijs en, bij korting, de laagste prijs van de afgelopen 30 dagen (Omnibus).
Voorbeeldwinkel · Duitsland · Groep Groothandel, bedrijf in Frankrijk
Navulling handzeep, 5 l
€ 20,00 excl. btw
€ 4,00 / 1 l
| Aantal | Prijs per stuk | Prijs per liter |
|---|---|---|
| vanaf 1 | € 20,00 | € 4,00 / 1 l |
| vanaf 10 | € 18,50 | € 3,70 / 1 l |
| vanaf 50 | € 17,00 | € 3,40 / 1 l |
- Getoonde prijzen
- Netto, met ‘excl. btw’
- Btw bij afrekenen
- 0%, btw-nummer geldig in VIES
- Bestelregels
- Per 4 stuks, minimale bestelling € 150
Vermelding op de bestelling: Intracommunautaire levering, vrijgesteld (art. 138 Richtlijn 2006/112/EG)
Illustratie met voorbeeldprijzen. De vermelding wordt opgeslagen in de taal van de bestelling.
Waarom B2B in de EU lastiger is
Verkopen aan bedrijven in de EU vraagt meer dan een korting
Een btw-nummer moet je controleren, en de controle bewaren
0% btw voor een bedrijf in een ander EU-land vraagt om een geldig btw-nummer. VIES bevestigt het en geeft een raadplegingsnummer terug: je bewijs voor de Belastingdienst.
Er zijn twee verschillende 0%-gevallen
Goederen zijn een vrijgestelde intracommunautaire levering (art. 138). Voor diensten wordt de btw verlegd (art. 196). Elk geval vraagt een eigen vermelding op de factuur, niet alleen ‘vrijgesteld’.
Alleen nettoprijzen als consumenten echt zijn uitgesloten
Consumenten moeten prijzen incl. btw zien. Alleen nettoprijzen tonen mag als consumenten echt niet kunnen kopen. Een vinkje ‘Ik ben ondernemer’ is niet genoeg.
Een paginacache kan nettoprijzen tonen
Als een cache een pagina voor een groothandelsklant opslaat en aan een consument toont, ziet die prijzen zonder btw. In een winkel die ook aan consumenten verkoopt, is dat een juridisch probleem, niet alleen een bug.
Vier taken, goed gedaan
1
Prijzen en staffelprijzen
Vaste groepsprijzen voor producten en variaties, kortingen per categorie, een korting op alle producten en staffelprijzen zoals ‘vanaf 10 stuks € 7’. Je opgeslagen productprijzen veranderen nooit.
2
Btw-nummer en 0% btw
Een btw-nummerveld in de blok- en klassieke checkout, een live controle in VIES met raadplegingsnummer, 0% alleen als het klopt, en de juiste wettelijke vermelding op elke bestelling.
3
Bestelregels
Minimale bestelwaarde en minimaal aantal artikelen per groep, minimale en maximale aantallen en verpakkingseenheden per product. Gecontroleerd in het winkelwagenblok, de klassieke winkelwagen en op de server.
4
Offertes en registratie voor groothandel
Klanten vragen een offerte aan, jij antwoordt met prijzen, zij accepteren via een ondertekende link en betalen. Bedrijven vragen een groothandelsaccount aan, en jij keurt het goed, of VIES doet dat.
EU-regels
Wat er met de btw gebeurt, per geval
Cartnorm B2B beslist voor elke winkelwagen op de server en slaat de beslissing op bij de bestelling.
| Geval | Wat Cartnorm B2B doet | Vermelding op de bestelling |
|---|---|---|
| Zakelijke klant in je eigen land | Rekent btw zoals gewoonlijk. Binnenlandse verkopen bevatten altijd btw. | — |
| Goederen aan een bedrijf in een ander EU-land, btw-nummer geldig in VIES | 0% btw | Intracommunautaire levering, vrijgesteld (art. 138 Richtlijn 2006/112/EG) |
| Diensten of virtuele producten, dezelfde situatie | 0% btw, btw verlegd | Btw verlegd (art. 196 Richtlijn 2006/112/EG) |
| Goederen en diensten in één winkelwagen | 0% btw | Beide vermeldingen |
| VIES is niet bereikbaar | Rekent btw, accepteert de bestelling en markeert die als ‘wacht op controle’. Controleert het nummer tot zes keer opnieuw binnen ongeveer vier dagen en voegt een notitie toe als VIES het daarna bevestigt. Bestelbedragen worden nooit automatisch gewijzigd. | — |
| Btw-nummer ongeldig of uit een ander land dan het adres | Rekent btw. Bij een ongeldig nummer verschijnt een duidelijke melding, of de bestelling wordt met btw geaccepteerd, zoals jij kiest. | — |
| Klant buiten de EU | De btw-nummerregels gelden niet. Je belastinginstellingen in WooCommerce beslissen. | — |
De vermeldingen zijn ingebouwd in alle 24 officiële EU-talen en worden opgeslagen in de taal van de bestelling. Virtuele producten gelden als diensten; met een filter kun je dat aanpassen.
Bewijs bij elke bestelling met een btw-nummer
Btw-nummer en het land
VIES-resultaat en raadplegingsnummer
Tijdstip van de controle
De beslissing en de reden
Klantgroep op het moment van de bestelling
Leesbaar voor factuurplugins uit de bestelgegevens
Werkt samen met Cartnorm Omnibus
De Omnibus-melding met de laagste prijs van 30 dagen is een consumentenregel. Met beide plugins actief zien leden van een B2B-groep deze melding niet, en de doorstreep-logica van Omnibus raakt groepsprijzen niet aan. Voor particuliere klanten blijft alles zoals het was.
Over Cartnorm Omnibus →Geen belastingadvies. Cartnorm B2B past de algemene EU-regels voor verkopen tussen bedrijven toe (artikelen 138 en 196 van Richtlijn 2006/112/EG). Bijzondere gevallen zoals ABC-leveringen (driehoeksverkeer), goederen die niet naar een andere lidstaat gaan, bijzondere regelingen of nationale regels vallen erbuiten. Controleer met je belastingadviseur hoe deze regels voor jouw bedrijf gelden.
Waar je op kunt rekenen
Klanten kiezen nooit zelf hun groep
Alleen winkelmedewerkers kunnen een klant aan een groep toewijzen. Een groep wordt nooit overgenomen uit een registratie-, checkout- of accountformulier.
Verborgen prijzen blijven verborgen
Als prijzen voor een bezoeker verborgen zijn, worden ze ook verwijderd uit de productgegevens van de Store API en uit de gestructureerde gegevens (JSON-LD), zodat je ze niet uit de broncode kunt halen.
Veilig met paginacaches
Pagina's voor B2B-klanten worden nooit door paginacaches opgeslagen. Ingebouwde ondersteuning voor WP Rocket, LiteSpeed Cache, W3 Total Cache, WP Super Cache en FlyingPress, plus een zelftest.
Snel bij grote winkelwagens
Geen databasequery's per winkelwagenregel. In onze test werd een winkelwagen met 300 regels in een B2B-groep in ongeveer 30–40 ms berekend.
Schone verwijdering
Bij het verwijderen wist de plugin zijn instellingen, groepen, prijzen, offertes en aanvragen. Bestellingen en hun btw-bewijs blijven, want die horen bij je administratie.
Alleen VIES wordt benaderd
Btw-nummers worden gecontroleerd via de VIES-dienst van de Europese Commissie. Er gaan geen andere gegevens je winkel uit, en de plugin neemt geen contact op met cartnorm.com.
In vier stappen ingesteld
1
Installeer en vul je eigen btw-nummer in
Onder WooCommerce › Instellingen › B2B. Je btw-nummer wordt als aanvrager naar VIES gestuurd, zodat elke controle een raadplegingsnummer oplevert.
2
Maak een groep
Bijvoorbeeld ‘Groothandel’: prijzen netto of bruto, een korting op alle producten, kortingen per categorie en een minimale bestelling.
3
Voeg prijzen en regels toe aan producten
Groepsprijzen en staffelprijzen in de producteditor, minimale aantallen en verpakkingseenheden in het tabblad ‘Voorraad’.
4
Bepaal hoe klanten erbij komen
Wijs ze toe via Gebruikers › Bewerken, of laat ze aanvragen op de registratiepagina, met handmatige of automatische goedkeuring.
Versie 0.3.0 WordPress 6.4+ PHP 7.4+ WooCommerce 8.0+ Getest tot WordPress 7.1 en WooCommerce 11.2 Lees de documentatie →
Alles in de gratis plugin
Open een onderwerp om de details te zien.
Klantgroepen en prijzen
- Particulieren zijn ingebouwd: gasten en klanten zonder groep zien je normale prijzen
- Tot 2 B2B-groepen, elk met prijzen incl. of excl. btw
- Vaste groepsprijs per product en per variatie
- Kortingen per categorie (inclusief subcategorieën) en een korting op alle producten
- Staffelprijzen per product en groep, als tabel op de productpagina
- Een groepsprijs is nooit hoger dan de huidige normale of actieprijs
- Bestellingen die je in de beheeromgeving maakt, krijgen de groepsprijzen van de klant
Netto-, bruto- en eenheidsprijzen
- ‘excl. btw’ achter prijzen voor nettogroepen; de btw wordt gewoon berekend
- Met Germanized: de eenheidsprijs volgt de groepsprijs, de btw-melding volgt de netto- of brutoweergave
- Zonder Germanized of German Market: een optionele eenvoudige eenheidsprijs zoals ‘€ 7,00 / 1 kg’
- Particuliere klanten zien altijd je WooCommerce-instellingen
Btw-nummer en VIES
- Btw-nummerveld in de blok-checkout, de klassieke checkout, Mijn account en het gebruikersprofiel
- Formaatcontrole voor alle 27 lidstaten en Noord-Ierland (XI)
- Live controle in VIES met raadplegingsnummer; resultaten in de cache (7 dagen voor geldige nummers)
- 0% alleen voor een geldig btw-nummer uit een ander EU-land dan dat van je winkel
- Factuur- of verzendadres beslist, naar keuze
- VIES onbereikbaar: btw gerekend, bestelling geaccepteerd, nummer automatisch opnieuw gecontroleerd
Wettelijke vermeldingen en bewijs
- Aparte vermeldingen voor goederen (art. 138) en diensten (art. 196); gemengde winkelwagens krijgen beide
- Ingebouwd in alle 24 officiële EU-talen
- Opgeslagen in de taal van de bestelling (WPML, Polylang of de winkeltaal)
- Zichtbaar op de bedankpagina, in Mijn account, in bestelmails en in het bestelscherm van de beheeromgeving
- Btw-bewijsblok bij elke bestelling
Bestelregels
- Minimale bestelwaarde per groep, vergeleken zoals de groep de prijzen ziet
- Minimaal aantal artikelen per groep
- Minimum, maximum en verpakkingseenheid per product en variatie, per groep
- Aantalvelden bieden alleen geldige aantallen, in de klassieke winkelwagen en het winkelwagenblok
- Duidelijke meldingen zoals ‘voeg nog € 23,50 toe’; afrekenen is op de server geblokkeerd tot aan de regels is voldaan
Offerte aanvragen
- ‘Toevoegen aan offerte’ naast of in plaats van ‘In winkelwagen’, per groep, voor particulieren en gasten
- Optioneel prijzen verbergen (‘Log in om prijzen te zien’, ‘Prijs op aanvraag’)
- Offertepagina met aantallen, bedrijf, btw-nummer en bericht, met spambescherming
- Beantwoorden in WooCommerce › Offertes met een prijs per regel en een geldigheidsdatum
- Ondertekende acceptatielink die verloopt; acceptatie maakt een bestelling ‘wachtend op betaling’ met dezelfde btw-regels als de checkout
- E-mails voor nieuwe, beantwoorde en verlopen offertes
Registratie voor groothandel
- Registratiepagina met bedrijf, contactpersoon, land, btw-nummer en toestemming
- Het btw-nummer wordt in VIES gecontroleerd
- Handmatige goedkeuring, of automatisch als VIES het btw-nummer bevestigt
- Aanvragers blijven particuliere klant tot ze zijn goedgekeurd
- Bestaande klanten kunnen aanvragen vanuit Mijn account
- Nonce, honeypot-veld en limiet op verzoeken tegen spam
Winkelmodi en caching
- Hybride (standaard): consumenten zien je normale prijzen, groepen hun eigen prijzen
- Alleen B2B: alleen goedgekeurde zakelijke klanten zien prijzen en kunnen kopen
- Optioneel de hele catalogus alleen voor goedgekeurde klanten
- Verborgen prijzen worden uit de Store API en de JSON-LD verwijderd
- Privé pagina's zonder cache voor B2B-klanten en een ondertekende groepscookie voor caches
- Statusoverzicht en zelftest
Compatibiliteit
- WooCommerce-blokken voor winkelwagen en checkout, HPOS
- Cartnorm Omnibus
- Germanized (eenheidsprijzen en btw-meldingen)
- German Market: naar beste kunnen, nog niet getest
- WPML en WooCommerce Multilingual
- WP Rocket, LiteSpeed Cache, W3 Total Cache, WP Super Cache, FlyingPress
Gegevens, vertalingen en ontwikkelaars
- De volledige btw-beslissing wordt als bestelmetadata opgeslagen voor factuurplugins
- Filters en acties voor prijzen, btw, bestelregels, offertes, registratie en caching
- Vertalingen: Duits (Duitsland, Oostenrijk), Pools, Frans (Frankrijk, België), Italiaans, Spaans, Nederlands (Nederland, België)
- Schone verwijdering; bestellingen en btw-bewijs blijven bewaard
Een eerlijke vergelijking
Wat we vonden in de openbare documentatie, productpagina's en supportdiscussies van toonaangevende groothandelsplugins voor WooCommerce. Waar zij meer kunnen, zeggen we dat.
| Waar je op let | Cartnorm B2B (gratis) | Typische groothandelsplugins |
|---|---|---|
| Groepsprijzen, staffelprijzen, offertes, registratie voor groothandel | Ja | Ja, meestal |
| Aanbod aan B2B-extra's (vertegenwoordigers, subaccounts, ERP-koppelingen …) | Gericht op de basis | Breder |
| VIES-controle met raadplegingsnummer in de gratis versie | Ja | Wisselend, controleer vóór aankoop |
| Aparte factuurvermeldingen voor goederen (art. 138) en diensten (art. 196) | Ja, in 24 talen | Wisselend, controleer vóór aankoop |
| Eenheidsprijs herberekend uit de groepsprijs | Ja (Germanized of ingebouwd) | Ontbreekt bij minstens één toonaangevende plugin |
| Paginacaching voor ingelogde B2B-klanten | Automatisch beveiligd | Sommige leveranciers raden aan caching uit te zetten |
| Verborgen prijzen ook uit Store API en JSON-LD verwijderd | Ja | Wisselend, controleer vóór aankoop |
| Prijspagina | EUR, excl. btw, geen doorgestreepte prijzen | Vaak in USD; sommige tonen doorgestreepte ‘van’-prijzen |
Gecontroleerd in oktober 2026. ‘Typisch’ vat samen wat we bij meerdere toonaangevende plugins zagen; het is geen uitspraak over één bepaald product. Plugins veranderen, dus controleer de actuele versie voordat je beslist. Een fout gevonden? Mail ons en we verbeteren het.
Gratis en Pro
Alles wat een winkel correct en veilig maakt, is gratis. Pro is voor winkels die meer schaal en minder handwerk nodig hebben.
| Wat je krijgt | Gratis | Pro Binnenkort |
|---|---|---|
| Klantgroepen | 2 + particulieren | Onbeperkt |
| Groeps-, categorie-, product- en staffelprijzen | Ja | Ja |
| Klantspecifieke prijzen en prijslijsten via CSV | — | Ja |
| Netto- of brutoweergave per groep, eenheidsprijzen | Ja | Ja |
| Btw-nummerveld, VIES-controle, 0% btw, vermeldingen in 24 talen, bewijs bij bestellingen | Ja | Ja |
| Automatische hercontrole van de btw-nummers van goedgekeurde klanten | — | Ja |
| Bestelregels: minimale bestelwaarde, minimale en maximale aantallen, verpakkingseenheden | Ja | Ja |
| Offerte aanvragen, acceptatielink, bestelling uit de offerte | Ja | Ja |
| Pdf-offertes met betaallink en herinneringen | — | Ja |
| Registratie voor groothandel met handmatige of automatische goedkeuring | Ja | Ja |
| Betalen op factuur met betalingstermijn en kredietlimiet | — | Ja |
| Opgaaf intracommunautaire prestaties (ICP) als CSV- en DATEV-export | — | Ja |
| Winkelmodi, cache-veiligheid, verborgen prijzen in Store API en JSON-LD | Ja | Ja |
| Import uit Wholesale Suite en B2BKing | — | Ja |
Pro-prijzen
Elk abonnement heeft alle Pro-functies. Je kiest alleen het aantal sites. Prijzen excl. btw, jaarlijks gefactureerd.
Cartnorm B2B Pro is in ontwikkeling en nog niet te koop. Dit zijn de prijzen die het krijgt. Wil je weten wanneer het klaar is? We sturen één e-mail.
Eén winkel
1 site
€ 99 / jaar
Ongeveer € 8,25 per maand, jaarlijks gefactureerd
Binnenkort — houd me op de hoogteNu geen betaling. Eén e-mail bij de lancering.
Klein bureau
5 sites
€ 179 / jaar
€ 35,80 per site
Binnenkort — houd me op de hoogteNu geen betaling. Eén e-mail bij de lancering.
Bureau
20 sites
€ 299 / jaar
€ 14,95 per site
Binnenkort — houd me op de hoogteNu geen betaling. Eén e-mail bij de lancering.
Elk abonnement bevat
Alles uit de gratis plugin
Onbeperkt klantgroepen
Klantspecifieke prijzen en CSV-prijslijsten
Automatische hercontrole van btw-nummers
Pdf-offertes met betaallink en herinneringen
Betalen op factuur met termijn en kredietlimiet
ICP-opgaaf (CSV, DATEV)
Import uit Wholesale Suite en B2BKing
Prijzen excl. btw. 14 dagen proefperiode (kaart of PayPal nodig), 30 dagen geld-terug-garantie. Cartnorm B2B Pro wordt alleen aan ondernemers verkocht. Betalingen verlopen via Freemius als Merchant of Record.
Proefperiode en terugbetaling
Voor de proefperiode van 14 dagen heb je een kaart of PayPal nodig; zeg je op vóór het einde, dan betaal je niets. Na een betaling heb je 30 dagen om 100% terug te vragen, zonder vragen.
Verlenging
Pro wordt eens per jaar tegen dezelfde prijs verlengd tot je opzegt, en opzeggen kan altijd in het klantportaal. Verleng je niet, dan blijft de gratis plugin werken met alles uit de kolom ‘Gratis’; Pro-functies en updates stoppen.
Btw en facturen
Freemius, Inc. verkoopt Cartnorm B2B Pro op eigen naam als reseller en Merchant of Record. Freemius rekent bij het afrekenen de btw van jouw land en stuurt je een factuur.
Vragen
Merken mijn particuliere klanten iets?
Nee. Gasten en klanten zonder groep zijn ‘particulieren’ en zien precies de prijzen die WooCommerce zonder de plugin toont.
Kan een klant zichzelf in een groothandelsgroep zetten?
Nee. Alleen medewerkers die WooCommerce mogen beheren of gebruikers mogen bewerken, kunnen de groep van een klant wijzigen. De plugin neemt nooit een groep over uit een registratie-, checkout- of accountformulier.
Wanneer is de btw 0%?
Alleen als het btw-nummer geldig is in VIES en de klant in een ander EU-land zit dan je winkel. Klanten uit je eigen land betalen altijd btw. Goederen krijgen de vermelding intracommunautaire levering, diensten de vermelding btw verlegd.
Wat gebeurt er als VIES niet bereikbaar is?
De klant kan gewoon bestellen. Er wordt btw gerekend, de bestelling wordt gemarkeerd als ‘wacht op controle’ en het nummer wordt automatisch opnieuw gecontroleerd. Bevestigt VIES het later, dan krijg je een notitie bij de bestelling, zodat je een gecorrigeerde factuur kunt sturen.
Kan ik in één winkel aan consumenten en bedrijven verkopen?
Ja, dat is de hybride modus, en die staat standaard aan. Consumenten en gasten zien je normale prijzen incl. btw; goedgekeurde B2B-groepen zien hun eigen prijzen, desgewenst excl. btw.
Wanneer mag ik alleen nettoprijzen tonen (‘Alleen B2B’)?
Alleen als consumenten echt van kopen zijn uitgesloten: elke klant registreert zich als bedrijf en jij controleert het account (btw-nummer, bedrijfsgegevens) voordat je het goedkeurt. Een melding of een vinkje ‘Ik ben ondernemer’ is niet genoeg, en consumenten die nog kunnen bestellen, moeten prijzen incl. btw zien. Gebruik de modus ‘Alleen B2B’ met handmatige goedkeuring of automatische goedkeuring via VIES. Dit is geen juridisch advies; vraag je advocaat of belastingadviseur.
Kan een consument een gecachete pagina met nettoprijzen zien?
Niet uit WordPress-paginacaches: pagina's voor B2B-klanten worden als privé en niet-opslaanbaar verstuurd, en WP Rocket, LiteSpeed Cache, W3 Total Cache, WP Super Cache en FlyingPress krijgen de opdracht ze niet op te slaan. Caches buiten WordPress (hosting, Varnish, nginx, Cloudflare) kan een plugin niet instellen; de documentatie laat de regels zien die je toevoegt. Draai de zelftest na elke wijziging in je caching.
Werkt het met Cartnorm Omnibus?
Ja. Consumenten blijven de laagste prijs van 30 dagen zien; leden van B2B-groepen niet, omdat het een consumentenregel is, en Omnibus herschrijft hun groepsprijzen niet.
Werkt het met Germanized en German Market?
Met Germanized volgen eenheidsprijzen en btw-meldingen de groepsprijs en de weergave. German Market is nog niet getest, omdat we geen toegang tot de broncode hadden: groepsprijzen werken gewoon, en eenheidsprijzen die German Market automatisch berekent, volgen de groepsprijs.
Wat gebeurt er als ik de plugin deactiveer of verwijder?
Gedeactiveerd: iedereen ziet weer je normale productprijzen; je productgegevens veranderen niet. Verwijderd: instellingen, groepen, groepsprijzen, aantalregels, offertes, aanvragen en gecachete VIES-resultaten worden gewist. Bestellingen en hun btw-bewijs blijven bewaard.
Is de gratis versie beperkt in tijd?
Nee. Alles uit de kolom ‘Gratis’ is gratis, zonder tijdslimiet. De plugin noemt Pro alleen in één regel die je kunt wegklikken, op de juiste plek, en op het eigen tabblad ‘Pro’. Geen banners.
Is dit belastingadvies?
Nee. Cartnorm B2B past de algemene EU-regels voor verkopen tussen bedrijven toe (artikelen 138 en 196 van Richtlijn 2006/112/EG). Bijzondere gevallen zoals ABC-leveringen of bijzondere regelingen vallen erbuiten, en je blijft zelf verantwoordelijk voor je facturen en aangiften. Controleer met je belastingadviseur hoe deze regels voor jouw bedrijf gelden.
Wanneer kan ik het krijgen?
Eerst komt de gratis plugin op WordPress.org, Pro later. We noemen geen data die we niet kunnen waarmaken. Mail ons en je krijgt één e-mail per lancering.
Klaar voor je eerste zakelijke klant?
De gratis plugin komt op WordPress.org. Mail ons en we laten het je weten op de lanceerdag. Tot die tijd laat de documentatie precies zien hoe het werkt.