Skip to main content

BR-CO-07 Line allowance reason and code must agree

The invoice line allowance reason code (BT-140) and the invoice line allowance reason (BT-139) shall indicate the same type of allowance reason.

Problem Description

The invoice line allowance reason code (BT-140) and the invoice line allowance reason (BT-139) shall indicate the same type of allowance reason.

ERROR

XRechnung 3.0

Context and Significance

This EN16931 core rule enforces semantic agreement between coded and free-text allowance reasons at line level, mirroring the document-level rule BR-CO-05.

Solution

Within the invoice line allowance, make the free-text reason (BT-139) and the coded reason (BT-140) describe the same allowance.

Quick actions

Valid Examples

Use these points as the practical checks for this section.

  • BT-140 = 95 (Discount) with BT-139 = "Sample discount"

Invalid Examples

Use these points as the practical checks for this section.

  • BT-140 = 95 (Discount) with BT-139 = "Packaging surcharge"

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:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
    <cbc:AllowanceChargeReason>Packaging surcharge</cbc:AllowanceChargeReason>
    <cbc:Amount currencyID="EUR">2.00</cbc:Amount>
  </cac:AllowanceCharge>
</cac:InvoiceLine>

Affected Fields

Validation Tools