# BR-05 Il codice valuta della fattura deve essere presente

In base alla regola BR-05 della norma EN 16931-1, valida per ogni CIUS come XRechnung, Peppol BIS e Factur-X, ogni fattura elettronica deve indicare il codice valuta della fattura (BT-5 / DocumentCurrencyCode) con un codice ISO 4217 a 3 lettere valido (es. EUR, USD, GBP o CHF). Tutti gli importi della fattura sono espressi in questa valuta; l’unica eccezione è l’importo totale IVA in valuta contabile (BT-111), espresso nella valuta contabile IVA (BT-6).

## Descrizione del problema

> **ERRORE**: Regola di business della norma EN 16931 (CEN)

## Contesto e significato

È una regola di base della norma EN 16931. Senza codice valuta il destinatario non può valorizzare gli importi né registrare l’IVA. BR-05 verifica solo che l’elemento sia presente e non vuoto; un simbolo come "€" o un codice sconosciuto fallisce invece sulla regola di lista codici BR-CL-04. L’errore compare di solito quando un’esportazione scrive la valuta solo come attributo currencyID sugli importi e omette l’elemento di testata.

## Soluzione

Nel gestionale ERP o di fatturazione imposta la valuta del documento nella testata della fattura. In UBL 2.1 compila <cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode> direttamente sotto <Invoice>. In CII compila <ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode> sotto <ram:ApplicableHeaderTradeSettlement>. Assegna a tutti gli importi lo stesso attributo currencyID di BT-5; solo BT-111 può usare una valuta diversa.

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

## Esempi validi

- La testata della fattura contiene BT-5 = "EUR" dalla lista ISO 4217
- La testata della fattura contiene BT-5 = "USD" per la fatturazione internazionale

## Esempi non validi

- La radice della fattura omette totalmente cbc:DocumentCurrencyCode / ram:InvoiceCurrencyCode
- cbc:DocumentCurrencyCode è presente ma vuoto (<cbc:DocumentCurrencyCode/>); un simbolo come "€" fallisce invece su BR-CL-04

## Esempi di codice

### XML valido
```
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
```

### XML non valido
```
<cbc:ID>INV-2026-001</cbc:ID>
<cbc:IssueDate>2026-02-15</cbc:IssueDate>
```

## Campi interessati

- [BT-5 Codice valuta della fattura](/resources/xrechnung/bt-5-invoice-currency-code)

## Regole correlate

- [BR-CL-04](/resources/kosit-validator-errors/br-cl-04-iso-4217-invoice-currency)
- [BR-53](/resources/kosit-validator-errors/br-53-vat-accounting-currency-total-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.
