erroren16931
BR-CO-07:Line allowance reason and code must match
Invoice line allowance reason code (BT-140) and Invoice line allowance reason (BT-139) shall indicate the same type of allowance reason. The reason text must semantically match the UNTDID 5189 code.
Why This Error Matters
Semantic consistency between reason codes and text at the line level prevents ambiguity. When processing systems see code 42, they expect bonus-related text. Mismatches can cause confusion in line-item processing and reporting.
How to Fix It
1
2
3
4
Before & After Fix(BR-CO-07)
Before (Invalid)
<cac:InvoiceLine>\n <cac:AllowanceCharge>\n <cbc:ChargeIndicator>false</cbc:ChargeIndicator>\n <cbc:AllowanceChargeReasonCode>42</cbc:AllowanceChargeReasonCode>\n <cbc:AllowanceChargeReason>Early payment discount</cbc:AllowanceChargeReason>\n <cbc:Amount currencyID="EUR">10.00</cbc:Amount>\n </cac:AllowanceCharge>\n</cac:InvoiceLine>After (Valid)
<cac:InvoiceLine>\n <cac:AllowanceCharge>\n <cbc:ChargeIndicator>false</cbc:ChargeIndicator>\n <cbc:AllowanceChargeReasonCode>42</cbc:AllowanceChargeReasonCode>\n <cbc:AllowanceChargeReason>Other bonus</cbc:AllowanceChargeReason>\n <cbc:Amount currencyID="EUR">10.00</cbc:Amount>\n </cac:AllowanceCharge>\n</cac:InvoiceLine>Before (Invalid)
<cac:InvoiceLine>\n <cac:AllowanceCharge>\n <cbc:ChargeIndicator>false</cbc:ChargeIndicator>\n <cbc:AllowanceChargeReasonCode>42</cbc:AllowanceChargeReasonCode>\n <cbc:AllowanceChargeReason>Early payment discount</cbc:AllowanceChargeReason>\n <cbc:Amount currencyID="EUR">10.00</cbc:Amount>\n </cac:AllowanceCharge>\n</cac:InvoiceLine>After (Valid)
<cac:InvoiceLine>\n <cac:AllowanceCharge>\n <cbc:ChargeIndicator>false</cbc:ChargeIndicator>\n <cbc:AllowanceChargeReasonCode>42</cbc:AllowanceChargeReasonCode>\n <cbc:AllowanceChargeReason>Other bonus</cbc:AllowanceChargeReason>\n <cbc:Amount currencyID="EUR">10.00</cbc:Amount>\n </cac:AllowanceCharge>\n</cac:InvoiceLine>Compare the invalid XML structure with the corrected version. The fix ensures compliance with validation rules.
Code Example
<cac:InvoiceLine>\n <cac:AllowanceCharge>\n <cbc:ChargeIndicator>false</cbc:ChargeIndicator>\n <cbc:AllowanceChargeReasonCode>42</cbc:AllowanceChargeReasonCode>\n <cbc:AllowanceChargeReason>Other bonus</cbc:AllowanceChargeReason>\n <cbc:Amount currencyID="EUR">10.00</cbc:Amount>\n </cac:AllowanceCharge>\n</cac:InvoiceLine>Technical Details
BR-CO-07 validates that when both BT-139 (AllowanceChargeReason) and BT-140 (AllowanceChargeReasonCode) are present on a line-level allowance (ChargeIndicator=false within InvoiceLine), they must describe the same type of allowance. The code uses UNTDID 5189 standard codes.Common Causes
- Copy-paste error from different allowance type
- Code changed but text not updated
- Unknown UNTDID 5189 code meanings
- Template with placeholder text
Frequently Asked Questions
BR-CO-07 occurs when the invoice line allowance reason code (BT-140) and reason text (BT-139) describe different types of allowances. They must indicate the same type according to UNTDID 5189.
Align the line allowance reason code with the reason text. Either update the text to match the UNTDID 5189 code meaning, or change the code to match your text description.
Yes, BR-CO-07 is a business rule violation that can cause invoice rejection. Line-level allowance information must be consistent for proper accounting.
Partially. Invoice Navigator can suggest corrections by mapping common text patterns to UNTDID 5189 codes, but review is recommended for line-level discounts.
See Also
Related Errors
Last updated: 17 January 2026
Share this guide: