What does BR-CO-12 mean?
The stated sum of charges on document level must equal the sum of the individual charge amounts.
Common causes of BR-CO-12
- A document level charge was left out of the sum BT-108.
- Rounding difference between the individual amounts and the total.
- Line level charges were wrongly included in ram:ChargeTotalAmount, although only document level charges count there.
How to fix BR-CO-12
- Find the faulty spot in the XML. Open the XML of the invoice and go to field BT-108 along this XPath:
//ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:ChargeTotalAmount - Apply the fix. The sum of charges on document level (BT-108) must equal the sum of all individual charge amounts (BT-99): BT-108 = sum of BT-99. Correct ram:ChargeTotalAmount so that it maps exactly to the sum of all ram:ActualAmount from the document level charges (ChargeIndicator=true). Usually the total BT-108 is wrong or a charge is missing from the sum.
- Validate again. Save the file and validate it again to check that BR-CO-12 is no longer reported.
The sum of charges on document level (BT-108) must equal the sum of all individual charge amounts (BT-99): BT-108 = sum of BT-99. Correct ram:ChargeTotalAmount so that it maps exactly to the sum of all ram:ActualAmount from the document level charges (ChargeIndicator=true). Usually the total BT-108 is wrong or a charge is missing from the sum.
//ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:ChargeTotalAmountBefore / 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>true</udt:Indicator></ram:ChargeIndicator>
<ram:ActualAmount>15.00</ram:ActualAmount>
</ram:SpecifiedTradeAllowanceCharge>
<ram:ChargeTotalAmount>0.00</ram:ChargeTotalAmount>
<ram:SpecifiedTradeAllowanceCharge>
<ram:ChargeIndicator><udt:Indicator>true</udt:Indicator></ram:ChargeIndicator>
<ram:ActualAmount>15.00</ram:ActualAmount>
</ram:SpecifiedTradeAllowanceCharge>
<ram:ChargeTotalAmount>15.00</ram:ChargeTotalAmount>
Frequent questions about BR-CO-12
Do line level charges count towards BT-108?
Must BT-108 be present even if there are no charges?
Related error codes
Check BR-CO-12 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.