Skip to main content

BR-CL-20 Coded charge reason must come from UNCL7161

When a charge reason is coded (BT-105 at document level, BT-145 at line level), the code must belong to the UNCL7161 code list.

Problem Description

ERROR

EN 16931 code-list rule (BR-CL)

Context and Significance

Charges use UNCL7161, a list of mostly letter codes, while allowances use the numeric UNCL5189 codes (BR-CL-19). The rule fails when an allowance code such as 95 is sent on a charge, when a discount is marked as a charge (ChargeIndicator true), or when a text such as "FREIGHT" sits in the code field. Example: shipping costs added at document level use code FC with the reason "Freight".

Solution

Set the charge reason code to a UNCL7161 value, e.g. FC (freight service), PC (packing), ABL (additional packaging) or SAA (shipping and handling); give any other reason as free text (BT-104 or BT-144). In UBL, the code is cbc:AllowanceChargeReasonCode in a cac:AllowanceCharge with cbc:ChargeIndicator true; in CII, ram:ReasonCode in a ram:SpecifiedTradeAllowanceCharge.

Quick actions

Valid Examples

  • BT-105 = FC β€” freight service
  • BT-145 = ABL β€” additional packaging at line level

Invalid Examples

  • BT-105 = 95 β€” allowance code (UNCL5189) on a charge
  • BT-105 = FREIGHT β€” free text instead of a code

Code Examples

Valid XML
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>FC</cbc:AllowanceChargeReasonCode>
</cac:AllowanceCharge>
Invalid XML
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
</cac:AllowanceCharge>

Affected Fields

Validation Tools