Skip to main content

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.

Quick actions

In plain language

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.

Where the field sits

Totals and tax
UBL 2.1 Syntax
  1. Invoice
  2. cac:AllowanceCharge[cbc:ChargeIndicator=true()]
  3. cbc:AllowanceChargeReasonBT-104
CII (UN/CEFACT) Syntax
  1. rsm:CrossIndustryInvoice
  2. rsm:SupplyChainTradeTransaction
  3. ram:ApplicableHeaderTradeSettlement
  4. ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true()]
  5. ram:ReasonBT-104
BT-104 belongs to the Totals and tax part of the invoice. UBL 2.1 Syntax: Invoice › cac:AllowanceCharge[cbc:ChargeIndicator=true()] › cbc:AllowanceChargeReason. CII (UN/CEFACT) Syntax: rsm:CrossIndustryInvoice › rsm:SupplyChainTradeTransaction › ram:ApplicableHeaderTradeSettlement › ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true()] › ram:Reason.

What goes wrong often

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

Valid Examples

  • Handling fee
  • Shipping costs

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

XML Implementation

UBL 2.1 Syntax
/Invoice/cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cbc:AllowanceChargeReason
CII (UN/CEFACT) Syntax
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true()]/ram:Reason

Validation Rules

BR-38

BR-38

BR-CO-22

BR-CO-22

Next step

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.

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

Official sources and tools