Skip to main content

BR-33 Document level allowance reason or reason code is required

Each Document level allowance (BG-20) shall have a Document level allowance reason (BT-97) or a Document level allowance reason code (BT-98).

Problem Description

Each Document level allowance (BG-20) shall have a Document level allowance reason (BT-97) or a Document level allowance reason code (BT-98).

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 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-97 = "Volume discount"
  • BT-98 = 95 (discount)

Invalid Examples

Use these points as the practical checks for this section.

  • Document 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>Volume discount</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="EUR">20.00</cbc:Amount>
</cac:AllowanceCharge>
Invalid XML
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:Amount currencyID="EUR">20.00</cbc:Amount>
</cac:AllowanceCharge>

Affected Fields

Validation Tools