Skip to main content

BR-42 Invoice line allowance reason or reason code is required

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

Problem Description

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

ERROR

XRechnung 3.0

Context and Significance

This rule comes from the EN16931 core semantic model enforced by the KoSIT XRechnung 3.0.2 Schematron, ensuring invoices carry the mandatory data needed for automated processing.

Solution

Add cbc:AllowanceChargeReason text or cbc:AllowanceChargeReasonCode (UNCL5189) to the line allowance; if both are given they must describe the same reason.

Quick actions

Valid Examples

Use these points as the practical checks for this section.

  • BT-139 = "Damaged packaging"
  • BT-140 = 95 (discount)

Invalid Examples

Use these points as the practical checks for this section.

  • Line allowance with amount only, no reason or reason code

Code Examples

Valid XML
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Damaged packaging</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="EUR">3.00</cbc:Amount>
</cac:AllowanceCharge>
Invalid XML
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:Amount currencyID="EUR">3.00</cbc:Amount>
</cac:AllowanceCharge>

Affected Fields

Validation Tools