Error code PEPPOL-EN16931-R051 means: an amount is in another currency than the invoice currency.
What does PEPPOL-EN16931-R051 mean?
The validator shows this message (as worded in the official rules):
[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).
Every amount in the invoice has a currencyID attribute. On Peppol it must equal the invoice currency everywhere (BT-5, cbc:DocumentCurrencyCode). The only exception is the VAT total in accounting currency (BT-111): if you invoice in dollars, you may also state the VAT amount in euros.
Common causes
- The invoice is in a foreign currency, but some amounts stayed in euros.
- A template hard-codes
currencyIDto EUR. - During a conversion, the currency of some amounts was not updated.
How to fix it as the sender
- Use the same currency as
cbc:DocumentCurrencyCodefor all amounts. - To also show the VAT amount in euros, use
cbc:TaxCurrencyCodeand a secondcac:TaxTotalwithout subtotals. - Validate again.
Received an invoice with this error?
An invoice with this error is not compliant. Ask the supplier for a corrected invoice and do not change the XML yourself.
Example in the XML
❌ Wrong
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
...
<cbc:PayableAmount currencyID="USD">363.00</cbc:PayableAmount>
✅ Correct
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
...
<cbc:PayableAmount currencyID="EUR">363.00</cbc:PayableAmount>
Both snippets come from a complete test invoice that we checked with our validator: the wrong version gives exactly this message, the correct version no errors at all.
Good to know
If you invoice in a foreign currency, Belgian rules require the VAT amount in euros as well. That is exactly what the exception in this rule is for.
Check your invoice
Drop your XML into the free validator. You see right away whether this error still occurs, with a link to the explanation for every message.
Official rule
The full rule with its technical test (Schematron) is in the official Peppol documentation:
Related error codes
- BR-CO-15: The total with VAT is not equal to the total without VAT plus the VAT amount.
- PEPPOL-EN16931-CL008: The scheme (schemeID) of the seller or buyer electronic address is not from the official Peppol code list.
Frequently asked questions about PEPPOL-EN16931-R051
May I invoice in a foreign currency?
Yes. The VAT amount must then also be on the invoice in euros, through the VAT total in accounting currency.
Where is the invoice currency in the XML?
In cbc:DocumentCurrencyCode, at the top of the invoice.