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).
What does this rule mean?
An invoice line allowance (BG-27) is missing its reason (BT-139 or BT-140).
A line allowance must state a reason — as text or a reason code.
- BG-27
- Invoice line allowances (group)
- BT-139
- Invoice line allowance reason
- BT-140
- Invoice line allowance reason code
Official rule message (standard)
Each Invoice line allowance (BG-27) shall have an Invoice line allowance reason (BT-139) or an Invoice line allowance reason code (BT-140).
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:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()] | //cac:CreditNoteLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()]
CII
//ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ChargeIndicator[udt:Indicator = 'false']
Technical test
The rule passes when this Schematron expression holds true:
(../ram:Reason) or (../ram:ReasonCode)How to fix it
A missing or incorrect business entry only you can supply. Add or correct it, then re-check.
Add a reason for the line allowance.
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.