Working with Clients · Article 4.4
EU VAT cheatsheet: a one-page reference
A flat lookup table for the five VAT rules, the three small-business regimes, and the standard rates of every EU member state — bookmark and forget about VAT.
This article is reference material — the kind you read once, bookmark, and come back to when a specific scenario stumps you. Every claim here traces to either the EU VAT Directive (2006/112/EC, with amendments) or the engine in backend/apps/vat/engine.py. It's structured for skimming, not for narrative.
Why this works this way
The five-rule engine described in article 4.2 maps onto the cheat sheet below. The columns are: who you are, who your client is, what country, and what number/letter combination they have. The cell tells you the resulting rate and rule.
| Your status | Client status | Same country? | Client has validated EU VAT? | Rule | Rate | Notice |
|---|---|---|---|---|---|---|
| Standard VAT | Any | Yes | n/a | Domestic | Your country's standard rate | "VAT at X% — domestic supply" |
| Standard VAT | EU business | No | Yes | Reverse charge | 0% | Art. 196 reverse charge notice |
| Standard VAT | EU consumer (general services) | No | No | B2C — supplier country | Your country's rate | Art. 45 supplier country |
| Standard VAT | EU consumer (TBE, you OSS-registered) | No | No | OSS | Client's country rate | Art. 58 + 59c destination |
| Standard VAT | Non-EU | No | n/a | Non-EU | 0% | "VAT not applicable — services to non-EU" |
| DE Kleinunternehmer | Any | n/a | n/a | Not registered | 0% | §19 UStG exemption notice |
| AT Kleinunternehmer | Any | n/a | n/a | Not registered | 0% | §6 Abs. 1 Z 27 UStG AT notice |
| NL KOR | Any | n/a | n/a | Not registered | 0% | KOR exemption notice |
| FR auto-entrepreneur | Any | n/a | n/a | Not registered | 0% | Art. 293 B CGI notice |
| ES franquicia | Any | n/a | n/a | Not registered | 0% | Régimen de franquicia notice |
| IT forfettario | Any | n/a | n/a | Not registered | 0% | Legge 190/2014 notice + N2.2 SdI code |
EU standard VAT rates as Clozo applies them (verified against TAXUD VAT-rates database 2025):
| Country | Code | Rate | Notes |
|---|---|---|---|
| Austria | AT | 20% | |
| Belgium | BE | 21% | |
| Bulgaria | BG | 20% | |
| Cyprus | CY | 19% | |
| Czechia | CZ | 21% | |
| Germany | DE | 19% | |
| Denmark | DK | 25% | |
| Estonia | EE | 24% | Permanent from 2025-07-01 |
| Greece | EL/GR | 24% | VIES uses EL |
| Spain | ES | 21% | |
| Finland | FI | 25.5% | From 2024-09-01 |
| France | FR | 20% | |
| Croatia | HR | 25% | |
| Hungary | HU | 27% | Highest in EU |
| Ireland | IE | 23% | |
| Italy | IT | 22% | |
| Lithuania | LT | 21% | |
| Luxembourg | LU | 17% | Lowest in EU |
| Latvia | LV | 21% | |
| Malta | MT | 18% | |
| Netherlands | NL | 21% | VAT number requires Bxx suffix |
| Poland | PL | 23% | |
| Portugal | PT | 23% | |
| Romania | RO | 21% | From 2025-08-01 (Law 141/2025) |
| Sweden | SE | 25% | |
| Slovenia | SI | 22% | |
| Slovakia | SK | 23% | From 2025-01-01 |
Troubleshooting
Keep reading
Working with Clients
Client country and VAT logic: how Clozo decides what VAT (if any) to charge
The combination of your country, the client's country, and whether the client has a validated EU VAT number determines which of five VAT rules applies — Clozo computes it automatically.
Configuration
Tax regime selection: small-business schemes across the EU
Pick the regime that matches your tax registration — Clozo formats every invoice with the correct legal disclaimer and switches off the VAT line where the law says it stays off.
Configuration
Profile fundamentals: the six fields every invoice needs
Six fields turn a blank account into one Clozo can build legal invoices from — name, country, language, currency, tax regime, and address. Three are required to send anything at all.