HomeError code lexicon › BR-CO-12
BR-CO-12 Field BT-108 Calculation and consistency rules (BR-CO)

Fix BR-CO-12: Sum of charges (BT-108) does not add up

[BR-CO-12]-Sum of charges on document level (BT-108) = Σ Document level charge amount (BT-99).

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

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

How to fix BR-CO-12

  1. 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
  2. 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.
  3. Validate again. Save the file and validate it again to check that BR-CO-12 is no longer reported.
Concrete 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.

XPath//ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:ChargeTotalAmount

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>15.00</ram:ActualAmount>
</ram:SpecifiedTradeAllowanceCharge>
<ram:ChargeTotalAmount>0.00</ram:ChargeTotalAmount>
Correct
<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?
No. BT-108 sums only document level charges (BT-99). Line level charges (BT-141) already sit in the invoice line net amount and are not counted twice here.
Must BT-108 be present even if there are no charges?
Without document level charges the sum is zero. Many systems then set ram:ChargeTotalAmount to 0.00; leaving it out is equally allowed, as long as the arithmetic works out.

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.

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