# BR-44 Invoice line charge reason or reason code is required

Each Invoice line charge (BG-28) shall have an Invoice line charge reason (BT-144) or an Invoice line charge reason code (BT-145).

## Problem Description

> **ERROR**: EN 16931 core business rule (CEN)

## Context and Significance

This is an EN 16931 core rule and the charge counterpart of BR-42. The buyer must be able to identify what an extra line cost is for, for example handling or an express surcharge. The error appears when only the line charge amount is exported without a reason text or UNCL7161 code; provide at least one. If both are given, BR-CO-08 requires that they describe the same reason.

## Solution

Add cbc:AllowanceChargeReason text or cbc:AllowanceChargeReasonCode (UNCL7161) to the line charge; if both are given they must describe the same reason.

- [Validate XML](/en/xrechnung-validator?source=resource&rule=BR-44)
- [Convert invoice](/en/pdf-to-xrechnung?source=resource&rule=BR-44)

## Valid Examples

- BT-144 = "Handling"
- BT-145 = ABK (miscellaneous)

## Invalid Examples

- Line charge with amount only, no reason or reason code

## Code Examples

### Valid XML
```
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>ABK</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Handling</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="EUR">1.50</cbc:Amount>
</cac:AllowanceCharge>
```

### Invalid XML
```
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:Amount currencyID="EUR">1.50</cbc:Amount>
</cac:AllowanceCharge>
```

## Affected Fields

- [BT-144 Invoice line charge reason](/resources/xrechnung/bt-144-invoice-line-charge-reason)
- [BT-145 Invoice line charge reason code](/resources/xrechnung/bt-145-invoice-line-charge-reason-code)

## Related Rules

- [BR-43](/resources/kosit-validator-errors/br-43-line-charge-amount-required)
- [BR-CO-08](/resources/kosit-validator-errors/br-co-08-line-charge-reason-code-match)

## Validation Tools

- [Official KoSIT Validator](https://github.com/itplr-kosit/validator): Run the official KoSIT validator with the XRechnung configuration to check EN 16931 and XRechnung rules.
- [Convert PDF to XRechnung](/pdf-to-xrechnung): Find validation errors during conversion and review each correction.

## Related Resources

- [Official Specification](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/)
- [Test Suite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [All validation errors](/resources/kosit-validator-errors): Overview of the EN 16931, XRechnung and Peppol validation rules explained here.
