Skip to main content

BR-CO-21 Document allowance needs a reason or reason code

Each document level allowance (BG-20) shall contain a document level allowance reason (BT-97) or a document level allowance reason code (BT-98), or both.

Problem Description

Each document level allowance (BG-20) shall contain a document level allowance reason (BT-97) or a document level allowance reason code (BT-98), or both.

ERROR

XRechnung 3.0

Context and Significance

This EN16931 core rule ensures every deduction is justified so buyers and auditors can see why the amount was subtracted.

Solution

For every document level allowance, add an AllowanceChargeReason (BT-97) and/or AllowanceChargeReasonCode (BT-98).

Quick actions

Valid Examples

Use these points as the practical checks for this section.

  • Document allowance with BT-98 = 95 and BT-97 = "Volume discount"

Invalid Examples

Use these points as the practical checks for this section.

  • Document allowance amount 10.00 with neither BT-97 nor BT-98

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">10.00</cbc:Amount>
</cac:AllowanceCharge>
Invalid XML
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:Amount currencyID="EUR">10.00</cbc:Amount>
</cac:AllowanceCharge>

Affected Fields

Validation Tools