Reference
Markdown exportBR-CO-23 Line allowance needs a reason or reason code
Each invoice line allowance (BG-27) shall contain an invoice line allowance reason (BT-139) or an invoice line allowance reason code (BT-140), or both.
Problem Description
Each invoice line allowance (BG-27) shall contain an invoice line allowance reason (BT-139) or an invoice line allowance reason code (BT-140), or both.
ERROR
XRechnung 3.0
Context and Significance
This EN16931 core rule is the line-level counterpart of BR-CO-21, requiring every line deduction to be justified.
Solution
For every invoice line allowance, add an AllowanceChargeReason (BT-139) and/or AllowanceChargeReasonCode (BT-140).
Quick actions
Valid Examples
Use these points as the practical checks for this section.
- Line allowance with BT-140 = 95 and BT-139 = "Sample discount"
Invalid Examples
Use these points as the practical checks for this section.
- Line allowance amount 2.00 with neither BT-139 nor BT-140
Code Examples
Valid XML
<cac:InvoiceLine>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>Sample discount</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="EUR">2.00</cbc:Amount>
</cac:AllowanceCharge>
</cac:InvoiceLine>Invalid XML
<cac:InvoiceLine>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">2.00</cbc:Amount>
</cac:AllowanceCharge>
</cac:InvoiceLine>