# BR-05

Source: https://xmlvalid.com/rules/BR-05

> An Invoice shall have an Invoice currency code (BT-5).

- Level: error
- Rule sets: EN 16931 rules (UBL) 1.3.17, EN 16931 rules 1.3.16 (UBL), EXTENDED-CTC-FR rules (UBL) 1.4.0.04
- Context: `/ubl:Invoice | /cn:CreditNote`
- Test: `normalize-space(cbc:DocumentCurrencyCode) != ''`

> An Invoice shall have an Invoice currency code (BT-5).

- Level: error
- Rule sets: EN 16931 rules (CII) 1.3.17, EN 16931 rules 1.3.16 (CII), EXTENDED-CTC-FR rules (CII) 1.4.0.04
- Context: `/rsm:CrossIndustryInvoice`
- Test: `normalize-space(rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode) != ''`

> An Invoice shall have an Invoice currency code (BT-5).

- Level: error
- Rule sets: Romanian RO e-Factura rules (UBL) 1.0.9
- Context: `/ubl:Invoice | /cn:CreditNote`
- Test: `(cbc:DocumentCurrencyCode) !=''`

> An Invoice shall have an Invoice currency code (BT-5).

- Level: error
- Rule sets: Factur-X BASIC WL rules 1.09, Factur-X EN 16931 rules 1.09.2, Factur-X EXTENDED rules 1.09.2
- Context: `/rsm:CrossIndustryInvoice`
- Test: `(rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode!='')`

## Why it fails

- There is no `cbc:DocumentCurrencyCode` (`ram:InvoiceCurrencyCode` in CII).

## How to fix it

- Add the invoice currency (BT-5) as an ISO 4217 code such as `EUR`. Every amount's `currencyID` should match it, apart from a VAT total given in the VAT accounting currency.

Validate a document against these rules: https://xmlvalid.com/validate
