Peppol BIS Billing 3.0.21 · UBL

PEPPOL-EN16931-R005: VAT accounting currency code MUST be different from invoice currency code when provided

Peppol BIS Billing 3.0.21 · UBL

fatalformat

Original rule text

[PEPPOL-EN16931-R005]-VAT accounting currency code MUST be different from invoice currency code when provided.

Stored validation assertion
not(normalize-space(text()) = normalize-space(../cbc:DocumentCurrencyCode/text()))

PEPPOL-EN16931-R005 is a fatal rule in the format layer of Peppol BIS Billing 3.0.21 · UBL. An invoice that breaks it is rejected.

What this rule requires

The rule applies when cbc:TaxCurrencyCode is present. It requires that the normalized value of cbc:TaxCurrencyCode must not be equal to the normalized value of its sibling cbc:DocumentCurrencyCode (the invoice currency code). Surrounding whitespace is ignored, so values that differ only by whitespace are still considered equal and fail the rule.

How to fix

If the VAT accounting currency is the same as the invoice currency, remove cbc:TaxCurrencyCode. If a separate VAT accounting currency is intended, set cbc:TaxCurrencyCode to a value different from cbc:DocumentCurrencyCode, or correct cbc:DocumentCurrencyCode accordingly.

Guidance on this rule. The original text above is authoritative.

Where to go next

No published Peppol BIS Billing UBL release comparison lists a change to PEPPOL-EN16931-R005.

Validate an invoice against these rules · All release changes