Skip to main content

BR-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

Valid XML
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
Invalid XML
<cbc:ID>INV-2026-001</cbc:ID>
<cbc:IssueDate>2026-02-15</cbc:IssueDate>

Affected Fields

Validation Tools