How to fix BR-05
An Invoice shall have an Invoice currency code (BT-5).
What this rule checks
The invoice currency code (BT-5, mapped to cbc:DocumentCurrencyCode) specifies which currency all monetary amounts in the invoice are denominated in. It must be a valid ISO 4217 three-letter code (e.g. EUR, USD, GBP). This field is mandatory because it is impossible to correctly interpret amounts without knowing their currency.
Referenced business terms
This rule references the following EN 16931 business term. Click through for the full definition, the UBL XPath and the cardinality.
How to fix it
Add a cbc:DocumentCurrencyCode element at the Invoice root level with a valid ISO 4217 currency code (e.g. EUR, USD, SEK).
Common causes
- The cbc:DocumentCurrencyCode element is missing.
- An invalid currency code was used (e.g. 'Euro' instead of 'EUR').
- The element is empty or contains whitespace only.
- A lowercase currency code was used (e.g. 'eur' instead of 'EUR').
Example: before (broken)
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
<cbc:ID>INV-2024-001</cbc:ID>
<cbc:IssueDate>2024-01-15</cbc:IssueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<!-- cbc:DocumentCurrencyCode is missing -->
</Invoice>Example: after (fixed)
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
<cbc:ID>INV-2024-001</cbc:ID>
<cbc:IssueDate>2024-01-15</cbc:IssueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
</Invoice>Related rules
Validate your invoice
Upload your corrected invoice to check it passes BR-05 and all other EN 16931 and Peppol BIS 3.0 rules. Free, instant, no signup.