Reference
Markdown exportBR-CO-24 Line charge needs a reason or reason code
Each invoice line charge (BG-28) shall contain an invoice line charge reason (BT-144) or an invoice line charge reason code (BT-145), or both.
Problem Description
ERROR
EN 16931 calculation and consistency rule (BR-CO)
Context and Significance
This rule is the line-level counterpart of BR-CO-22: every invoice line charge (UBL: cac:InvoiceLine/cac:AllowanceCharge with cbc:ChargeIndicator = true) needs a reason or a reason code, for example ABL (Additional packaging). The error often occurs when surcharges such as extra packaging or small-quantity fees are exported only as an amount on the line.
Solution
For every invoice line charge, add a reason (BT-144) and/or a reason code (BT-145): cbc:AllowanceChargeReason / cbc:AllowanceChargeReasonCode in cac:InvoiceLine/cac:AllowanceCharge in UBL, ram:Reason / ram:ReasonCode in ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge in CII.
Quick actions
Valid Examples
- Line charge with BT-145 = ABL and BT-144 = "Special packaging"
Invalid Examples
- Line charge amount 3.00 with neither BT-144 nor BT-145
Code Examples
<cac:InvoiceLine>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>ABL</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>Special packaging</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="EUR">3.00</cbc:Amount>
</cac:AllowanceCharge>
</cac:InvoiceLine><cac:InvoiceLine>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">3.00</cbc:Amount>
</cac:AllowanceCharge>
</cac:InvoiceLine>