# BR-E-10

Source: https://xmlvalid.com/rules/BR-E-10

> A VAT breakdown (BG-23) with VAT Category code (BT-118) "Exempt from VAT" shall have a VAT exemption reason code (BT-121) or a VAT exemption reason text (BT-120).

- Level: error
- Rule sets: EN 16931 rules (UBL) 1.3.17, EN 16931 rules 1.3.16 (UBL), EXTENDED-CTC-FR rules (UBL) 1.4.0.04, Romanian RO e-Factura rules (UBL) 1.0.9
- Context: `/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'E'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']`
- Test: `exists(cbc:TaxExemptionReason) or exists(cbc:TaxExemptionReasonCode)`

> A VAT Breakdown (BG-23) with VAT Category code (BT-118) "Exempt from VAT" shall have a VAT exemption reason code (BT-121) or a VAT exemption reason text (BT-120).

- Level: error
- Rule sets: EN 16931 rules (CII) 1.3.17, EN 16931 rules 1.3.16 (CII), EXTENDED-CTC-FR rules (CII) 1.4.0.04
- Context: `//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[. = 'E'][upper-case(../ram:TypeCode) = 'VAT']`
- Test: `(../ram:ExemptionReason) or (../ram:ExemptionReasonCode)`

> A VAT Breakdown (BG-23) with VAT Category code (BT-118) "Exempt from VAT" shall have a VAT exemption reason code (BT-121) or a VAT exemption reason text (BT-120).

- Level: error
- Rule sets: Factur-X BASIC WL rules 1.09, Factur-X EN 16931 rules 1.09.2, Factur-X EXTENDED rules 1.09.2
- Context: `//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[. = 'E']`
- Test: `(../ram:ExemptionReason) or (../ram:ExemptionReasonCode)`

## Why it fails

- A VAT breakdown with category `E` (exempt) has no exemption reason.

## How to fix it

- Add `cbc:TaxExemptionReason` (a text, such as the law the exemption rests on) or `cbc:TaxExemptionReasonCode` from the VATEX list to the breakdown (`ram:ExemptionReason` / `ram:ExemptionReasonCode` in CII).

Validate a document against these rules: https://xmlvalid.com/validate
