BR-42: Each Invoice line allowance (BG-27) shall have an Invoice line allowance reason (BT-139)…
Peppol BIS Billing 3.0.20 · UBL
Original rule text
[BR-42]-Each Invoice line allowance (BG-27) shall have an Invoice line allowance reason (BT-139) or an Invoice line allowance reason code (BT-140).
exists(cbc:AllowanceChargeReason) or exists(cbc:AllowanceChargeReasonCode)BR-42 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-27, BT-139, BT-140.
What this rule requires
The rule requires that every invoice line allowance (BG-27), represented in UBL as cac:AllowanceCharge with cbc:ChargeIndicator false, and in CII as ram:SpecifiedTradeAllowanceCharge with ram:ChargeIndicator false, carries at least one of cbc:AllowanceChargeReason (BT-139) or cbc:AllowanceChargeReasonCode (BT-140) in UBL, or ram:Reason or ram:ReasonCode in CII. A document fails validation if the allowance charge has neither a reason text nor a reason code.
How to fix
Add either the allowance reason text or the allowance reason code to the line allowance. In UBL, inside the cac:AllowanceCharge with cbc:ChargeIndicator false, add cbc:AllowanceChargeReason with the reason text, or cbc:AllowanceChargeReasonCode with a code. In CII, inside ram:SpecifiedTradeAllowanceCharge with ram:ChargeIndicator false, add ram:Reason or ram:ReasonCode. If using a reason code, ensure it is one the rule accepts; the rule does not list the allowed codes here.
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-42.
Validate an invoice against these rules · All release changes