Skip to content

Fatal

PEPPOL-EN16931-R051: All amounts must be in the invoice currency

In short

Fatal: fails the selected checks.

PEPPOL-EN16931-R051 means an amount has a currencyID different from the invoice currency (BT-5). Make sure the whole invoice is in one currency: set the invoice currency in your invoicing software and check that no line or price was entered in another one.

On this page

What it means

Every amount in a Peppol invoice must carry the invoice currency (BT-5) in its currencyID attribute. The only exception is the VAT total in accounting currency (BT-111), which carries the VAT accounting currency.

Why it matters

Peppol BIS Billing 3.0 adds this rule to EN 16931 so that every access point and receiver can process the invoice the same way. The sending or receiving access point rejects an invoice that fails it, so it never reaches the buyer.

How to fix it

Make sure the whole invoice is in one currency: set the invoice currency in your invoicing software and check that no line or price was entered in another one. If you build the XML yourself, write the same currencyID on every amount, and use the other currency only on the second cbc:TaxAmount in the extra cac:TaxTotal.

The rule as published

Read the rule on the publisher's site

Business terms: BT-5, BT-111

Where this rule applies

Rule set Version
Peppol BIS Billing 3.0 (invoice) 2026.5
Peppol BIS Billing 3.0 (credit note) 2026.5
Rule text from phive-rules 4.6.4.

Check your file

Drop your e-invoice to see whether PEPPOL-EN16931-R051 still fails, and which other rules do.

Updated 6 November 2026