BR-CO-21: Each Document level allowance (BG-20) shall contain a Document level allowance reason…
Peppol BIS Billing 3.0.20 · UBL
Original rule text
[BR-CO-21]-Each Document level allowance (BG-20) shall contain a Document level allowance reason (BT-97) or a Document level allowance reason code (BT-98), or both.
exists(cbc:AllowanceChargeReason) or exists(cbc:AllowanceChargeReasonCode)BR-CO-21 is a fatal rule in the business layer of Peppol BIS Billing 3.0.20 · UBL. An invoice that breaks it is rejected. It refers to BG-20, BT-97, BT-98.
What this rule requires
The rule requires that every document-level allowance (BG-20), represented in UBL as cac:AllowanceCharge where cbc:ChargeIndicator is false, contains at least one of cbc:AllowanceChargeReason (BT-97) or cbc:AllowanceChargeReasonCode (BT-98). The test passes if either element exists, so a document fails when both are missing from such an allowance. This is a fatal rule, so the invoice is rejected if it does not satisfy this condition.
How to fix
For each document-level allowance (cac:AllowanceCharge with cbc:ChargeIndicator false in UBL, or ram:SpecifiedTradeAllowanceCharge with ram:ChargeIndicator false in CII), add either a cbc:AllowanceChargeReason (BT-97) or a cbc:AllowanceChargeReasonCode (BT-98), or both. Ensure the added element is not empty and contains a value accepted by the relevant format or code list.
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-CO-21.
Validate an invoice against these rules · All release changes