Peppol BIS Billing 3.0.21 · UBL

BR-CL-19: Coded allowance reasons MUST belong to the UNCL 5189 code list

Peppol BIS Billing 3.0.21 · UBL

fatalbusiness

Original rule text

[BR-CL-19]-Coded allowance reasons MUST belong to the UNCL 5189 code list

Stored validation assertion
((not(contains(normalize-space(.), ' ')) and contains(' 41 42 60 62 63 64 65 66 67 68 70 71 88 95 100 102 103 104 105 ', concat(' ', normalize-space(.), ' '))))

BR-CL-19 is a fatal rule in the business layer of Peppol BIS Billing 3.0.21 · UBL. An invoice that breaks it is rejected.

What this rule requires

BR-CL-19 requires a coded allowance reason (where cac:AllowanceCharge/cbc:ChargeIndicator is false in UBL, or the equivalent ram:SpecifiedTradeAllowanceCharge/ram:ChargeIndicator/udt:Indicator is false in CII) to use one of the UNCL 5189 values accepted by this rule: 41, 42, 60, 62, 63, 64, 65, 66, 67, 68, 70, 71, 88, 95, 100, 102, 103, 104, 105. A document fails when the reason code is present but its normalized value contains a space or is not one of those codes.

How to fix

Set the allowance charge reason code to one of the accepted UNCL 5189 codes, e.g. 41, 60, or 105. In UBL this is cac:AllowanceCharge[cbc:ChargeIndicator = false()]/cbc:AllowanceChargeReasonCode; in CII it is ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator = false()]/ram:ReasonCode. Ensure the value is a single code with no spaces.

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 BR-CL-19.

Validate an invoice against these rules · All release changes