Reference
Markdown exportBR-CL-03 Currency attribute must use ISO 4217 alpha-3
The currencyID attribute on amount elements must be a three-letter code from ISO 4217 alpha-3.
Problem Description
ERROR
EN 16931 code-list rule (BR-CL)
Context and Significance
In UBL, every amount element (for example cbc:LineExtensionAmount, cbc:TaxAmount or cbc:PayableAmount) carries a currencyID attribute; in CII, only ram:TaxTotalAmount carries one. The rule fails when an export writes the symbol "€", the name "Euro", the numeric ISO code 978 or a lowercase "eur", because the check is case-sensitive. Example: currencyID="EUR" passes, currencyID="€" fails.
Solution
Write a valid ISO 4217 alpha-3 code in capital letters, such as EUR, USD or CHF, in every currencyID attribute. Generate the attribute from the invoice currency code (BT-5), not from display text.
Quick actions
Valid Examples
- currencyID="EUR" on a line amount
- currencyID="USD" on a VAT amount
Invalid Examples
- currencyID="€" — symbol instead of code
- currencyID="978" — numeric ISO code instead of the alphabetic code
- currencyID="eur" — lowercase
Code Examples
Valid XML
<cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount>Invalid XML
<cbc:LineExtensionAmount currencyID="€">100.00</cbc:LineExtensionAmount>