Tax codes
Every line carries a tax code that names its VAT treatment: a local sale, an intra-community supply, an export. Choosing the code is choosing the treatment: VAT IT validates it and files it, and does not re-determine it.
VAT IT tax codes or your own
Send whichever is easier, per client:
- VAT IT tax codes. The client's ERP tax codes are mapped once to the codes below, in your ERP.
- Your own tax codes. Send the code exactly as it is in your ERP. VAT IT agrees the mapping with each client at onboarding and keeps it. A code VAT IT has not mapped yet waits with
tax_code_unmappedand is processed once the mapping is added, with no need to resend.
Either way, VAT IT leads a mapping session with each client at onboarding.
The VAT IT tax codes
The rate travels separately in vat_rate, so one code covers standard, reduced and zero rates. goods_or_services travels on the line too.
Sales
| Code | Meaning |
|---|---|
sale_domestic |
A sale taxed in the country of the registration, at any rate including zero |
sale_domestic_exempt |
A domestic sale exempt from VAT, for example financial, medical or educational services |
sale_domestic_reverse_charge |
A domestic sale where the buyer accounts for the VAT, for example construction or scrap metal where the country applies it |
sale_intra_eu_goods |
Goods sold to a VAT-registered business in another EU country and shipped there. Zero rated |
sale_intra_eu_services |
Services to a business in another EU country. The customer accounts for the VAT |
sale_intra_eu_triangular |
A sale by the middle party in a triangular trade of goods between three EU countries |
sale_distance_goods |
Goods sold to a consumer in another EU country, outside OSS |
sale_export |
Goods shipped outside the EU. Zero rated |
sale_services_outside_eu |
Services to a customer outside the EU, not taxed in the EU |
sale_oss_goods |
Goods sold to a consumer in another EU country, reported through the Union OSS |
sale_oss_services |
Services to a consumer in another EU country, reported through the Union or non-Union OSS |
sale_ioss |
Imported goods of up to EUR 150 sold to EU consumers, reported through IOSS |
sale_deemed_supplier |
A sale through a marketplace that is the deemed supplier and accounts for the VAT |
sale_margin_second_hand |
Second-hand goods, art or antiques under the margin scheme. VAT is due on the margin only |
sale_margin_travel |
Travel services under the tour operators' margin scheme |
sale_voucher_single_purpose |
Issue or transfer of a single-purpose voucher, taxed when issued |
sale_own_goods_transfer |
Your own goods moved to another EU country, reported as an intra-EU supply |
sale_outside_scope |
Outside the scope of VAT, reported only where the return asks for it |
Purchases
| Code | Meaning |
|---|---|
purchase_domestic |
A domestic purchase with VAT charged by the supplier |
purchase_domestic_exempt |
A domestic purchase exempt from VAT |
purchase_domestic_reverse_charge |
A domestic purchase where you account for the VAT instead of the supplier |
purchase_intra_eu_goods |
Goods bought from a business in another EU country and shipped to you. You account for the VAT |
purchase_intra_eu_services |
Services from a business in another EU country. You account for the VAT |
purchase_intra_eu_triangular |
A purchase in a triangular trade of goods between three EU countries |
purchase_import |
Goods imported from outside the EU, with import VAT paid at customs |
purchase_import_postponed |
Goods imported under postponed accounting: the import VAT is declared on the return, not paid at customs |
purchase_services_outside_eu |
Services from a supplier outside the EU. You account for the VAT |
purchase_non_deductible |
A purchase whose VAT cannot be recovered, for example entertainment or passenger cars |
purchase_margin_scheme |
Goods bought under a margin scheme, with no VAT shown |
purchase_flat_rate_farmer |
A purchase from a flat-rate farmer, with the flat-rate compensation |
purchase_own_goods_transfer |
Your own goods arriving from another EU country, reported as an intra-EU acquisition |
purchase_outside_scope |
Outside the scope of VAT, reported only where the return asks for it |
Codes are never renamed. A code is retired with an end date and replaced by a new one.
Distance sales take one code. The ship countries decide whether the sale is reported in the origin country, the destination country or both.
Tax jurisdiction, counterparty country and ship countries
The three answer different questions:
tax_jurisdiction, on the document: which of the client's VAT registrations the document falls under, given as that registration's country. It is the registration whose VAT number the invoice was issued or received under, and it sets the return the document is reported in. For OSS and IOSS sales it is the country of the OSS or IOSS registration, never the consumer's.counterparty_country: where the customer or supplier is established. It drives the VAT number checks and the counterparty columns on listings such as the EC sales list. For OSS services it is the consumer's country.ship_from_country,ship_to_country, on the document: where goods physically moved. They prove a cross-border supply happened. For OSS goods,ship_to_countryis the consumer's country.
You never send the consumer's country as tax_jurisdiction. For OSS and IOSS lines VAT IT takes it from ship_to_country for goods and counterparty_country for services, and checks the rate against it.
In the rare case that one invoice falls under two registrations, send tax_jurisdiction on the lines that differ from the document.
Examples for one seller with stock in Poland, registered for VAT and OSS in Poland. tax_jurisdiction is PL on every one:
| Scenario | tax_code |
counterparty_country |
Ship from, to | Reported in |
|---|---|---|---|---|
| Sale to a Polish business | sale_domestic |
PL | PL, PL | PL VAT return |
| Sale to a German business, goods shipped to Germany | sale_intra_eu_goods |
DE | PL, DE | PL VAT return at 0%, and the PL EC sales list |
| Same German business, goods collected and kept in Poland | sale_intra_eu_goods |
DE | PL, PL | Error: no goods left Poland, so it is a domestic sale |
| German business using its Polish VAT number, goods stay in Poland | sale_domestic |
DE | PL, PL | PL VAT return |
| German consumer, goods shipped to Germany, under OSS | sale_oss_goods |
DE | PL, DE | PL OSS return, German section, at the German rate |
| German consumer, goods delivered to their address in France | sale_oss_goods |
DE | PL, FR | PL OSS return, French section, at the French rate |
| Service to a German business | sale_intra_eu_services |
DE | none | PL VAT return, and the PL EC sales list |
| Purchase from a German supplier, goods arrive in Poland | purchase_intra_eu_goods |
DE | DE, PL | PL VAT return, self-assessed |
| Export to a US customer | sale_export |
US | PL, US | PL VAT return at 0% |
When a code is refused
| Code | Meaning |
|---|---|
tax_code_not_valid |
The VAT IT code does not exist, is retired, or does not apply in tax_jurisdiction. Fix the mapping in your ERP |
tax_code_unmapped |
VAT IT has no mapping yet for your own code, or has not enabled the VAT IT code for tax_jurisdiction. VAT IT fixes this and the line reprocesses |