Shopify reverse charge VAT: intra-EU B2B done correctly
Last updated 3 September 2026
Selling to a business in another EU country usually means invoicing at 0% VAT and letting the buyer account for the tax. Simple in principle — and the place Shopify stores most often get an otherwise perfect invoice rejected. This guide covers when zero-rating actually applies, why goods and services follow different articles, the legal note the invoice must carry, and where VIES fits in.
What reverse charge actually means
Normally the seller charges VAT, collects it, and pays it to their tax authority. Under reverse charge, that duty flips: you invoice without VAT, and your business customer declares the VAT in their own country — usually deducting the same amount in the same return, so it nets to zero for them.
The point of the mechanism is that a business buying across a border does not have to register for VAT in your country just to reclaim it. But it only works if your invoice says so. A 0% line with no explanation looks, to a buyer's accountant and to a tax inspector, like a seller who forgot to charge VAT.
When it applies — and when it doesn't
Every condition below has to hold. Merchants trip most often on the last two, because they involve data a standard Shopify checkout never collects.
| Situation | VAT treatment |
|---|---|
| Business buyer in another EU country, valid VAT number, goods leave your country | 0% — exempt intra-Community supply, buyer self-accounts |
| Business buyer in another EU country, cross-border service | 0% — reverse charge, buyer self-accounts |
| Business buyer in your own country | Normal domestic VAT — B2B does not change this |
| Buyer has no valid VAT number, or it fails validation | Charge VAT — treat as a non-taxable customer |
| Goods never leave your country (buyer collects and keeps them there) | Charge VAT — the transport condition is not met |
| Private consumers elsewhere in the EU | Buyer-country VAT above the EU-wide distance-selling threshold, typically via One Stop Shop |
| Buyer outside the EU | Usually an export — different rules, different evidence |
That fourth row is the expensive one. If you zero-rate against a VAT number that turns out to be invalid, the tax authority's starting position is that you owe the VAT you did not charge — money you now have to go back to the customer to recover.
Goods and services are not the same article
Most guides — including the ones ranking for this search — treat "intra-EU B2B" as one thing called reverse charge. Legally it is two things, and the difference shows up in the sentence printed on your invoice:
- Goods shipped to a VAT-registered business in another member state are an exempt intra-Community supply under Article 138 of the VAT Directive (2006/112/EC). Your buyer books a corresponding intra-Community acquisition. Strictly speaking, this is an exemption, not the reverse-charge mechanism.
- Services supplied to a business in another member state are generally taxed where the customer is established, and the customer accounts for the VAT under Article 196. This is the true reverse charge, and the Directive requires the invoice to carry the words "Reverse charge".
For a Shopify store this matters more than it sounds: a physical-product order and a digital or service line on the same order can need different legal notes. And it matters for reporting — goods supplies go into your recapitulative statement (EC Sales List), and getting that wrong undermines the exemption itself.
The legal note your invoice must carry
An EU invoice that applies 0% has to explain why. The VAT Directive's invoicing rules require either the words "Reverse charge" where the customer is liable, or a reference to the provision the exemption relies on. In practice that means a line such as:
- Goods: "Intra-Community supply — exempt under Article 138 Directive 2006/112/EC."
- Services: "Reverse charge — Article 196 Directive 2006/112/EC."
Alongside it, the invoice must show both VAT numbers — yours and the buyer's — and a tax breakdown that is internally consistent at 0%. In a structured EN 16931 e-invoice this is not decorative text: the exemption reason is a coded field, and the validation rules check that a 0% tax category is accompanied by a reason. Leave it out and the file is rejected outright, not merely frowned upon.
VIES: validating the buyer's VAT number
VIES is the European Commission's system for checking whether a VAT number is valid and registered for intra-EU trade. Since the 2020 "quick fixes", holding a valid VAT identification number for your customer in another member state — and reporting the supply correctly in the recapitulative statement — is a substantive condition for exempting an intra-Community supply of goods, not a formality you can fix afterwards.
The practical standard is:
- Validate the number at the time you invoice, not once at signup.
- Keep the evidence — the timestamp and result of the check — so the treatment is defensible years later.
- Handle the awkward cases: VIES is occasionally unavailable, and some member states return only "valid / not valid" without a name and address. Deciding to invoice when the check cannot be completed is a business decision, and it should be a recorded one.
What Shopify does — and where it stops
Shopify can get the money right. Its B2B features let you mark a company location as tax-exempt so no VAT is charged on qualifying orders, and that part works.
Where it stops is the invoice, and the evidence behind it:
- No legal note. Shopify's order confirmations and PDF invoices do not carry the Article 138 or Article 196 wording an EU invoice needs.
- No goods-versus-services distinction. An exemption flag is a single switch; the two treatments need different references.
- No VIES audit trail. An exemption applied by hand at some point in the past is not evidence of a validation at invoice time.
- No structured output. Mandates such as Germany's 2027 rules require an EN 16931 file with a coded exemption reason — not a PDF.
- No reporting hook. Zero-rated goods supplies still have to appear in your EC Sales List; Shopify does not produce one.
Where Shopify stores actually go wrong
- Tax-inclusive pricing. Prices stored gross have to be converted to net and VAT. At 0% the "net" is the whole amount — and stores that derive it with a hardcoded rate silently invoice the wrong base.
- Rounding. Line-level versus document-level rounding can leave net plus VAT a cent away from gross. EN 16931 validation is arithmetic, and a cent is a failure.
- An exemption without a note. The most common one: 0% charged, nothing on the invoice explaining it.
- A VAT number captured as free text. Unvalidated, unformatted, sometimes with the country prefix missing — worthless as evidence.
- Domestic B2B zero-rated by mistake. A business buyer in your own country pays normal VAT.
- Consumers treated as businesses. Someone types a company name at checkout and gets zero-rated without a VAT number ever being verified.
Go deeper
- EU B2B e-invoicing on Shopify — the hub guide: mandates, formats and deadlines.
- EN 16931 explained — the standard whose validation rules reject an unexplained 0% line.
- Germany's 2027 B2B mandate — dates, XRechnung vs ZUGFeRD, and what to do now.
- Peppol for Shopify — how a compliant invoice actually reaches your buyer.
Frequently asked questions
When can I sell to an EU business without charging VAT?
When your buyer is a taxable business established in another EU member state with a valid VAT number there and — for goods — the goods actually leave your country and you can prove it. If any condition fails, charge your domestic VAT. A buyer in your own country is a normal domestic sale, business or not.
Is an intra-EU sale of goods really "reverse charge"?
Not strictly, though everyone calls it that. Cross-border B2B goods are an exempt intra-Community supply under Article 138 and the buyer books an acquisition; cross-border B2B services are the true reverse charge under Article 196. Same practical effect, different legal reference on the invoice.
What note has to appear on the invoice?
For services where the customer is liable, the words "Reverse charge". For exempt intra-Community goods, a statement of the exemption or a reference to the provision — commonly "Intra-Community supply — Article 138 Directive 2006/112/EC". A bare 0% line is an incomplete invoice.
Do I have to check the buyer's VAT number in VIES?
In practice, yes. Since the 2020 quick fixes a valid VAT number in another member state plus correct EC Sales List reporting is a substantive condition for the exemption on goods. Validate at invoice time and keep the evidence.
Does any of this apply to consumer orders?
No. Sales to private consumers elsewhere in the EU are distance sales, taxed in the buyer's country above the EU-wide threshold and usually reported through One Stop Shop. That is why your store has to separate B2B from B2C reliably before it invoices.
Can Shopify handle reverse charge on its own?
It can stop charging the tax, via its B2B tax exemption settings. It cannot produce the compliant invoice that follows: no legal note, no goods-versus-services distinction, no VIES audit trail, and no structured EN 16931 output.
This guide is general information for Shopify merchants, not legal or tax advice. VAT rules, national implementations and evidence requirements vary and change, and edge cases exist — confirm your own obligations with a qualified tax adviser.
E-invoices from your Shopify B2B orders
Zeppol turns every B2B order into an EN 16931 document, checks it against the EU and the German rules, and sends it over Peppol or by email. Join the list and I'll be in touch before the deadline.