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.