BR-42

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-01-31

Official rule text

Each Invoice line allowance (BG-27) shall have an Invoice line allowance reason (BT-139) or an Invoice line allowance reason code (BT-140).

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.

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. On the code and the text agreeing, see BR-CO-23 as well.

In the XML

A UBL fragment. The CII path is named above — same change, different element names.

Fails
<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>
Fixed
<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>

NormAPI provides technical validation, not tax or legal advice.