Skip to main content

BR-38 Document level charge reason or reason code is required

Each Document level charge (BG-21) shall have a Document level charge reason (BT-104) or a Document level charge reason code (BT-105).

Problem Description

Each Document level charge (BG-21) shall have a Document level charge reason (BT-104) or a Document level charge reason code (BT-105).

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 (UNCL7161) to the charge; 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-104 = "Freight"
  • BT-105 = FC (freight charge)

Invalid Examples

Use these points as the practical checks for this section.

  • Document charge with amount only, no reason or reason code

Code Examples

Valid XML
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>FC</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Freight</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="EUR">9.90</cbc:Amount>
</cac:AllowanceCharge>
Invalid XML
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:Amount currencyID="EUR">9.90</cbc:Amount>
</cac:AllowanceCharge>

Affected Fields

Validation Tools