BR-42Each Invoice line allowance (BG-27) shall have an Invoice line allowance reason (BT-139) or an Invoice line allowance reason code (BT-140).
Official rule text
Every invoice line allowance (BG-27) must carry a reason — in plain text (BT-139), as a code (BT-140), or both. An amount with no justification is something the recipient cannot check.
- Severity
- Error
- Applies to
- CII, UBL
- Rule set
- v2026-08-31
- Checked on
Written and checked against the official KoSIT rule set by Dmytro Yalanskyi, NormAPI.
Why does BR-42 happen?
This rule and BR-CO-23 are one check written twice in the norm. They always report together: a single missing reason produces two error codes, not two errors.
What the validator checks
The expression the official KoSIT rule set evaluates — not paraphrased, but read from the Schematron file it ships. UBL and CII address different document trees, so the same rule reads differently in each.
- UBL
exists(cbc:AllowanceChargeReason) or exists(cbc:AllowanceChargeReasonCode)- CII
(../ram:Reason) or (../ram:ReasonCode)
Source: rule set v2026-08-31
How do you fix BR-42?
Set cbc:AllowanceChargeReason or cbc:AllowanceChargeReasonCode inside cac:AllowanceCharge in UBL, ram:Reason or ram:ReasonCode in CII. That clears BR-CO-23 at the same time. Choose the code and BR-CL-19 applies as well: only 19 values from UNCL 5189 are permitted for it. The plain text is bound to no list — write that if in doubt. On the code and the text agreeing, see BR-CO-07 — a rule the validator never reports.
In the XML
A UBL fragment. The CII path is named above — same change, different element names.
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">50.00</cbc:Amount>
</cac:AllowanceCharge>
</cac:InvoiceLine><cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:AllowanceChargeReason>Mengenrabatt</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="EUR">50.00</cbc:Amount>
</cac:AllowanceCharge>
</cac:InvoiceLine>Related rules
NormAPI provides technical validation, not tax or legal advice.