BT-92Document level allowance amountBT-107Sum of allowances on document level
Official rule text
[BR-CO-11] Sum of allowances on document level (BT-107) = Σ Document level allowance amount (BT-92).
Why this error occurs
BT-107 must equal the sum of all document level allowance amounts (BT-92). The rule compares cac:LegalMonetaryTotal/cbc:AllowanceTotalAmount with the sum of cbc:Amount of all /Invoice/cac:AllowanceCharge with cbc:ChargeIndicator false (UBL), or ram:AllowanceTotalAmount with the sum of ram:ActualAmount of header ram:SpecifiedTradeAllowanceCharge with indicator false (CII). If there are no document allowances, the total may be omitted. Common causes: line-level allowances are included in the total, or AllowanceTotalAmount is omitted although allowances exist.
How to fix it
Formula: BT-107 = Σ BT-92 (document level allowances only), rounded to 2 decimals. In UBL set cbc:AllowanceTotalAmount in cac:LegalMonetaryTotal to that sum; allowances inside cac:InvoiceLine are already part of the line net amount and must not be counted here. In CII set ram:AllowanceTotalAmount in the header monetary summation. If allowances exist the total element must be present; if none exist, omit it or write 0.00. Amounts are positive values, the sign is expressed by ChargeIndicator.
Example (valid)
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:AllowanceChargeReason>Discount</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="EUR">10.00</cbc:Amount>
<cac:TaxCategory><cbc:ID>S</cbc:ID><cbc:Percent>19</cbc:Percent><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:TaxCategory>
</cac:AllowanceCharge>
<cac:LegalMonetaryTotal>...<cbc:AllowanceTotalAmount currencyID="EUR">10.00</cbc:AllowanceTotalAmount>...</cac:LegalMonetaryTotal>
What the validator checks
Checked element (context):
UBL
cac:LegalMonetaryTotalTest (XPath):
xs:decimal(cbc:AllowanceTotalAmount) = (round(sum(../cac:AllowanceCharge[cbc:ChargeIndicator=false()]/xs:decimal(cbc:Amount)) * 10 * 10) div 100) or (not(cbc:AllowanceTotalAmount) and not(../cac:AllowanceCharge[cbc:ChargeIndicator=false()]))CII
//ram:SpecifiedTradeSettlementHeaderMonetarySummationTest (XPath):
(not(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false()])and not (ram:AllowanceTotalAmount)) or ram:AllowanceTotalAmount = (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false()]/ram:ActualAmount)* 10 * 10 ) div 100)
Check your invoice
Drop your XML or PDF on the validator and every failed rule is linked to its page here. Free, no account, the file is not stored.
Same check via API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validateRelated rules
BR-CO-13Total without VAT (BT-109) does not add upBR-31Each Document level allowance shall have a Document level allowance amountBR-AE-08In a VAT breakdown where the VAT category code is "Reverse charge" the VAT category…BR-AF-08For each different value of VAT category rate where the VAT category code is "IGIC",…BR-AG-08For each different value of VAT category rate where the VAT category code is "IPSI",…BR-DEC-01Document level allowance amount (BT-92) has more than 2 decimalsBR-DEC-10The allowed maximum number of decimals for the Sum of allowanced on document level is 2BR-E-08In a VAT breakdown where the VAT category code is "Exempt from VAT" the VAT category…
Frequently asked questions
What does BR-CO-11 mean?
BR-CO-11 is a en 16931 core rule: Sum of allowances on document level (BT-107) = Σ Document level allowance amount (BT-92).
Will my invoice be rejected because of BR-CO-11?
Yes. BR-CO-11 is flagged "fatal"; validators (KoSIT, Peppol access points, the German ZRE/OZG-RE portals) reject the invoice until it is fixed.
Which formats does BR-CO-11 apply to?
Every EN 16931 invoice: XRechnung, ZUGFeRD 2.x / Factur-X (profiles EN 16931, EXTENDED, XRECHNUNG), Peppol BIS Billing 3.0, and national CIUS such as the Dutch NLCIUS or the Italian/Spanish profiles. Syntax: UBL and CII.
Source: EN 16931-1:2017 schematron (CEN TC434, via Peppol BIS 3.0.20). Catalogue generated from the official schematron on 2026-10-14.