# PEPPOL-EN16931-R051

> All currencyID attributes must have the same value as the invoice currency code (BT-5), except for the invoice total VAT amount in accounting currency (BT-111).

Checked against Peppol BIS Billing 3.0 2026.5

Canonical: https://einvoicecheck.eu/rules/peppol-en16931-r051

## Official rule text

All currencyID attributes must have the same value as the invoice currency code (BT-5), except for the invoice total VAT amount in accounting currency (BT-111).

## Why did my invoice fail PEPPOL-EN16931-R051?

Every currencyID attribute in the document must match the invoice currency code (BT-5, DocumentCurrencyCode), with the single exception of the invoice total VAT amount expressed in the VAT accounting currency (BT-111). This guarantees all monetary amounts are stated in one currency, avoiding ambiguity except for the deliberately dual-currency VAT total.

## Common causes

- A monetary amount carries a stale or default currencyID (e.g. USD) different from DocumentCurrencyCode.
- Mixed currencies across line amounts, tax amounts, or allowances.
- The BT-111 exception amount was given a currencyID equal to the document currency, or a non-BT-111 amount was tagged with the accounting currency.

## How do I fix it?

```
Set every currencyID to BT-5 (e.g. EUR): if <cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>, then all amounts use currencyID="EUR"; only cac:TaxTotal/cbc:TaxAmount for BT-111 may use the accounting currency.
```
