What does BR-CO-5 mean?
The reason text and the reason code of a document level allowance must name the same type. Otherwise the entry is ambiguous.
Common causes of BR-CO-5
- The reason code (BT-98) means a different type of allowance than the reason text (BT-97).
- A standard code was set, but the free text was carried over from an old template.
- Allowance codes (UNTDID 5189) were mixed up with charge codes (UNTDID 7161).
How to fix BR-CO-5
- Find the faulty spot in the XML. Open the XML of the invoice and go to field BT-98 along this XPath:
//ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge - Apply the fix. The reason code (BT-98) and the reason text (BT-97) of a document level allowance must name the same type of allowance. In 'ram:SpecifiedTradeAllowanceCharge' (ChargeIndicator=false), make sure that 'ram:ReasonCode' (BT-98, UNTDID 5189) and 'ram:Reason' (BT-97) match in meaning.
- Validate again. Save the file and validate it again to check that BR-CO-5 is no longer reported.
The reason code (BT-98) and the reason text (BT-97) of a document level allowance must name the same type of allowance. In 'ram:SpecifiedTradeAllowanceCharge' (ChargeIndicator=false), make sure that 'ram:ReasonCode' (BT-98, UNTDID 5189) and 'ram:Reason' (BT-97) match in meaning.
//ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceChargeBefore / after: the XML example
This is the spot in question before and after the fix (Cross Industry Invoice, ZUGFeRD/Factur-X).
<ram:SpecifiedTradeAllowanceCharge>
<ram:ChargeIndicator><udt:Indicator>false</udt:Indicator></ram:ChargeIndicator>
<ram:ReasonCode>95</ram:ReasonCode>
<ram:Reason>Frachtzuschlag</ram:Reason>
</ram:SpecifiedTradeAllowanceCharge>
<ram:SpecifiedTradeAllowanceCharge>
<ram:ChargeIndicator><udt:Indicator>false</udt:Indicator></ram:ChargeIndicator>
<ram:ReasonCode>95</ram:ReasonCode>
<ram:Reason>Rabatt</ram:Reason>
</ram:SpecifiedTradeAllowanceCharge>
Frequent questions about BR-CO-5
Where do the allowance codes for BT-98 come from?
Must the text match the code name word for word?
Related error codes
Check BR-CO-5 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.