Photo: free stock photography (Unsplash licence) — see imprint
Three questions, four possible answers
Where are you established? Where does the customer receive the goods? Is the customer a business with a valid VAT ID? Almost every EU outcome falls out of those three answers: your domestic rate, reverse charge at 0%, the destination country's rate through the One-Stop-Shop, or a zero-rated export. If your shop cannot express those three inputs, it cannot get the tax right — no plugin will save it.
The VAT ID is not a formality — it is the whole rule
Reverse charge only applies with a valid VAT ID at the time of sale. If the ID is invalid, expired or simply typed in wrong, you are not making a B2B intra-EU supply — you are making a distance sale to what the tax office treats as a consumer, and you owe the destination country's VAT. Validate against VIES, store the timestamped result with the order, and you have a defence. Skip it and you have a liability that grows quietly for years.
The threshold nobody notices they crossed
The EU-wide distance-selling threshold is a single total across all EU countries, not one per country. A shop selling modestly into six countries can cross it without any single market looking significant. The day you cross it, you owe destination VAT — and if you were still charging your own domestic rate, you have been under-collecting on every order since.
Zero-rated does not mean 'no paperwork'
Exporting outside the EU is generally zero-rated — but only if you can prove the goods left. No shipping evidence, no zero rate: the tax office will treat it as a domestic sale and bill you the VAT you never collected. The export documents are not admin overhead; they are the thing that makes the 0% legal.
Build it so one system owns the answer
In Shopware 6 you can drive tax from the customer group, the VAT ID validation and the shipping destination — or hand the entire cart to a tax provider endpoint that returns the tax per line item. Either is fine. What is not fine is the shop and the ERP each calculating tax independently: they will drift apart, and you will find out in an audit rather than in a test.
Try it on your own numbers
We built a free cross-border VAT calculator that applies exactly this decision tree: pick the two countries, say who is buying, and it tells you the rate, the amount and — more usefully — which rule it applied and why. It runs entirely in your browser and stores nothing.
Free tool — runs in your browser, nothing is stored.
Open the cross-border VAT calculator →- Establishment, destination, VAT ID — those three decide the rate.
- Validate the VAT ID against VIES and store the timestamped proof.
- The distance-selling threshold is one EU-wide total, not one per country.
We do this for a living — Shopware, Node.js, React, ERP integration and automation for B2B.
Talk to an engineer