# BR-CL-04 Le code de devise de la facture doit provenir de la norme ISO 4217 (alpha-3)

Le code de devise de la facture (BT-5) doit être un code à trois lettres de la norme ISO 4217 (alpha-3).

## Description du problème

> **ERREUR**: Règle de liste de codes EN 16931 (BR-CL)

## Contexte et importance

BT-5 fixe la devise de tous les montants de la facture. La règle échoue lorsque la devise est reprise du texte du PDF (« Euro », « € »), lorsque l’ERP exporte un code interne tel que « EURO », ou lorsque le code est en minuscules (« eur »). Un BT-5 erroné fausse en général aussi les attributs currencyID (BR-CL-03). Exemple : une facture en francs suisses utilise BT-5 = CHF, et non « CHF. » ou « FS ».

## Solution

Définissez BT-5 sur un code ISO 4217 alpha-3 valide en majuscules, tel que EUR (UBL : cbc:DocumentCurrencyCode ; CII : ram:InvoiceCurrencyCode). Associez le champ devise de l’ERP au code ISO ; n’utilisez ni symboles, ni noms, ni abréviations internes.

- [Valider le XML](/fr/xrechnung-validator?source=resource&rule=BR-CL-04)
- [Convertir la facture](/fr/pdf-to-xrechnung?source=resource&rule=BR-CL-04)

## Exemples valides

- BT-5 = EUR
- BT-5 = CHF

## Exemples invalides

- BT-5 = EURO — code interne, pas ISO 4217
- BT-5 = Euro — nom de devise, pas un code
- BT-5 = eur — minuscules

## Exemples de code

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

### XML invalide
```
<cbc:DocumentCurrencyCode>EURO</cbc:DocumentCurrencyCode>
```

## Champs concernés

- [BT-5 Code de devise de la facture](/resources/xrechnung/bt-5-invoice-currency-code)

## Règles associées

- [BR-CL-03](/resources/kosit-validator-errors/br-cl-03-iso-4217-currency-attribute)
- [BR-CL-05](/resources/kosit-validator-errors/br-cl-05-iso-4217-tax-currency)

## Outils de validation

- [Validateur KoSIT officiel](https://github.com/itplr-kosit/validator): Exécutez le validateur officiel du KoSIT avec la configuration XRechnung pour contrôler les règles EN 16931 et XRechnung.
- [Convertir un PDF en XRechnung](/pdf-to-xrechnung): Repérez les erreurs de validation pendant la conversion et vérifiez chaque correction.

## Ressources associées

- [Spécification officielle](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/)
- [Suite de tests](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Toutes les erreurs de validation](/resources/kosit-validator-errors): Vue d’ensemble des règles de validation EN 16931, XRechnung et Peppol expliquées ici.
