# BR-CL-19 Il motivo di sconto codificato deve provenire da UNCL5189

Quando un motivo di sconto è codificato (BT-98 a livello documento, BT-140 a livello riga), il codice deve appartenere al sottoinsieme di UNCL5189 usato dalla EN 16931.

## Descrizione del problema

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

## Contesto e significato

Gli sconti hanno una propria lista di codici numerici (UNCL5189), distinta da quella delle maggiorazioni (UNCL7161, BR-CL-20); la EN 16931 ammette 19 di questi codici. La regola fallisce quando un codice di maggiorazione come FC è copiato su uno sconto, quando nel campo codice c’è un testo come "SCONTO", o quando il ChargeIndicator è errato e una maggiorazione viene controllata con la lista degli sconti. Esempio: uno sconto quantità usa il codice 95 con il motivo "Sconto quantità".

## Soluzione

Imposta il codice motivo sconto su un valore UNCL5189 ammesso, ad es. 95 (sconto), 100 (ribasso speciale) o 105 (fatturato annuo); indica ogni altro motivo come testo libero (BT-97 o BT-139). In UBL il codice è cbc:AllowanceChargeReasonCode in un cac:AllowanceCharge con cbc:ChargeIndicator false, in CII ram:ReasonCode in un ram:SpecifiedTradeAllowanceCharge.

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

## Esempi validi

- BT-98 = 95 — sconto
- BT-140 = 100 — ribasso speciale a livello riga

## Esempi non validi

- BT-98 = FC — codice di maggiorazione (UNCL7161) su uno sconto
- BT-98 = SCONTO — testo libero anziché codice

## Esempi di codice

### XML valido
```
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
</cac:AllowanceCharge>
```

### XML non valido
```
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>FC</cbc:AllowanceChargeReasonCode>
</cac:AllowanceCharge>
```

## Campi interessati

- [BT-98 Codice motivo sconto a livello documento](/resources/xrechnung/bt-98-document-level-allowance-reason-code)
- [BT-140 Codice motivo sconto a livello riga](/resources/xrechnung/bt-140-invoice-line-allowance-reason-code)

## Regole correlate

- [BR-CL-20](/resources/kosit-validator-errors/br-cl-20-uncl7161-charge-reason)

## 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.
