Reference
Markdown exportBR-05 Invoice currency code must be present
Under the European standard EN 16931-1 and German national standard XRechnung, every electronic invoice must explicitly specify the main invoice currency code (BT-5 / DocumentCurrencyCode) using a valid 3-letter alphabetic code from the ISO 4217 currency standard (such as EUR, USD, GBP, or CHF). All monetary amounts on the invoice—including line extension amounts, allowance/charge amounts, tax breakdown totals, and legal payable totals—are denominated in this base currency unless a secondary tax currency is explicitly defined.
Problem Description
Under the European standard EN 16931-1 and German national standard XRechnung, every electronic invoice must explicitly specify the main invoice currency code (BT-5 / DocumentCurrencyCode) using a valid 3-letter alphabetic code from the ISO 4217 currency standard (such as EUR, USD, GBP, or CHF). All monetary amounts on the invoice—including line extension amounts, allowance/charge amounts, tax breakdown totals, and legal payable totals—are denominated in this base currency unless a secondary tax currency is explicitly defined.
ERROR
XRechnung 3.0
Context and Significance
Without an explicit currency code, automated invoice processing systems cannot determine the valuation of line items or calculate tax liability, causing immediate Schematron error BR-05.
Solution
In your ERP or accounting software (e.g. SAP, DATEV, Microsoft Dynamics 365, Odoo), configure the document currency on the invoice header. In UBL 2.1 syntax, populate <cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode> directly under the root <Invoice> element. In UN/CEFACT CII syntax, populate <ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode> under <ram:ApplicableHeaderTradeSettlement>. Ensure all line and total amount elements have matching currencyID attributes (e.g. currencyID="EUR").
Quick actions
Valid Examples
- Invoice header contains BT-5 = "EUR" from the ISO 4217 code list
- Invoice header contains BT-5 = "USD" for international commercial billing
Invalid Examples
- Invoice root element omits cbc:DocumentCurrencyCode / ram:InvoiceCurrencyCode entirely
- Currency element populated with currency symbol (e.g. "€" or "$") instead of 3-letter ISO 4217 code
Code Examples
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode><cbc:ID>INV-2026-001</cbc:ID>
<cbc:IssueDate>2026-02-15</cbc:IssueDate>