# BT-121 VAT Exemption Reason Code

A coded reason for VAT categories E, AE, K, G, or O, taken from the allowed code list. Do not use it for S, Z, L, or M.

## Quick answer

> **Taxes and totals**: VAT treatment, tax breakdowns, and document totals that validators check closely.

- [Validate XML](/en/xrechnung-validator?source=resource&bt=BT-121)
- [Convert invoice](/en/pdf-to-xrechnung?source=resource&bt=BT-121)

## In plain language

Lets receiving systems process exempt and special VAT treatments without relying only on free text.

## What you usually enter here

Code from the VAT exemption reason code list

Typical valid values include: VATEX-EU-AE, VATEX-EU-IC, VATEX-EU-O

Provide BT-120 or BT-121 for E, AE, K, G, and O. If you use BT-121, select an allowed code. Do not provide either field for S, Z, L, or M.

## Where the field sits

BT-121 belongs to the Totals and tax part of the invoice. UBL 2.1 Syntax: Invoice › cac:TaxTotal › cac:TaxSubtotal › cac:TaxCategory › cbc:TaxExemptionReasonCode. CII (UN/CEFACT) Syntax: rsm:CrossIndustryInvoice › rsm:SupplyChainTradeTransaction › ram:ApplicableHeaderTradeSettlement › ram:ApplicableTradeTax › ram:ExemptionReasonCode.

## What goes wrong often

Avoid values like: AE, REVERSE_CHARGE, 0

Relevant rule codes: BR-AE-10, BR-E-10, BR-G-10, BR-IC-10, BR-O-10, BR-S-10, BR-Z-10, BR-AF-10, BR-AG-10, BR-CL-22

## Valid Examples

- VATEX-EU-AE
- VATEX-EU-IC
- VATEX-EU-O

## Invalid Examples

- AE
- REVERSE_CHARGE
- 0

## Related Fields

- [BT-118 VAT Category Code](/resources/xrechnung/bt-118-vat-category-code)
- [BT-119 VAT Category Rate](/resources/xrechnung/bt-119-vat-category-rate)
- [BT-120 VAT Exemption Reason Text](/resources/xrechnung/bt-120-vat-exemption-reason-text)

## XML mapping and field facts

Open the technical reference if you need XML paths, validator rule codes, legal wording, or schema-specific mapping details.

### Field ID:
BT-121

### Data Type:
code

### Cardinality:
0..1

### Requirement:
Optional

## XML Implementation

### UBL 2.1 Syntax
```
/Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:TaxExemptionReasonCode
```

### CII (UN/CEFACT) Syntax
```
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:ExemptionReasonCode
```

## Validation Rules

### BR-AE-10
BR-AE-10

### BR-E-10
BR-E-10

### BR-G-10
BR-G-10

### BR-IC-10
BR-IC-10

### BR-O-10
BR-O-10

### BR-S-10
BR-S-10

### BR-Z-10
BR-Z-10

### BR-AF-10
BR-AF-10

### BR-AG-10
BR-AG-10

### BR-CL-22
BR-CL-22

## Check whether your XRechnung sets BT-121 correctly

Upload the XML file to the free validator. It applies the KoSIT rules for XRechnung 3.0 and names each finding with its rule ID, for this field for example BR-CL-22, BR-AE-10. Creating a new invoice instead? The converter checks the invoice against the same rules and shows the findings before download.

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

Free, no account needed. XML file up to 2 MB.

## Official sources and tools

- [KoSIT Validator](https://erechnungsvalidator.service-bw.de/)
- [XRechnung Standard](https://xeinkauf.de/xrechnung/)
- [Test Suite](https://github.com/itplr-kosit/xrechnung-testsuite)
