Peppol BIS Billing 3.0.21 · UBL

PEPPOL-EN16931-P0111: Tax Category E MUST be used when exemption reason code is VATEX-EU-J

Peppol BIS Billing 3.0.21 · UBL

fatalformat

Original rule text

[PEPPOL-EN16931-P0111]-Tax Category E MUST be used when exemption reason code is VATEX-EU-J

Stored validation assertion
normalize-space(cbc:ID)='E'

PEPPOL-EN16931-P0111 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

In UBL, any cac:TaxCategory whose cbc:TaxExemptionReasonCode is VATEX-EU-J must have a cbc:ID whose normalized value is exactly E. The test applies to the cac:TaxCategory element and checks normalize-space(cbc:ID)='E'. An invoice fails this fatal rule when that cbc:ID is missing, empty, or has a value other than E.

How to fix

Find the cac:TaxCategory element that contains cbc:TaxExemptionReasonCode with value VATEX-EU-J, and set its child cbc:ID to E. If the invoice is generated by a system, ensure the tax category code for this exemption reason is mapped to E.

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

Where to go next

PEPPOL-EN16931-P0111 changed in 1 published Peppol BIS Billing UBL release comparison:

Validate an invoice against these rules · All release changes