EU VAT on Shopify: Reverse Charge, Tax Exemptions, and Why 'Tax Exempt' Isn't One Setting
A B2B customer in Germany registers for a wholesale account, gives you a valid VAT number, and you mark them tax exempt. Clean. Done.
Then your accountant asks why you've been zero-rating their orders — including the ones shipped within Germany, which should have carried German VAT. The exemption you applied was too broad, the VAT you didn't collect is still owed, and it's owed by you, not the customer.
TL;DR: A valid EU VAT number does not mean "charge no tax." The reverse charge exemption applies only to cross-border EU/UK orders, never domestic ones. Shopify has two different mechanisms — a blanket tax-exempt flag and specific exemption rules — and flipping the blanket one zero-rates everything. VAT also lives on the business, not on the customer record. Getting this wrong is a tax liability, and it's yours.
EU VAT is one of the most misunderstood parts of running B2B on Shopify. The rules are conditional, Shopify models them in more than one place, and the most obvious setting is usually the wrong one. Here's how it actually works.
Reverse Charge: The Rule That Makes B2B Different
When a VAT-registered business in one EU country buys from a business in another EU country, the seller doesn't charge VAT. The buyer accounts for it themselves on their own return. This is the reverse charge mechanism, and it's the entire reason "tax exempt" comes up in EU B2B at all.
But notice the conditions. Reverse charge applies to cross-border sales between two VAT-registered businesses. It does not apply to domestic sales. If you're a German store selling to a German business, you charge German VAT — valid VAT number or not. The reverse charge only kicks in when the buyer is in a different EU country than where you ship from.
Shopify's reverse charge exemption follows this exactly: it removes VAT on orders shipped to the EU or UK only when the destination country differs from your fulfillment location's country. Same country, VAT applies. Different country, VAT comes off and the buyer self-accounts.
The UK is its own case now. Post-Brexit, UK VAT numbers aren't in the EU's VIES system, and UK B2B follows separate rules. Shopify did extend its reverse charge exemption to cover EU-to-UK orders, but whether that's the correct treatment for your specific UK sales is a question for your accountant, not a checkbox.
"Tax Exempt" Is Not One Setting
Here's where most merchants go wrong. In Shopify, a customer (or B2B company) can be marked tax exempt in two completely different ways, and they don't behave the same.
The first is a blanket tax-exempt flag — a single switch that makes the customer exempt from all tax on every order. The second is a list of specific exemption rules, like the EU/UK reverse charge rule, which Shopify applies conditionally based on the order.
If you flip the blanket flag, you've zero-rated everything. Domestic orders, cross-border orders, all of it. That's almost never what you want for an EU B2B customer, because their domestic orders should still carry VAT. Worse, the blanket flag overrides the specific rules — so even if you've added the reverse charge rule, the blanket flag wins and the conditional logic never runs.
The correct configuration for a reverse-charge-eligible customer is the opposite of the intuitive one: leave the blanket flag off, and add the reverse charge exemption rule. Then Shopify decides, order by order, whether VAT comes off — cross-border yes, domestic no. You get correct tax on every order instead of zero tax on all of them.
This distinction is invisible in a lot of admin screens and apps, which is exactly why it bites. "Tax exempt" sounds like one thing. It's two.
VAT Lives on the Business, Not the Customer
The second thing that trips people up: where does the VAT number actually go?
In Shopify's data model, VAT is a property of the business, not the individual customer record. A standard Shopify customer has tax-exempt status and exemption rules, but no native field for a VAT registration number at all. The VAT number lives on the B2B company location — that's the only place Shopify natively stores and validates it.
This means your setup looks different depending on your plan.
On Basic, Shopify, or Advanced (no Plus): B2B buyers are regular customers. You manage their exemption status on the customer profile. There's no native VAT-number field, so the number itself has to be tracked some other way — a metafield, a note, or inside whatever registration app you use — and the exemption is driven by the rule plus the order's addresses, not by a stored number.
On Plus with B2B company profiles: the VAT registration number lives on the company location, alongside its tax exemptions. This is the path Shopify Tax can validate natively, and where B2B orders actually pick up their tax settings at checkout.
If you've ever tried to "store the VAT number on the customer" and couldn't find the field, that's why. It isn't there. VAT is per business.
What Shopify Validates for You
Shopify added VAT number validation to Shopify Tax in late 2024. Enter a VAT number on a customer or company location, and Shopify checks it against VIES for EU numbers and HMRC for UK numbers. If it's valid, Shopify automatically applies the reverse charge exemption on qualifying orders.
Two caveats worth knowing. This only works if you use Shopify Tax for the relevant region, and it only validates EU and UK numbers — anything outside that shows up as a plain "Tax ID" field with no validation. And there's a setup dependency that catches people out: the reverse charge exemption won't apply at all unless your default fulfillment location is inside the EU. Ship from outside the EU and the whole mechanism is off.
For the broader picture of how tax-ID validation works across the EU, UK, US, and beyond — and what Shopify does not validate — see How to Validate International Tax IDs on Shopify.
The Common Misconfigurations
Put it together and the same handful of mistakes show up again and again.
Blanket-exempting VAT customers. The big one. You flip the full tax-exempt flag because the customer "is VAT registered," and now you're under-collecting VAT on their domestic orders. The liability is yours.
Not exempting B2B companies at all. The opposite error. On Plus, a reverse-charge-eligible company gets created with its VAT number but no exemption rule assigned, so it's charged VAT on cross-border orders it shouldn't pay. Now you're overcharging legitimate B2B customers.
Trusting the number. Applying any exemption based on a VAT number you never validated. If the number turns out to be invalid, the reverse charge you applied was never justified, and — again — you owe the VAT.
Treating EU and UK as the same. They share Shopify's reverse charge exemption mechanically, but the underlying rules diverged at Brexit. Don't assume the EU treatment is automatically right for a UK sale.
How to Get It Right
The short version: validate the number, set the specific exemption rule rather than the blanket flag, and let Shopify make the cross-border-versus-domestic decision per order. Configure VAT on the company location for Plus, and on the customer profile otherwise. And don't apply any exemption to a number you haven't checked against VIES (EU) or, where you can, HMRC (UK).
This is also why the point of registration matters. If you validate the VAT number and capture the right country when the customer applies — not weeks later when you manually create the company — the exemption can be set correctly from the start, instead of being a thing you fix after an order goes out wrong. Handling that business data correctly also carries GDPR obligations worth understanding; see GDPR Compliance for Shopify B2B Apps.
None of this is tax advice — your situation, your registrations, and your fulfillment setup all matter, so confirm the specifics with your accountant. But the mechanics above are the part most merchants get wrong, and they're the part you can actually control in how your store is configured.
B2B Onboard validates EU VAT numbers via VIES at registration and helps you apply the right exemption — the reverse charge rule, not a blanket flag — so cross-border orders are zero-rated and domestic orders still carry VAT. See how it works.
Peer Jakobsen is the founder of Mentilead. He builds Shopify B2B apps from Denmark with a focus on clean architecture and EU compliance.