← All guides

Sell from Germany to a VAT-registered business in France, and you generally should not charge German VAT. The customer accounts for the VAT themselves in France. This is the intra-EU B2B mechanism — commonly bundled under the label reverse charge — and it is one of the most frequently botched areas of e-commerce VAT.

Botched in both directions, too: merchants who wrongly charge VAT to valid business customers lose B2B sales to competitors who invoice correctly, and merchants who wrongly zero-rate a sale without a validated VAT number can be held liable for the uncharged VAT years later. Here is how the mechanism actually works and how to run it safely on Shopify.

The mechanism, precisely

Two legal routes lead to the same practical outcome — an invoice without your domestic VAT, where the business customer self-accounts for VAT in their own country:

Services: Article 196

For B2B services, the place of supply is where the customer is established (Article 44 of Directive 2006/112/EC), and Article 196 makes the customer the person liable to pay the VAT. You invoice without VAT; your customer declares the VAT in their own return (and usually deducts it in the same return — a cash non-event for them). This covers digital products, SaaS, and services sold cross-border to EU businesses.

Goods: Article 138 (intra-Community supply)

For physical goods shipped from one member state to a business in another, the supply is exempt as an intra-Community supply under Article 138; the customer performs a taxed intra-Community acquisition on their side. Merchants often call this "reverse charge" too. Since the 2020 "quick fixes", two things are substantive conditions for this exemption, not formalities:

You also need evidence that the goods actually left your country — for a Shopify merchant, carrier tracking and shipping documentation.

Get the conditions wrong and the exemption falls away: the sale is treated as domestic, and the VAT you never charged comes out of your margin, plus interest.

VIES validation — and why storing proof matters

VIES (VAT Information Exchange System) is the European Commission's service for checking that a VAT number is valid for intra-EU transactions. Validating through VIES is the standard of care; a number that merely looks right (correct country prefix, right number of digits) proves nothing — numbers get deactivated, mistyped, and occasionally supplied fraudulently.

Three operational rules:

  1. Validate at the time of the transaction, not once at customer onboarding. A number valid in January can be invalid in June.
  2. Store the proof. VIES can return a consultation number — a unique identifier of your specific validation request, with a timestamp. Save it (or a full record of the response) with the order. In an audit years later, "we checked it at the time, here is the evidence" is a defence; "we probably checked it" is not. Acting in good faith on a positive VIES result is what protects you if the number later turns out to have been misused.
  3. Have a fallback for downtime. VIES aggregates national databases and individual member states' systems do go offline. A sensible flow queues the validation and retries, rather than silently skipping the check or blocking the checkout.

One more check that software often forgets: confirm the name and address returned by VIES plausibly match your customer. A valid VAT number belonging to a different company is a red flag, not a green light.

The invoice itself

A reverse-charge or intra-Community invoice must contain everything a normal VAT invoice does, plus:

The correct wording, per language

For services under Article 196, the directive prescribes the mention "Reverse charge" (Article 226(11a)). Each language version of the directive fixes the official term, so use the customer's language or English:

Language Wording
English Reverse charge
German Steuerschuldnerschaft des Leistungsempfängers
French Autoliquidation
Spanish Inversión del sujeto pasivo
Italian Inversione contabile
Dutch Btw verlegd

Adding the legal reference is good practice and widely expected: "Reverse charge — Art. 196 Directive 2006/112/EC. VAT to be accounted for by the recipient."

For goods, reference the exemption instead: "Exempt intra-Community supply — Art. 138 Directive 2006/112/EC" (in German practice: "Steuerfreie innergemeinschaftliche Lieferung"). Citing Article 196 on a goods invoice is a common mix-up — harmless-looking, but it tells an auditor your process doesn't distinguish the two mechanisms.

Common mistakes (a field guide)

Doing it right, sustainably

The pattern that survives audits looks like this: capture the VAT ID at or before checkout, validate against VIES in real time, store the consultation proof with the order, issue the invoice with zero VAT and the exact prescribed wording in the right language, report the supply in your EC Sales List, and keep shipping evidence for goods. Every step is simple; doing all of them consistently, on every order, at 2 a.m. while you sleep — that is a software problem, not a willpower problem.

Facturely generates audit-proof invoices for Shopify stores automatically — gapless numbering, VIES-validated reverse charge with stored proof, correct per-language wording, and e-invoice-ready PDFs.

This article is general information, not tax advice. For your specific situation, consult a qualified tax advisor.


Facturely issues audit-proof EU VAT invoices for Shopify stores automatically.