VAT clauses and VATEX codes

When an invoice line is not taxed at the standard or a zero rate - an intra-community supply, a reverse-charge supply, a tax exemption - the e-invoice must state a VAT exemption reason for its VAT category: a text and a code from the EU VATEX code list. The text is the description of the VAT clause on the VAT posting setup. The Code of a VAT clause in Business Central (for example EU-19) is a free key and is never sent as the exemption reason code; instead, the app adds the field eInvoice VATEX Code to every VAT clause.

{add screenshot of VAT Clauses here}

Fields and actions on the VAT Clauses page

While the app is enabled, creating or editing a VAT clause fills in the detected code if the clause has no VATEX code yet. A VATEX code that is set on a clause is never overwritten - neither when you edit the clause nor by a later app version with a different detection.

The list offers the EU-wide VATEX codes that the KoSIT validator used by the Digivoice service accepts. National codes (VATEX-FR-..., VATEX-ES-...) and codes that were added to the code list only recently, such as VATEX-EU-144, VATEX-EU-146-1E or VATEX-EU-159, are not offered, because that validator would reject them.

How the code is detected

A clause code that is itself a VATEX code - VATEX-EU-IC, or EU-IC without the prefix - is taken as it is. Otherwise the app reads the code, Description and Description 2 of the clause and recognises the usual wording in German and English, common abbreviations, references to the UStG and the EU VAT Directive (for example § 4 Nr. 1b, § 6a or § 13b UStG, Art. 138, 146 or 194 of the VAT Directive) and the key terms in French, Italian, Dutch and Spanish. It detects:

Only exact patterns count. If nothing matches, or the wording fits more than one case (for example an "innergemeinschaftliche Lieferung" that also mentions "Reverse Charge"), no code is detected. Check the detected codes once and store them with Suggest VATEX Codes or set them manually; a stored code no longer depends on the detection.

VAT category of a VAT posting setup

The VAT category of an invoice line follows from its VAT posting setup:

VAT posting setupVAT category
VAT calculation type Reverse Charge VATK (intra-community supply) or AE (reverse charge) - see below
VAT calculation type Sales Tax with VAT % 0E (exempt)
Normal VAT or Full VAT with VAT % 0, marked as EU ServiceK (intra-community supply)
Normal VAT or Full VAT with VAT % 0Z (zero rate)
Normal VAT or Full VAT with a VAT % above 0S (standard rate)

Intra-community supply or reverse charge

Business Central posts an intra-community supply of goods and a reverse-charge supply alike with Reverse Charge VAT; only the VAT clause tells them apart. If the clause of the VAT posting setup maps to VATEX-EU-IC and the setup is not marked as EU Service, the e-invoice declares an intra-community supply (VAT category K). In every other case it declares reverse charge (VAT category AE); services to businesses in other EU countries (EU Service) are always reverse charge.

Which code the e-invoice sends

Without a VAT clause on the VAT posting setup, the app uses a generic exemption reason text for the category, for example Reverse charge or Intra-Community supply.

Validation

Rule VAL-VAT-005 reports, as a warning, VAT clauses that do not decide what they should. The e-invoice is still valid, but it may not say what you intend:

Two rules report missing data of an intra-community supply as errors, because KoSIT would reject the e-invoice:

The findings appear in the Live compliance check (FactBox) and in the Validation Findings; a VAL-VAT-005 finding about a clause leads to that VAT clause.

From Business Central 28.4 on, Microsoft's PEPPOL app adds a VATEX code field of its own to the VAT clause. The eInvoice Sender does not read it, so that the e-invoice does not depend on another app - always maintain eInvoice VATEX Code.


Revision #1
Created 2026-11-04 16:00:10 UTC by Bernd Feddersen
Updated 2026-11-04 16:00:10 UTC by Bernd Feddersen