Peppol BIS Billing 3.0.20 · UBL

UBL-SR-31: Document level charge reason shall occur maximum once

Peppol BIS Billing 3.0.20 · UBL

fatalschema

Original rule text

[UBL-SR-31]-Document level charge reason shall occur maximum once

Stored validation assertion
(count(cbc:AllowanceChargeReason) <= 1)

UBL-SR-31 is a fatal rule in the schema layer of Peppol BIS Billing 3.0.20 · UBL. An invoice that breaks it is rejected.

What this rule requires

The rule requires that a document-level cac:AllowanceCharge with cbc:ChargeIndicator = true() contains at most one cbc:AllowanceChargeReason. A document fails when such a charge has more than one cbc:AllowanceChargeReason element.

How to fix

Ensure each document-level charge (cac:AllowanceCharge where cbc:ChargeIndicator is true) has only one cbc:AllowanceChargeReason. Remove any extra reason elements from that charge, or adjust the system to output a single reason.

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 UBL-SR-31.

Validate an invoice against these rules · All release changes