BR-05: Invoice currency code (BT-5) is missing
Severity: fatal ยท Syntax: CII, UBL
Official message
An Invoice shall have an Invoice currency code (BT-5).
What this means
BT-5 must be present. UBL: normalize-space(cbc:DocumentCurrencyCode) != ''. Whether the code is ISO 4217 is BR-CL-04.
Typical cause
The currency is only on the amounts (currencyID) and not in the header.
How to fix it
Set the currency code in the header, EUR for an euro invoice.
UBL
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>CII
<ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode>
Business term
BT-5
Related rules
Context and assertion
UBL /ubl:Invoice | /cn:CreditNote
CII /rsm:CrossIndustryInvoice
UBL
normalize-space(cbc:DocumentCurrencyCode) != ''CII
normalize-space(rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode) != ''
Check a file now, free of charge
curl -F "file=@rechnung.xml" https://checkxrechnung.com/v1/validate
Questions
What does BR-05 actually check?
BT-5 must be present. UBL: normalize-space(cbc:DocumentCurrencyCode) != ''. Whether the code is ISO 4217 is BR-CL-04.
How do I fix BR-05?
Set the currency code in the header, EUR for an euro invoice.
If BR-05 passes, is the invoice legally compliant?
No. This page helps you read this one Schematron assertion. A pass is not a statement about tax law, portal acceptance, or bank overlays.