Peppol BIS Billing 3.0.21 · UBL

PEPPOL-EN16931-CL003: Reason code MUST be according to UNCL 7161 D.16B

Peppol BIS Billing 3.0.21 · UBL

fatalformat

Original rule text

[PEPPOL-EN16931-CL003]-Reason code MUST be according to UNCL 7161 D.16B.

Stored validation assertion

some $code in $UNCL7161
satisfies normalize-space(text()) = $code

PEPPOL-EN16931-CL003 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 requires that for a charge (an AllowanceCharge element with ChargeIndicator 'true'), the AllowanceChargeReasonCode must contain a code that matches one of the values in the UNCL 7161 D.16B list. The validator checks that the text content, after ignoring surrounding whitespace, is exactly one of the listed codes; if it is empty, whitespace-only, or any other value not in the list, the document fails validation because the rule is fatal.

How to fix

Set the value of cac:AllowanceCharge[cbc:ChargeIndicator='true']/cbc:AllowanceChargeReasonCode to a valid code from UNCL 7161 D.16B, for example 'AA', 'AAA', 'AAC', or any other code present in the list. Ensure the code is spelled exactly as listed; leading/trailing spaces are ignored, but no other variation is accepted. If the reason code is generated by a system, configure it to output one of the accepted codes.

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

Where to go next

PEPPOL-EN16931-CL003 changed in 2 published Peppol BIS Billing UBL release comparisons:

Validate an invoice against these rules · All release changes