BR-CO-11: Sum of allowances on document level (BT-107) does not match
Official message
[BR-CO-11] Sum of allowances on document level (BT-107) = Σ Document level allowance amount (BT-92).
[BR-CO-11] Sum of allowances on document level (BT-107) = Σ Document level allowance amount (BT-92).
[BR-CO-11] Sum of allowances on document level (BT-107) = Σ Document level allowance amount (BT-92).
- Severity
- Error The invoice is invalid and may be rejected by the recipient.
- Applies to
- EN 16931 (CII), EN 16931 (UBL), Factur-X / ZUGFeRD EN 16931
- Affected fields
- BT-107, BT-92
What does this mean?
The sum of allowances on document level (BT-107) shall equal the sum of the individual document level allowance amounts (BT-92). The value in BT-107 deviates from it or is missing although allowances are present.
Checked: BT-107 = Σ BT-92, the sum rounded to two decimals. Example: 25.00 + 10.00 = 35.00.
Typical causes
An allowance was added, changed or removed without recalculating BT-107.
BT-107 is missing although there is at least one document level allowance.
Invoice line allowances (BT-136) were included in BT-107; they are already contained in the line net amount (BT-131).
Charges (BT-99) were offset against the allowances.
How to fix the error
Calculate BT-107 as the sum of all document level allowance amounts (BT-92) and round it to two decimals.
If there are document level allowances, always state BT-107; without allowances, BT-107 can be omitted.
Recalculate the invoice total without VAT (BT-109) and the totals depending on it (BR-CO-13).
CII: ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:AllowanceTotalAmount, UBL: cac:LegalMonetaryTotal/cbc:AllowanceTotalAmount.
In E-Rechnungsfreund
In the invoice form, BT-107 is calculated from the entries of type "Abschlag (BG-20)" (allowance) in section "Zu-/Abschläge auf Dokumentenebene (BG-20/BG-21)" (document level allowances and charges, expert view "Experte") when the XML is generated, and rounded to two decimals; the value in the field "Summe Abschläge (BT-107)" in section "Belegsummen (BG-22)" (document totals) is not used for this. Check the entries and validate the invoice again.
Example
Wrong
<!-- Document level allowances: BT-92 = 25.00 and 10.00 -->
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
...
<ram:AllowanceTotalAmount>25.00</ram:AllowanceTotalAmount>
...
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
Correct
<!-- Document level allowances: BT-92 = 25.00 and 10.00 -->
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
...
<ram:AllowanceTotalAmount>35.00</ram:AllowanceTotalAmount>
...
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
For developers: test expression per syntax
EN 16931 (CII) (CII)
Context: //ram:SpecifiedTradeSettlementHeaderMonetarySummation
(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[1])* 10 * 10 ) div 100)
EN 16931 (UBL) (UBL)
Context: cac:LegalMonetaryTotal
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()]))
Factur-X / ZUGFeRD EN 16931 (CII)
Technical ID in the source: FX-SCH-A-000118
Context: //ram:SpecifiedTradeSettlementHeaderMonetarySummation
(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)
Related validation rules
- BR-CO-03: Value added tax point date (BT-7) and tax point date code (BT-8) are mutually exclusive
- BR-CO-04: Invoiced item VAT category code (BT-151) is missing
- BR-CO-05: Document level allowance reason code (BT-98) and allowance reason (BT-97) must indicate the same type
- BR-CO-06: Document level charge reason code (BT-105) and charge reason (BT-104) must indicate the same type
- BR-CO-07: Invoice line allowance reason code (BT-140) and allowance reason (BT-139) must indicate the same type
- BR-CO-08: Invoice line charge reason code (BT-145) and charge reason (BT-144) must indicate the same type
Frequently asked questions
Does BT-107 have to be stated if there are no allowances?
No. Without document level allowances, BT-107 may be missing or 0.00. As soon as there is at least one allowance, BT-107 must be stated and equal the sum.
Last updated:
Explanation of the validation rule, not legal or tax advice.