Skip to main content

BR-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

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.

ERROR

XRechnung 3.0

Context and Significance

This EN16931 core rule is the line-level counterpart of BR-CO-22, requiring every line surcharge to be justified.

Solution

For every invoice line charge, add an AllowanceChargeReason (BT-144) and/or AllowanceChargeReasonCode (BT-145).

Quick actions

Valid Examples

Use these points as the practical checks for this section.

  • Line charge with BT-145 = ABL and BT-144 = "Special packaging"

Invalid Examples

Use these points as the practical checks for this section.

  • Line charge amount 3.00 with neither BT-144 nor BT-145

Code Examples

Valid XML
<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>
Invalid XML
<cac:InvoiceLine>
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
    <cbc:Amount currencyID="EUR">3.00</cbc:Amount>
  </cac:AllowanceCharge>
</cac:InvoiceLine>

Affected Fields

Validation Tools