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

error: the document is invalid Peppol documentation ↗

Why it fails

  • An amount has a currencyID other than the invoice currency (cbc:DocumentCurrencyCode), for example EUR on a line of an invoice in SEK.
  • Amounts were copied from an order or a price list in another currency.

How to fix it

Every amount takes the invoice currency. Only the second cac:TaxTotal/cbc:TaxAmount, the VAT total in the accounting currency (BT-111), may differ.

What the rule checks

As the rule set's publisher wrote it. The rule runs on every element the context matches, and fails where the test is false; the validator reports the line of that element.

Context
cbc:Amount | cbc:BaseAmount | cbc:PriceAmount | cac:TaxTotal[cac:TaxSubtotal]/cbc:TaxAmount | cac:TaxSubtotal/cbc:TaxAmount | cbc:TaxableAmount | cbc:LineExtensionAmount | cbc:TaxExclusiveAmount | cbc:TaxInclusiveAmount | cbc:AllowanceTotalAmount | cbc:ChargeTotalAmount | cbc:PrepaidAmount | cbc:PayableRoundingAmount | cbc:PayableAmount
Test
@currencyID = $documentCurrencyCode

Checked with Peppol BIS Billing 3.0 Invoice, Peppol BIS Billing 3.0 Credit Note