Shopify B2B VIES tax exemption checklist: wanneer Shopify Tax genoeg is, en welke knock-outs het Starter-plan van OO B2B & Wholesale wel en niet haalt.
2026-11-01

VIES en btw-vrijstelling op Shopify: de checklist

Een groothandel in de EU hoort één vraag te stellen voor er een app op de shortlist komt: *wordt een buitenlands btw-nummer echt bij VIES gecheckt, en verdwijnt de btw alleen als de verleggingsregel dat toestaat?* Deze checklist is die filter voor OO - EU B2B & Wholesale. Geen sterrenverhaal. Wel must-haves, een matrix tegen native Shopify Tax, en de plangrens.

De brede B2B-use-case (registratie, groepsprijzen, bulk) staat in een eerder artikel. Hier telt alleen de btw-vrijstelling.

Must-haves die een kandidaat laten afvallen

| Must-have | Waarom het hard is | |-----------|--------------------| | Validatie tegen het EU-register (VIES), niet alleen een tekstveld | Een opgeslagen nummer zonder check is geen vrijstelling | | Vrijstelling alleen bij grensoverschrijdend EU-verkeer | Een binnenlands nummer mag wél gevalideerd worden en tóch btw houden | | De checkout-modus past bij incl. of excl. btw | Verkeerde modus haalt de btw niet weg, of herberekent prijzen die dat niet mogen | | Market tax display hoort bij die modus | “Show as included” en “Dynamic pricing” zijn geen uitwisselbare knoppen | | Hetzelfde e-mailadres op het btw-formulier en bij het afrekenen | Shopify koppelt de klant op e-mail; mismatch = alsnog btw | | De app rekent zelf geen belasting | Shopify-registraties en Markets blijven verplicht | | Het plan bevat EU tax exemption echt | Op de listing zit VIES + logs op Starter, niet op Free | | Geen twee draft-order-checkouts door elkaar | B2B-prijzen en tax-exempt-draft lopen nog niet in één flow | | Formulier bereikbaar zonder Plus, tenzij je bewust checkout-UI wilt | Checkout-aanpassingen zijn een Plus-beperking van Shopify |

Een app die elk EU-nummer, ook uit je eigen land, altijd op 0% zet, valt af. De FAQ zegt het omgekeerde: buitenlandse nummers worden gevalideerd en de btw gaat eraf waar de regel dat toelaat; binnenlandse nummers worden gevalideerd en de btw blijft.

Wanneer native Shopify Tax slaagt

Shopify Help — VAT validation in checkout en Manage your EU taxes, gelezen op 1 november 2026:

  • Met Shopify Tax kun je in de checkout een Company VAT number-veld tonen (standaard uit, optioneel aanzetten).

  • Shopify valideert via VIES. Lukt de check niet, dan blijft de btw staan. Er is geen handmatige override.

  • De verlegging geldt als het land van bestemming anders is dan het land van de fulfillment-locatie, binnen de combinaties die Help noemt (EU-locatie naar een ander EU-land, of EU-locatie naar het VK). Een actieve EU-locatie is nodig. UK-naar-EU valt erbuiten.

  • Die checkout-validatie geldt voor guest checkout en Shop Pay. Help schrijft dat ze niet beschikbaar is voor B2B-specifieke checkouts.

  • Op Basic, Grow en Advanced beheer je btw-nummers op het klantprofiel. Op Plus ook via company locations. Shopify Tax zelf is niet Plus-only.

Native is genoeg bij prijzen exclusief btw, één duidelijke EU-markt, Shopify Tax, guest of Shop Pay, en geen formulier vóór de checkout. Een wholesale-app alleen daarvoor is geen must.

Native schiet tekort als het nummer op de winkelwagen moet, de checkout moet wachten op een geslaagde check, je logs wilt, of prijzen inclusief btw of vast per market zijn en Shopify de btw op 0% zet terwijl het artikelbedrag blijft staan. De OO-docs noemen dat laatste een Shopify-beperking bij fixed market prices, geen bug in de app.

Twee modi, en ze bijten

Tax Exempt zit in OO - B2B & Wholesale, op Starter. Je zet het aan via Apps → B2B & Wholesale → Tax & prices. De module berekent geen btw. Shopify’s tax- en market-instellingen halen de btw weg. “Tax display” (incl./excl. labels) is een andere module en doet geen vrijstelling.

Uit de introductie en stap 3:

| Jouw prijsmodel | Modus | Market → Tax display | |-----------------|-------|----------------------| | Prijzen exclusief btw | Standard checkout. Draft order logic uit. Dit is de enige ondersteunde optie | Dynamic pricing | | Prijzen inclusief btw | Draft order logic aan (aanbevolen in de docs) | Show as included | | Meerdere markets of vaste market-prijzen, prijzen incl. btw | Draft order logic | Show as included | | Maximale compatibiliteit met andere cart-apps, prijzen excl. btw | Standard checkout | Dynamic pricing |

