# BT-104 Document level charge reason

Text reason for the document-level charge.

## Quick answer

> **Discounts and charges**: Document-level discounts, surcharges, and the tax data attached to them.

- [Validate XML](/en/xrechnung-validator?source=resource&bt=BT-104)
- [Convert invoice](/en/pdf-to-xrechnung?source=resource&bt=BT-104)

## In plain language

Text reason for the document-level charge.

Text reason for the document-level charge.

Document-level allowances reduce the invoice total; document-level charges increase it. ChargeIndicator selects the BG-20 allowance or BG-21 charge interpretation in UBL/CII.

## What you usually enter here

Free text

Typical valid values include: Handling fee, Shipping costs

Either BT-104 or BT-105 must be present for each document-level charge.

## What goes wrong often

Avoid values like:

Relevant rule codes: BR-38, BR-CO-22

## Examples in context

Document-level allowances reduce the invoice total; document-level charges increase it. ChargeIndicator selects the BG-20 allowance or BG-21 charge interpretation in UBL/CII.

Either BT-104 or BT-105 must be present for each document-level charge.

## Valid Examples

- Handling fee
- Shipping costs

## Related Fields

Document-level allowances reduce the invoice total; document-level charges increase it. ChargeIndicator selects the BG-20 allowance or BG-21 charge interpretation in UBL/CII.

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

## XML mapping and field facts

Open the technical reference if you need XML paths, validator rule codes, legal wording, or schema-specific mapping details.

### Field ID:
BT-104

### Data Type:
text

### Cardinality:
0..1

### Requirement:
Optional

### Max Length:
500 characters

### Since Version:
Optional

## XML Implementation

### UBL 2.1 Syntax
```
/Invoice/cac:AllowanceCharge/cbc:AllowanceChargeReason
```

### CII (UN/CEFACT) Syntax
```
/CrossIndustryInvoice/SupplyChainTradeTransaction/ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:Reason
```

## Validation Rules

### BR-38
BR-38

### BR-CO-22
BR-CO-22

## Check whether your XRechnung sets BT-104 correctly

Upload the XML file to the free validator. It applies the KoSIT rules for XRechnung 3.0 and names each finding with its rule ID, for this field for example BR-38, BR-CO-22. Creating a new invoice instead? The converter checks the invoice against the same rules and shows the findings before download.

- [Validate XML](/en/xrechnung-validator)
- [Convert invoice](/en/pdf-to-xrechnung)

Free, no account needed. XML file up to 2 MB.

## Why the standard cares about this field

### Business Context
Document-level allowances reduce the invoice total; document-level charges increase it. ChargeIndicator selects the BG-20 allowance or BG-21 charge interpretation in UBL/CII.

### Legal Requirement
Either BT-104 or BT-105 must be present for each document-level charge.

## Official sources and tools

- [KoSIT Validator](https://erechnungsvalidator.service-bw.de/)
- [XRechnung Standard](https://xeinkauf.de/xrechnung/)
- [Test Suite](https://github.com/itplr-kosit/xrechnung-testsuite)
