Guide

Reverse Charge & Intra-EU B2B on Shopify: Goods vs Services Explained

Updated 2026-06-10

Reverse Charge & Intra-EU B2B on Shopify: Goods vs Services Explained

A business customer in another EU country places an order in your Shopify store and provides a VAT ID. You know you’re supposed to charge 0% VAT. But why, exactly, and what must the invoice say? This is where many merchants conflate two different mechanisms: the intra-Community supply of goods and the reverse charge for services. They both result in an invoice without VAT, but they rest on different legal articles, require different wordings, and map to different codes in e-invoice formats. Getting the distinction right matters: tax authorities and e-invoice validators check it, and a wrong exemption reference can cost you the zero-rating.

This guide walks through both cases for a German-established merchant, with the exact wordings, the EN 16931 categories, and the role of VIES validation.

First, the common ground

Both mechanisms apply to B2B transactions between businesses in different EU member states, and both require:

Where they differ is in what you supply and which rule shifts or removes the tax.

Case 1: Goods, the intra-Community supply (Art. 138, category K)

When you ship physical goods from Germany to a VAT-registered business in another member state, the supply is exempt (zero-rated) as an intra-Community supply under Article 138 of Directive 2006/112/EC, implemented in German law as § 4 Nr. 1b in conjunction with § 6a UStG. Your customer then self-accounts for acquisition VAT in their own country.

The invoice wording

Your invoice must reference the exemption. The established wordings:

In e-invoice formats

In EN 16931-based formats (ZUGFeRD/Factur-X, XRechnung), an intra-Community supply of goods is VAT category K, with a rate of 0 and the exemption reference carried in the tax breakdown. Category K exists specifically for intra-Community supplies. It is not the same as the generic zero-rate (Z) or exempt (E) categories, and validators distinguish them.

The substantive conditions

Zero-rating goods is conditional. For a German supplier, the conditions are:

  1. A valid foreign VAT ID of the customer, from another member state, used for the purchase.
  2. Filing the supply in your ZM (Zusammenfassende Meldung, the EC Sales List). Since the 2020 “Quick Fixes”, a correct ZM filing is a substantive condition of the exemption, not a formality.
  3. Evidence of transport: proof that the goods physically left Germany for the other member state (shipping documents, carrier confirmations).

Miss any of these and the tax office can deny the exemption retroactively, turning your 0% sale into a sale with German VAT you never collected.

Case 2: Services, the reverse charge (Art. 196, category AE)

When you supply services (not goods) to a business in another member state, say design work, software services or consulting, the place of supply for B2B services is generally the customer’s country. Under Article 196 of Directive 2006/112/EC the customer becomes liable for the VAT there. You issue an invoice without VAT; the customer self-assesses it in their own VAT return. This is the reverse charge in the strict sense.

The invoice wording

Here the law is unusually specific about the minimum: Article 226(11a) of the VAT Directive prescribes that the invoice must carry the words “Reverse charge”. That exact mention is the legal minimum. A fuller, customer-friendly wording used in practice:

In e-invoice formats

Reverse-charge services map to VAT category AE with rate 0, and the structured exemption reason code VATEX-EU-AE. Again: AE is its own category. Using K, Z or E for a reverse-charge service is a validation and classification error.

Why the distinction matters in practice

Goods (intra-Community supply)Services (reverse charge)
Legal basisArt. 138 Directive 2006/112/EC (§ 4 Nr. 1b, § 6a UStG)Art. 196 Directive 2006/112/EC
MechanismSupply is exempt; customer pays acquisition VATTax liability shifts to the customer
EN 16931 categoryKAE (reason code VATEX-EU-AE)
Required wording”VAT-exempt intra-Community supply of goods, Art. 138…”Minimum: “Reverse charge” (Art. 226(11a))
Extra conditionsValid foreign VAT ID, ZM/EC Sales List, transport evidenceValid foreign VAT ID
Both VAT IDs on invoiceYesYes

For a typical Shopify merchant selling physical products, goods/category K is your everyday case. The services/AE case appears when you invoice things like service fees or digital services B2B. Mixing them up, for example printing “Reverse charge” on a goods shipment to France, cites the wrong legal basis for your zero-rating and misclassifies the transaction in the structured XML.

VIES validation: your good-faith evidence

Everything above hinges on the customer’s VAT ID being valid at the time of the transaction. The EU provides VIES for exactly this check, including a REST API (POST https://ec.europa.eu/taxation_customs/vies/rest-api/check-vat-number).

Practical points that matter for a store:

Checklist for your Shopify store

  1. Capture the VAT ID at checkout and validate it via VIES before treating the sale as B2B.
  2. Classify correctly: physical goods are an intra-Community supply (K, Art. 138); services fall under the reverse charge (AE, Art. 196).
  3. Print the exact wording and both VAT IDs on every such invoice.
  4. Keep transport evidence for goods, and file your ZM/EC Sales List on time. It’s a condition of the exemption.
  5. Use the right categories and VATEX codes in ZUGFeRD/XRechnung output, and validate the files before sending.

FAQ

My EU business customer has no VAT ID. Can I still zero-rate?

No. Without a valid VAT ID from another member state, treat the sale as B2C and charge VAT (for distance sales above the €10,000 EU threshold, the destination country’s rate via OSS).

Is “reverse charge” the right wording for goods shipments?

No. For goods the correct reference is the intra-Community supply exemption (Art. 138 Directive 2006/112/EC / § 4 Nr. 1b, § 6a UStG). “Reverse charge” (Art. 196) is the wording for cross-border B2B services.

What if VIES says the VAT ID is invalid but my customer insists it’s correct?

Some registries lag or go down. Re-check later and keep the consultation number when it validates. Until you have a successful validation, the safe treatment is B2C with VAT.

What is category K vs AE in e-invoices?

EN 16931 VAT categories: K marks an intra-Community supply of goods, AE marks reverse-charge (with exemption reason code VATEX-EU-AE). Validators check that the category, the 0% rate and the exemption reference are consistent.

Do I still need to file anything if I charge 0%?

Yes. Intra-Community supplies of goods must be reported in your ZM (EC Sales List), and correct filing is a substantive condition of the exemption.


Faktwise handles this classification automatically for Shopify stores: the customer’s VAT ID is captured at checkout and validated against VIES (with the consultation number stored as evidence), each order is assigned the correct scheme, either intra-Community supply (K) or reverse charge (AE), with the exact legal wording and both VAT IDs on the invoice, and the resulting ZUGFeRD 2.4 or XRechnung 3.0.2 file is checked against the official validators before it reaches your customer. Free for up to 5 invoices a month, then €19/month flat.