HomeError code lexicon › BR-CO-8
BR-CO-8 Field BT-145 Calculation and consistency rules (BR-CO)

Fix BR-CO-8: Invoice line charge reason and code contradict each other (BT-144/BT-145)

[BR-CO-8]-Invoice line charge reason code (BT-145) and Invoice line charge reason (BT-144) shall indicate the same type of charge

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

What does BR-CO-8 mean?

The reason text and the reason code of a charge on line level must name the same type. Otherwise the entry is ambiguous.

Common causes of BR-CO-8

How to fix BR-CO-8

  1. Find the faulty spot in the XML. Open the XML of the invoice and go to field BT-145 along this XPath://ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge
  2. Apply the fix. The reason code (BT-145) and the reason text (BT-144) of an invoice line charge must name the same type of charge. In the line's 'ram:SpecifiedTradeAllowanceCharge' (ChargeIndicator=true), make sure that 'ram:ReasonCode' (BT-145, UNTDID 7161) and 'ram:Reason' (BT-144) match in meaning.
  3. Validate again. Save the file and validate it again to check that BR-CO-8 is no longer reported.
Concrete fix

The reason code (BT-145) and the reason text (BT-144) of an invoice line charge must name the same type of charge. In the line's 'ram:SpecifiedTradeAllowanceCharge' (ChargeIndicator=true), make sure that 'ram:ReasonCode' (BT-145, UNTDID 7161) and 'ram:Reason' (BT-144) match in meaning.

XPath//ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge

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:ReasonCode>PC</ram:ReasonCode>
  <ram:Reason>Frachtkosten</ram:Reason>
</ram:SpecifiedTradeAllowanceCharge>
Correct
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator><udt:Indicator>true</udt:Indicator></ram:ChargeIndicator>
  <ram:ReasonCode>PC</ram:ReasonCode>
  <ram:Reason>Verpackung</ram:Reason>
</ram:SpecifiedTradeAllowanceCharge>

Frequent questions about BR-CO-8

Which code list applies to BT-145?
UNTDID 7161, for example 'PC' for packing or 'FC' for freight cost. The reason text (BT-144) must describe the same type of charge.
How does this relate to BR-CO-24?
BR-CO-24 demands that an invoice line charge has a reason at all (code or text). BR-CO-08 demands on top of that: if both are set, code and text must mean the same type.

Related error codes

Check BR-CO-8 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