Skip to main content

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

  • eInvoice VATEX Code - the VATEX code the e-invoice sends for this clause. Leave it blank to use the detected code.
  • Detected eInvoice VATEX Code - the code the app recognises from the clause code and description, for example VATEX-EU-IC for "Steuerfreie innergemeinschaftliche Lieferung". It is used as long as no VATEX code is set on the clause. If it is blank or wrong, set the VATEX code on the clause.
  • Suggest VATEX Codes - lists the clauses that have no VATEX code yet together with their detected code and, after you confirm the list, stores the detected codes on those clauses. Clauses for which no code was detected stay blank; set their code manually.

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:

  • intra-community supply of goods - VATEX-EU-IC;
  • reverse charge - VATEX-EU-AE;
  • export outside the EU - VATEX-EU-G;
  • not subject to VAT - VATEX-EU-O;
  • the margin schemes for travel agents, second-hand goods, works of art and collectors' items or antiques - VATEX-EU-D, VATEX-EU-F, VATEX-EU-I and VATEX-EU-J.

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

  • The VATEX code of the clause, if it fits the VAT category of the line.
  • Otherwise the category's own code: VATEX-EU-IC for K, VATEX-EU-AE for AE, VATEX-EU-G for G and VATEX-EU-O for O.
  • An exemption (category E) has no code of its own: without a fitting clause code, the e-invoice carries only the exemption reason text.
  • Lines with standard rate (S) or zero rate (Z) carry no exemption reason, so the VATEX code of their clause is not sent.

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:

  • a clause on a Reverse Charge VAT setup (not marked as EU Service) that maps to no VATEX code - the e-invoice then declares reverse charge;
  • a clause on an exemption (category E) that maps to no VATEX code - the e-invoice then carries only the exemption reason text;
  • a clause whose VATEX code does not fit the VAT category of its VAT posting setup;
  • an intra-community supply whose buyer (the VAT country/region of the document) or ship-to country is not another EU country - check the VAT clause and the VAT Bus. Posting Group of the document.

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

  • BR-IC-02 - the buyer's VAT identifier is missing: enter the VAT Registration No. on the customer card (on the vendor card for a purchase credit memo).
  • BR-IC-12 - the deliver-to country and the delivery date are required: complete City, Post Code and Country/Region Code of the ship-to address on the document.

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.