Rule BR-05
An invoice must have a currency code
Every invoice carries the currency its amounts are expressed in, as a three-letter ISO 4217 code.
Business term BT-5, Invoice currency code. Source: EN 16931. Our wording, not the normative text, which is published in the Peppol BIS Billing 3.0 rule list and was checked against it on 2026-08-16.
Why it fires on invoices that look fine
Almost nobody hits this rule because they forgot the field exists. They hit it because something between their system and the document dropped it, changed its shape, or filled it with a value that is right somewhere else. These are the causes worth checking first.
- A symbol was sent instead of a code: EUR is the code, the euro sign is not.
- The code is lowercase. The field is case sensitive and takes uppercase.
- The currency is implied by the seller's country and simply never mapped, so the field arrives empty on every document from that system rather than on one.
What to change
- Send the ISO 4217 alphabetic code in uppercase: EUR, USD, GBP, CHF.
- Set it from the invoice, not from the seller. A French company invoicing in dollars is ordinary, and hardcoding the country's currency produces documents whose amounts mean the wrong thing.
The validator runs in your browser. Nothing is uploaded, and you can confirm that yourself with the network panel open.
Rules you are likely to hit next
A document that breaks BR-05 usually breaks one of these too, because the same mapping gap tends to affect neighbouring fields.
- BR-CL-*: codelists: currency, country, VAT category, invoice type
Questions people actually ask
- What does BR-05 mean?
- Every invoice carries the currency its amounts are expressed in, as a three-letter ISO 4217 code.
- Which field does BR-05 apply to?
- BT-5, Invoice currency code. That is the name the semantic model uses, which is what you search for in your own system's mapping when the identifier alone does not tell you which field to look at.
- Does our validator check BR-05?
- Yes. Paste your invoice data into the free validator and it reports this rule with the value it actually saw, without the document leaving your browser.