Standard checkout zet de klant na een geslaagde VIES-check op tax exempt en laat de gewone checkout rekenen. Draft order logic maakt daarna een conceptbestelling en stuurt naar die invoice. Die draft gebruik je niet bij prijzen exclusief btw, en niet tegelijk met de draft-checkout van custom pricing, volume pricing of bulk forms. Die flows zijn nog niet samengevoegd. B2B-prijzen plus vrijstelling betekent: Tax Exempt op standard checkout. Het e-mailadres op het formulier en bij het afrekenen moet gelijk zijn.

Waar het formulier staat

De theme-handleiding: app embed aan op het live thema, plus het cart-blok op `/cart`. Een cart drawer pakt dat blok niet op. Daar plak je `<div id="ooTaxExemption"></div>` in het drawer-bestand. Dat is wél een thema-codewijziging, alleen voor de drawer.

De FAQ is eerlijk over checkout: Shopify staat checkout-aanpassing alleen op Plus toe. Zonder Plus leeft het formulier op de cart of in de drawer. Je kunt in General settings “Require VAT validation before checkout” aanzetten; de FAQ zegt dat die de checkout-knop blokkeert tot de check slaagt, en dat dit zonder Plus werkt. Een eigen veld ín de checkout is geen belofte voor Basic, Grow of Advanced.

Plan-knock-out

Listing op 1 november 2026. De app is Built for Shopify.

| Plan | Prijs | Tax exemption | |------|-------|----------------| | Free | $0 | 1 prijsregel, 1 registratieformulier, Flow-templates. Geen EU tax exemption. Development stores: geen caps | | Starter | $22/maand of $220/jaar | Onbeperkte custom en volume pricing, company blocks, onbeperkte registratie, EU tax exemption (VIES + logs), tax display incl./excl., login to see prices. 14 dagen trial | | Growth | $37/maand of $370/jaar | Alles van Starter, plus bulk forms, draft checkout, repeat order, quote (RFQ), AI-formules, orderlimieten, wholesale cart. 14 dagen trial |

De modulekaart bevestigt: Tax Exempt, tax display, volume pricing en login to see prices zitten op Starter. Free valt af zodra VIES een must-have is. $8,95 is een verouderde prijs; niet citeren.

Matrix

| Eis | Shopify Tax (native) | OO B2B, Starter | |-----|----------------------|-----------------| | VIES op een buitenlands EU-nummer | Ja, in guest/Shop Pay-checkout als Shopify Tax aan staat | Ja, via het cart-formulier, EU VIES API | | Zelfde land als de winkel, 0% “omdat er een nummer is” | Nee, verlegging is grensoverschrijdend | Nee, zelfde regel in de FAQ | | Veld in de standaard checkout zonder Plus | Ja, Company VAT number optioneel | Eigen checkout-UI: volgens FAQ alleen Plus. Cart/drawer: ook zonder Plus | | B2B-checkout van Companies | Help: VAT-validatie daar nu niet beschikbaar | Formulier zit vóór die checkout, op cart of drawer | | Prijzen incl. btw, bedrag moet omlaag | Risico bij vaste market-prijzen | Draft order logic, mits niet gecombineerd met de prijs-draft | | Prijzen excl. btw | Sterk, dynamische tax | Standard checkout verplicht | | Logs van checks | Niet als app-log beschreven in Help | Listing en Starter: VIES + logs | | Free / laagste plan | Shopify Tax is niet aan een OO-plan gebonden | Free heeft deze module niet |

Native wint op een simpele excl.-btw-winkel met Shopify Tax. De app wint als je het formulier, de blokkade vóór checkout, de logs of de incl.-btw-route nodig hebt — en je de modus niet mengt met een tweede draft-flow.

Reviews

Op 1 november 2026: 5,0 uit 34 reviews, 33 keer 5 sterren en 1 keer 4. De tekst van die ene 4 is op de listing-samenvatting niet zichtbaar; die verzin ik niet. Wel zichtbaar, 6 oktober 2026: Sensorkranenwinkel.nl (Nederland, ongeveer twee jaar gebruiker) schrijft dat de btw-verlegd-optie prima werkt en dat support snel reageert. Cijfers live herchecken.

Primaire bronnen

Tot slot

VIES op zich is geen reden voor een app. Shopify Tax doet die check in de checkout voor guest en Shop Pay, binnen de verleggingsregels. De knock-out begint bij het plan (Starter, niet Free), bij de modus die bij incl. of excl. hoort, en bij het verbod om twee draft-checkouts te stapelen. Past dat, dan is het formulier op cart of drawer de gedocumenteerde route. Installeer OO - EU B2B & Wholesale alleen als die route jouw must-have is.

online origins logo full

Dé Shopify select partner voor ambitieuze e-commerce bedrijven die willen groeien!

linkedin online origins iconinstagram online origins icon

Reviews

5/5

Bekijk op Google

Mail: info@onlineorigins.nl

Tel: 073 234 0612

KVK: 89825624

BTW: NL865123639B01

Bruistensingel 500,
5232 AH 's-Hertogenbosch
Cookies

© 2026 Online Origins