Error codes

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.