BR-CL-19
Coded allowance reasons MUST belong to the UNCL 5189 code list
What does this rule mean?
Coded allowance reasons MUST belong to the UNCL 5189 code list
The value must come from a fixed code list.
Official rule message (standard)
Coded allowance reasons MUST belong to the UNCL 5189 code list
Where the rule applies
Syntax: CII · UBL
The same rule, expressed twice: UBL and CII name the same fields with different paths. Running a CII file against the UBL rules is why you get errors that mean nothing.
UBL
cac:AllowanceCharge[cbc:ChargeIndicator = false()]/cbc:AllowanceChargeReasonCode
CII
ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator = false()]/ram:ReasonCode
Technical test
The rule passes when this Schematron expression holds true:
((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(.), ' '))))How to fix it
A wrong code-list value. A tool can suggest a valid code, but you confirm the correct one.
Choose a valid code — Beleggo proposes the nearest one.
Correct the affected entry in your XML, then re-check the invoice. Validation runs locally in your browser — your file never leaves your machine.
Check an e-invoice here
Drop an XML or ZUGFeRD PDF file here. Validation runs locally in your browser against EN 16931 — your file never leaves your machine.