# 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

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.

> **ERROR**: XRechnung 3.0

## Context and Significance

This EN16931 core code-list rule standardises why an amount is added, aiding automated posting.

## Solution

Set the charge reason code to a UNCL7161 value such as FC (freight service), PC (packing) or AA (advertising); use the free-text reason for anything not covered.

- validate
- convert

## Valid Examples

- BT-105 = FC — freight service
- BT-145 = PC — packing charge at line level

## Invalid Examples

- BT-105 = FREIGHT — free text instead of a code
- BT-105 = 99 — not part of UNCL7161

## 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>FREIGHT</cbc:AllowanceChargeReasonCode>
</cac:AllowanceCharge>
```

## Affected Fields

- [BT-105 Document level charge reason code](/resources/xrechnung/bt-105-document-level-charge-reason-code)
- [BT-145 Line level charge reason code](/resources/xrechnung/bt-145-invoice-line-charge-reason-code)

## Related Rules

- [BR-CL-19](/resources/kosit-validator-errors/br-cl-19-uncl5189-allowance-reason)

## Validation Tools

- [Official KoSIT Validator](https://erechnungsvalidator.service-bw.de/): Validate your XRechnung files against all BR-DE rules.
- [Convert PDF to XRechnung](/pdf-to-xrechnung): Automatic validation error fixes when converting.

## Related Resources

- [Official Specification](https://xeinkauf.de/xrechnung/)
- [Test Suite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Complete Error List](/resources/kosit-validator-errors): Overview of all German XRechnung validation rules.
