PEPPOL-EN16931-R005
VAT accounting currency code MUST be different from invoice currency code when provided.
Why it fails
- The VAT accounting currency (
cbc:TaxCurrencyCode, BT-6) is the same as the invoice currency.
How to fix it
Leave cbc:TaxCurrencyCode out when VAT is accounted in the invoice currency. It is only for invoices in one currency whose VAT is reported in another, such as an invoice in USD from a seller who accounts VAT in EUR.
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:TaxCurrencyCode
not(normalize-space(text()) = normalize-space(../cbc:DocumentCurrencyCode/text()))
Checked with Peppol BIS Billing 3.0 Invoice, Peppol BIS Billing 3.0 Credit Note
ram:ApplicableHeaderTradeSettlement
not(ram:TaxCurrencyCode) or normalize-space(ram:TaxCurrencyCode/text()) != normalize-space(ram:InvoiceCurrencyCode/text())
Checked with XRechnung 3.0 Invoice (CII)