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).
Why it fails
- An amount has a
currencyIDother 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.
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
@currencyID = $documentCurrencyCode
Checked with Peppol BIS Billing 3.0 Invoice, Peppol BIS Billing 3.0 Credit Note