Sur cette page
La réponse courte
BR-CL-05 échoue lorsque cbc:TaxCurrencyCode, la devise dans laquelle le vendeur comptabilise la TVA, n'est pas un code de la liste alphabétique ISO 4217 figée avec cette version. Écrivez le code à trois lettres de cette devise en majuscules : EUR dans l'exemple corrigé, là où l'exemple en échec avait HRK.
HRK était le code de la kuna croate, que l'euro a remplacée en 2023, et il ne figure plus dans la liste. La facture en échec portait aussi HRK comme devise de son total de TVA dans la devise de comptabilisation, si bien que ce montant a également été rejeté.
Ce que la règle vérifie
La règle lit cbc:TaxCurrencyCode et rien d'autre, et seulement lorsque le document en contient un. L'élément est facultatif : une facture dont la TVA est comptabilisée dans la devise de facturation l'omet et n'est pas contrôlée ici.
Le code est débarrassé de ses espaces puis recherché en tenant compte de la casse. Lors d'un essai, 978, le code ISO numérique de l'euro, et le mot EURO ont tous deux échoué. EUR entouré d'espaces a réussi cette règle mais a été signalé par BR-53, car le currencyID EUR du total de TVA ne correspondait plus au code tel qu'il était écrit.
La liste figée a un trou : STN, le code actuel de la dobra de São Tomé-et-Príncipe, en est absent, alors que l'ancien STD y figure encore. Lors d'un essai, STN aux deux endroits a échoué à cette règle et à BR-CL-03 ; STD a réussi l'étape EN 16931 et a été rejeté sur le montant par PEPPOL-EN16931-CL007, dont la liste fait l'inverse.
Seul le code est jugé. Qu'il diffère de cbc:DocumentCurrencyCode est contrôlé par PEPPOL-EN16931-R005, et qu'un total de TVA existe dans cette devise par BR-53.
| Terme | Signification | Élément UBL |
|---|---|---|
| BT-6 | Code de devise de comptabilisation de la TVA | cbc:TaxCurrencyCode |
| BT-111 | Montant total de la TVA de la facture dans la devise de comptabilisation | cac:TaxTotal/cbc:TaxAmount (in the tax total without cac:TaxSubtotal) |
Comment une intégration en arrive là
Causes possibles, déduites de la forme de la règle et non d'une utilisation mesurée :
- La devise de comptabilisation de la TVA est réglée une fois dans la configuration et contient encore un code retiré depuis, comme
HRKaprès le passage de la Croatie à l'euro. - La devise est enregistrée sous son code ISO numérique,
978pour l'euro, et transmise telle quelle. - Un nom de devise ou une abréviation comme
EUROest saisi là où le code est attendu. - Un formateur met les codes en minuscules, ou la valeur a été saisie à la main en minuscules.
Comment corriger le document
- Déterminez la devise dans laquelle le vendeur tient sa comptabilité de TVA pour cette opération ; pour un vendeur qui déclare la TVA en euros, c'est
EUR. - Écrivez son code alphabétique ISO 4217, trois lettres majuscules sans espaces, dans
cbc:TaxCurrencyCode. - Utilisez le même code comme
currencyIDducbc:TaxAmountdu secondcac:TaxTotal, celui sans ventilation, qui indique le total de TVA converti dans cette devise. - Si la TVA est finalement comptabilisée dans la devise de facturation, supprimez plutôt
cbc:TaxCurrencyCodeet le second total de taxe. - Revoyez les réglages de devise enregistrés lorsqu'un pays change de monnaie ; un code valide au moment de la configuration peut ensuite disparaître de la liste.
Valider votre facture corrigée
Avant et après
Ce sont des extraits, pas des documents complets. Les documents synthétiques complets dont ils proviennent sont liés ci-dessous.
Fragment de la facture en échec : la devise de comptabilisation de la TVA et son total de TVA sont tous deux en HRK
<cbc:DocumentCurrencyCode>GBP</cbc:DocumentCurrencyCode>
<cbc:TaxCurrencyCode>HRK</cbc:TaxCurrencyCode>
<!-- buyer reference, parties and the first tax total omitted from this fragment -->
<cac:TaxTotal>
<cbc:TaxAmount currencyID="HRK">5.80</cbc:TaxAmount>
</cac:TaxTotal>Fragment de la facture corrigée : EUR aux deux endroits
<cbc:DocumentCurrencyCode>GBP</cbc:DocumentCurrencyCode>
<cbc:TaxCurrencyCode>EUR</cbc:TaxCurrencyCode>
<!-- buyer reference, parties and the first tax total omitted from this fragment -->
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">5.80</cbc:TaxAmount>
</cac:TaxTotal>Deux valeurs diffèrent, HRK dans la facture en échec et EUR dans la facture corrigée : cbc:TaxCurrencyCode et le currencyID du total de TVA dans cette devise. BR-CL-05 est signalé sur le code de devise. BR-CL-03 et PEPPOL-EN16931-CL007 sont signalés sur le cbc:TaxAmount du second cac:TaxTotal, qui porte le même code invalide comme devise. Corriger le code aux deux endroits efface les trois constats.
Ce que le validateur a signalé
- La facture en erreur signale BR-CL-03, BR-CL-05 et PEPPOL-EN16931-CL007. Le document corrigé passe toutes les étapes de validation sans constat.Télécharger le XML en erreurTélécharger le XML corrigé
Enregistré avec phive 12.1.0 / phive-rules-peppol 4.5.6 / Saxon-HE 12.10, le moteur du validateur gratuit, sur des données synthétiques. Un résultat enregistré est une preuve de non-régression pour ces documents ; ce n'est pas une certification.
Où la règle s'applique
- S'applique à
InvoiceetCreditNote; lors d'un essai, un avoir avecHRKaux deux endroits a signalé les trois mêmes règles. - L'étape Peppol ne contrôle pas
cbc:TaxCurrencyCodepar rapport à une liste de devises. Lors d'un essai où seul cet élément était changé enHRK, l'étape Peppol a signaléPEPPOL-EN16931-R055, qui n'a trouvé aucun total de TVA dans la devise de comptabilisation, et l'étape EN 16931 a ajoutéBR-53à cette règle. - La liste est le même état de l'ISO 4217 que
BR-CL-03etBR-CL-04appliquent aux montants et à la devise de la facture.
Règles liées
- BR-CL-03 contrôle le currencyID de chaque montant, y compris le total de TVA dans la devise de comptabilisation
- PEPPOL-EN16931-CL007 répète le contrôle de la devise des montants à l'étape Peppol, avec une liste légèrement différente
- BR-53 exige un total de TVA dans la devise que cet élément désigne
- BR-CL-06 contrôle le code de date d'exigibilité de la TVA, une autre donnée facultative de déclaration de TVA avec sa propre courte liste de codes
- Parcourir toutes les règles de la référence
- Contexte (en anglais) : Understanding EN 16931 validation errors
Portée et source
Rédigé pour Peppol BIS Billing 3.0.21 (May 2026), EN 16931 1.3.16, tel qu'appliqué aux documents Invoice et CreditNote en UBL 2.1. D'autres profils, syntaxes et versions peuvent définir cet identifiant autrement. Version du catalogue d'aide 2026-09-28.1 : source vérifiée le 2026-09-28, explication mise à jour le 2026-09-28.
La définition officielle de BR-CL-05 (en anglais) contient le texte normatif et le test. Cette page en est notre explication, pas une copie.
Cette aide ne modifie pas le verdict du moteur. Corriger ce constat ne signifie pas que le document passe toutes les étapes de validation, et la validation ne certifie pas la conformité juridique ou fiscale et ne transmet aucun document via Peppol.

