Aller au contenu principal

Référence

Export Markdown

BR-CL-03 L’attribut de devise doit contenir un code ISO 4217 (alpha-3)

L’attribut currencyID des éléments de montant doit contenir 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

En UBL, chaque élément de montant (par exemple cbc:LineExtensionAmount, cbc:TaxAmount ou cbc:PayableAmount) porte un attribut currencyID ; en CII, seul ram:TaxTotalAmount en porte un. La règle échoue lorsque l’export écrit le symbole « € », le nom « Euro », le code ISO numérique 978 ou « eur » en minuscules, car le contrôle distingue majuscules et minuscules. Exemple : currencyID="EUR" est valide, currencyID="€" ne l’est pas.

Solution

Indiquez dans chaque attribut currencyID un code ISO 4217 alpha-3 valide en majuscules, tel que EUR, USD ou CHF. Générez l’attribut à partir du code de devise de la facture (BT-5), et non d’un libellé d’affichage.

Actions rapides

Exemples valides

  • currencyID="EUR" sur un montant de ligne
  • currencyID="USD" sur un montant de TVA

Exemples invalides

  • currencyID="€" — symbole au lieu d’un code
  • currencyID="978" — code ISO numérique au lieu du code alphabétique
  • currencyID="eur" — minuscules

Exemples de code

XML valide
<cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount>
XML invalide
<cbc:LineExtensionAmount currencyID="€">100.00</cbc:LineExtensionAmount>

Champs concernés

Outils de validation