HomeError code lexicon › BR-44
BR-44 Field BT-144 EN 16931 core rules (BR)

Fix BR-44: Invoice line charge reason (BT-144/BT-145) missing

[BR-44]-Each Invoice line charge shall have an Invoice line charge reason or an invoice line allowance reason code.

BR-44 in your own invoice? Upload the file and find every error in seconds.

What does BR-44 mean?

Every charge at line level must state a reason, either as free text or as a reason code. That keeps the surcharge traceable.

Common causes of BR-44

How to fix BR-44

  1. Find the faulty spot in the XML. Open the XML of the invoice and go to field BT-144 along this XPath://ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:Reason
  2. Apply the fix. Every charge at line level (BG-28) needs a reason: either the free text ram:Reason (BT-144) or the reason code ram:ReasonCode (BT-145) from UNTDID 7161. Add at least one of the two elements to the line's ram:SpecifiedTradeAllowanceCharge with ChargeIndicator=true.
  3. Validate again. Save the file and validate it again to check that BR-44 is no longer reported.
Concrete fix

Every charge at line level (BG-28) needs a reason: either the free text ram:Reason (BT-144) or the reason code ram:ReasonCode (BT-145) from UNTDID 7161. Add at least one of the two elements to the line's ram:SpecifiedTradeAllowanceCharge with ChargeIndicator=true.

XPath//ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:Reason

Before / after: the XML example

This is the spot in question before and after the fix (Cross Industry Invoice, ZUGFeRD/Factur-X).

Wrong
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator><udt:Indicator>true</udt:Indicator></ram:ChargeIndicator>
  <ram:ActualAmount>5.00</ram:ActualAmount>
</ram:SpecifiedTradeAllowanceCharge>
Correct
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator><udt:Indicator>true</udt:Indicator></ram:ChargeIndicator>
  <ram:ActualAmount>5.00</ram:ActualAmount>
  <ram:Reason>Eilzuschlag</ram:Reason>
</ram:SpecifiedTradeAllowanceCharge>

Frequent questions about BR-44

Do I have to give both free text and code?
No, one is enough. ram:Reason (BT-144) as plain text or ram:ReasonCode (BT-145) from the UNTDID 7161 list. Both together are allowed but not required.
Which list applies to the charge reason code?
For charges the UNTDID 7161 list, for example 'FC' for freight costs. For allowances UNTDID 5189 applies instead.

Related error codes

Check BR-44 automatically

Instead of digging through the XML by hand you can validate your ZUGFeRD or XRechnung file online – upload the PDF or the XML and you get every error with rule ID, affected field, fix and XPath, as a readable report or as JSON through the API.

Find every error automatically instead of searching by hand

Upload your ZUGFeRD, Factur-X or XRechnung file – you get every violation back with rule ID, field, fix and XPath.

Validate online for free
Check invoice