# VAT category codes

UNCL 5305 codes that state the VAT treatment of invoice lines (BT-151), document allowances and charges (BT-95, BT-102) and the VAT breakdown (BT-118).

## How these codes are used on invoices

UNCL 5305 defines the VAT category codes that structured invoices use instead of free text. Receiving systems, ERPs and validators expect exact codes such as S (Standard rate), AE (VAT reverse charge), E (Exempt from tax). These are all ten codes that EN 16931 allows (rules BR-CL-17 and BR-CL-18). UNCL 5305 contains further codes that EN 16931 validators reject.

> **UNCL 5305**: These are all ten codes that EN 16931 allows (rules BR-CL-17 and BR-CL-18). UNCL 5305 contains further codes that EN 16931 validators reject.

## How to use this code list in production

Keep one mapping for VAT category codes across ERP source data, generated XML and validation checks. Lock the allowed values before go-live, map legacy values before export, and make sure finance teams know which business cases require manual review.

## VAT category codes

| Code | Meaning | Notes |
| --- | --- | --- |
| S | Standard rate | Every positive VAT rate, including reduced rates (for example 19 % and 7 % in Germany). The rate goes in BT-152 and BT-119 and must be greater than 0. |
| Z | Zero rated goods | Taxable supplies with a legal rate of 0 % (for example certain photovoltaic systems under § 12 (3) UStG in Germany). Rate 0 and no exemption reason (BR-Z-10). Exports and intra-EU supplies use G and K instead. |
| E | Exempt from tax | Exempt supplies, for example § 4 UStG or small businesses under § 19 UStG in Germany. Rate 0, and the VAT breakdown needs an exemption reason text (BT-120) or code (BT-121) (BR-E-10). |
| AE | VAT reverse charge | The buyer accounts for the VAT. The invoice needs a seller VAT identifier, tax registration identifier or tax representative VAT identifier (BT-31, BT-32 or BT-63) and a buyer VAT identifier or legal registration identifier (BT-48 or BT-47) (BR-AE-02). Rate and VAT amount are 0, and the breakdown needs an exemption reason such as VATEX-EU-AE (BR-AE-10). |
| K | VAT exempt for EEA intra-community supply | Intra-community supplies of goods between VAT-registered businesses. Seller and buyer VAT identifiers, rate 0, an exemption reason (for example VATEX-EU-IC), the delivery date or invoicing period (BR-IC-11) and the deliver-to country BT-80 (BR-IC-12). |
| G | Free export item, VAT not charged | Exports of goods to a destination outside the EU. Rate 0, VAT amount 0 and an exemption reason (for example VATEX-EU-G) in the VAT breakdown (BR-G-10). |
| O | Services outside scope of tax | Supplies not subject to VAT. No VAT rate, no seller or buyer VAT identifier (BR-O-02), an exemption reason, and no other VAT category on the same invoice (BR-O-11). |
| L | Canary Islands general indirect tax (IGIC) | Used instead of VAT for supplies taxed in the Canary Islands, which are outside the EU VAT area. The IGIC rate goes in the rate fields; BR-AF rules apply. |
| M | Tax for production, services and importation in Ceuta and Melilla (IPSI) | Used instead of VAT for supplies taxed in Ceuta and Melilla, which are outside the EU VAT area. BR-AG rules apply. |
| B | Transferred VAT – split payment (Italy) | Italy only: the invoice shows VAT, but the buyer (typically a public body) pays it directly to the tax authority. Allowed only on domestic Italian invoices (BR-B-01) and never together with category S (BR-B-02). |

## Create an XRechnung from your PDF and confirm the line VAT categories

The converter takes the VAT category of each line (BT-151) from the invoice; you see it before download and can correct it. The VAT breakdown category (BT-118) is derived from the lines. Already have an XML file? The free validator reports codes outside the list, for example under BR-CL-17, BR-CL-18.

- [Convert invoice](/en/pdf-to-xrechnung)
- [Validate XML](/en/xrechnung-validator)

Download requires an account. Subscriptions from €10/month with annual billing (excl. taxes), or €5 per conversion (excl. taxes) without a subscription.

## Practical tips before you send an e-invoice

- Use the exact code from UNCL 5305 and keep the spelling and casing expected by the standard.
- Check that the VAT category codes you use match the business case and the related fields on the invoice.
- Validate the final XRechnung, ZUGFeRD/Factur-X, UBL, or CII file before sending it to the recipient.

## Common code-list mistakes

- Letting free-text values pass through the ERP export instead of mapping them to the official code list.
- Using a technically valid code without checking whether the recipient profile or country rule actually allows it.
- Fixing the XML output only, while leaving the upstream ERP source value inconsistent for the next invoice.

## Frequently asked questions

Common questions when teams choose VAT category codes for an invoice or an ERP export.

### What are VAT category codes used for on an invoice?
UNCL 5305 is the standardized list behind these codes. A code tells the receiving system exactly which value you mean, so the invoice can be processed automatically in XRechnung, ZUGFeRD/Factur-X, UBL, CII and Peppol workflows.

### Which VAT category codes are used most often?
Common examples on this page include S (Standard rate), AE (VAT reverse charge), E (Exempt from tax). The right choice depends on your transaction, tax treatment, recipient requirements, and the invoice profile you are sending.

### Where do VAT category codes go in a structured e-invoice?
Enter the code in the structured invoice field that matches its meaning, for example the currency field, VAT category field, payment means field, unit field, or invoice type field. The exact XML path depends on whether you send XRechnung, ZUGFeRD/Factur-X, UBL, or CII.

### How do I avoid validation errors with VAT category codes?
Use only values allowed by the relevant implementation guide, keep the code exactly as defined in UNCL 5305, and provide all related data required by that choice. Many validation errors happen when a code is correct in isolation but inconsistent with the rest of the invoice.

### Can I use codes outside this page?
Often yes, but recipients and national profiles frequently accept only a practical subset of the full UNCL 5305 list. This page focuses on common invoice values, so confirm buyer-specific or country-specific rules before sending production documents.

## Download

Use this code list in your systems or validation rules.

- [Download JSON](/resources/code-lists/vat-category-codes/data?format=json)
- [Download CSV](/resources/code-lists/vat-category-codes/data?format=csv)

## Official resources

- [UN/CEFACT code list UNCL 5305](https://unece.org/trade/uncefact)
- [XRechnung Validator](/xrechnung-validator)
- [Developer API](/developer-api)
