← All rule codes

PEPPOL-EN16931-R051

Error (blocking) Peppol BIS Billing 3.0

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).

What it means

Every amount's currencyID attribute must equal the invoice currency (BT-5); the only exception is BT-111, the invoice total VAT expressed in the accounting currency (the extra cac:TaxTotal/cbc:TaxAmount matching cbc:TaxCurrencyCode). A hardcoded currencyID="EUR" on one amount while BT-5 says otherwise fires the rule once per offending amount.

How to fix it

Set currencyID on all amounts (line, price, allowance/charge, tax, totals) from the BT-5 value; express the second currency only on the standalone TaxTotal/TaxAmount that carries BT-111.

Business terms involved: BT-5BT-111

🇫🇷 En français

L'attribut currencyID de chaque montant doit être égal à la devise de facture (BT-5) ; seule exception, le BT-111 - le total de TVA exprimé dans la devise de comptabilisation (le cac:TaxTotal/cbc:TaxAmount supplémentaire aligné sur cbc:TaxCurrencyCode). Un currencyID="EUR" codé en dur sur un montant alors que le BT-5 dit autre chose déclenche la règle pour chaque montant fautif.

Correction : Alimentez le currencyID de tous les montants (lignes, prix, remises/charges, TVA, totaux) depuis la valeur du BT-5 ; n'exprimez la seconde devise que sur le TaxTotal/TaxAmount isolé qui porte le BT-111.

Seeing PEPPOL-EN16931-R051 in a rejection?

Run your file through the free validator to see every violation at once — or let NormDrift watch your reference invoices so the next ruleset release never surprises you.