# BR-CL-22 Il codice motivo di esenzione deve provenire da CEF VATEX

Il codice motivo di esenzione IVA (BT-121) deve appartenere alla lista codici CEF VATEX.

## Descrizione del problema

> **ERRORE**: Regola sulle liste di codici EN 16931 (BR-CL)

> **Dove viene controllata BR-CL-22**
>
> Un validatore controlla una fattura elettronica per fasi. Prima il file deve essere XML ben formato e conforme allo schema UBL o CII (XSD). Poi si applicano le regole di business della EN 16931: regole di base BR, calcoli BR-CO, liste di codici BR-CL, decimali BR-DEC e regole per categoria IVA come BR-S. Seguono le regole nazionali o di rete selezionate da BT-24: BR-DE per XRechnung, PEPPOL-EN16931 per Peppol BIS Billing. Il report elenca ogni regola violata: un errore significa rifiuto, i soli avvisi significano comunque accettazione. BR-CL-22: regola di lista codici EN 16931, fase «Regole EN 16931».

## Contesto e significato

BT-121 indica il motivo di un’esenzione IVA come codice, così l’acquirente può registrare la fattura senza leggere testo libero. La regola fallisce quando nel campo codice c’è un riferimento normativo come "Art. 41 DL 331/1993" o un codice interno come "ESENTE", oppure quando il valore contiene spazi. Maiuscole e minuscole non contano per questo controllo. Esempio: una cessione intracomunitaria di beni usa la categoria K con BT-121 = VATEX-EU-IC e la base normativa come testo in BT-120.

## Soluzione

Imposta BT-121 su un codice VATEX coerente con la categoria IVA, ad es. VATEX-EU-AE (inversione contabile, categoria AE), VATEX-EU-IC (cessione intracomunitaria, K), VATEX-EU-G (esportazione fuori UE, G) o VATEX-EU-O (fuori campo IVA, O). Indica il riferimento normativo come testo in BT-120. In UBL il codice è cac:TaxCategory/cbc:TaxExemptionReasonCode, in CII ram:ApplicableTradeTax/ram:ExemptionReasonCode.

- [Valida XML](/it/xrechnung-validator?source=resource&rule=BR-CL-22)
- [Converti fattura](/it/pdf-to-xrechnung?source=resource&rule=BR-CL-22)

## Esempi validi

- BT-121 = VATEX-EU-IC — cessione intracomunitaria (categoria K)
- BT-121 = VATEX-EU-G — esportazione fuori UE (categoria G)

## Esempi non validi

- BT-121 = Art. 41 DL 331/1993 — riferimento normativo; va in BT-120
- BT-121 = ESENTE — codice interno

## Esempi di codice

### XML valido
```
<cac:TaxCategory>
  <cbc:ID>K</cbc:ID>
  <cbc:TaxExemptionReasonCode>VATEX-EU-IC</cbc:TaxExemptionReasonCode>
  <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:TaxCategory>
```

### XML non valido
```
<cac:TaxCategory>
  <cbc:ID>K</cbc:ID>
  <cbc:TaxExemptionReasonCode>EXEMPT</cbc:TaxExemptionReasonCode>
  <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:TaxCategory>
```

## Campi interessati

- [BT-121 Codice motivo di esenzione IVA](/resources/xrechnung/bt-121-vat-exemption-reason-code)

## Regole correlate

- [BR-CL-17](/resources/kosit-validator-errors/br-cl-17-uncl5305-document-tax-category)
- [BR-E-01](/resources/kosit-validator-errors/br-e-01-exempt-vat-breakdown-required)
- [BR-AE-02](/resources/kosit-validator-errors/br-ae-02-reverse-charge-seller-vat-id-required)

## Strumenti di validazione

- [Validatore KoSIT ufficiale](https://github.com/itplr-kosit/validator): Esegui il validatore ufficiale KoSIT con la configurazione XRechnung per controllare le regole EN 16931 e XRechnung.
- [Converti PDF in XRechnung](/pdf-to-xrechnung): Individua gli errori di validazione durante la conversione e verifica ogni correzione.

## Risorse correlate

- [Specifiche ufficiali](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/)
- [Test suite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Tutti gli errori di validazione](/resources/kosit-validator-errors): Panoramica delle regole di validazione EN 16931, XRechnung e Peppol spiegate qui.
