BT-99Document level charge amountBT-108Sum of charges on document level
Officiële regeltekst
[BR-CO-12] Sum of charges on document level (BT-108) = Σ Document level charge amount (BT-99).
De normatieve tekst is Engels en wordt ongewijzigd geciteerd.
Waarom deze fout optreedt
BT-108 moet gelijk zijn aan de som van alle toeslagbedragen op documentniveau (BT-99). De regel vergelijkt cac:LegalMonetaryTotal/cbc:ChargeTotalAmount met de som van cbc:Amount van alle /Invoice/cac:AllowanceCharge met cbc:ChargeIndicator true (UBL), of ram:ChargeTotalAmount met de som van ram:ActualAmount van de ram:SpecifiedTradeAllowanceCharge in de header met indicator true (CII). Gangbare oorzaken zijn verzend- of verpakkingskosten die als factuurregel zijn gemodelleerd terwijl ChargeTotalAmount toch gevuld is, of toeslagen op regelniveau die op documentniveau worden meegeteld.
Zo lost u het op
Formule: BT-108 = Σ BT-99 (alleen toeslagen op documentniveau), afgerond op 2 decimalen. Zet in UBL cbc:ChargeTotalAmount in cac:LegalMonetaryTotal; zet in CII ram:ChargeTotalAmount in de totalen van de header. Zijn er toeslagen, dan moet het totaal aanwezig zijn; zijn er geen, laat het element dan weg of schrijf 0.00. Kies één modellering: vrachtkosten zijn óf een toeslag op documentniveau (hier meegeteld) óf een factuurregel (meegeteld in BT-106), nooit beide.
Voorbeeld (geldig)
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReason>Freight</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="EUR">5.90</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:ChargeTotalAmount currencyID="EUR">5.90</cbc:ChargeTotalAmount>...</cac:LegalMonetaryTotal>
Wat de validator controleert
Gecontroleerd element (context):
UBL
cac:LegalMonetaryTotalTest (XPath):
xs:decimal(cbc:ChargeTotalAmount) = (round(sum(../cac:AllowanceCharge[cbc:ChargeIndicator=true()]/xs:decimal(cbc:Amount)) * 10 * 10) div 100) or (not(cbc:ChargeTotalAmount) and not(../cac:AllowanceCharge[cbc:ChargeIndicator=true()]))CII
//ram:SpecifiedTradeSettlementHeaderMonetarySummationTest (XPath):
(not(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true()])and not (ram:ChargeTotalAmount)) or ram:ChargeTotalAmount = (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true()]/ram:ActualAmount)* 10 * 10 ) div 100)
Automatisch herstellen
Deze fout kan automatisch worden hersteld: na uw bevestiging herberekent de checker totalen en btw uit de regelbedragen.
Dezelfde controle via API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validateGerelateerde regels
BR-CO-13Totaal exclusief btw (BT-109) klopt nietBR-36Elke toeslag op documentniveau moet een toeslagbedrag hebbenBR-AE-08In een btw-uitsplitsing met categorie "Verlegd"…BR-AF-08Voor elk afzonderlijk btw-tarief in categorie "IGIC",…BR-AG-08Voor elk afzonderlijk btw-tarief in categorie "IPSI",…BR-DEC-05Maximaal aantal decimalen voor het bedrag van de toeslag op documentniveau is 2BR-DEC-11Maximaal aantal decimalen voor het totaal van de toeslagen op documentniveau is 2BR-E-08In een btw-uitsplitsing met categorie "Vrijgesteld van btw"…
Veelgestelde vragen
Wat betekent BR-CO-12?
BR-CO-12 is een en 16931-kernregel: Sum of charges on document level (BT-108) = Σ Document level charge amount (BT-99).
Wordt mijn factuur geweigerd vanwege BR-CO-12?
Ja. BR-CO-12 is "fataal"; validators (Peppol-accesspoints, KoSIT, KSeF) weigeren de factuur totdat de fout is opgelost.
Voor welke formaten geldt BR-CO-12?
Elke EN 16931-factuur: Peppol BIS Billing 3.0, NLCIUS, XRechnung, ZUGFeRD 2.x / Factur-X (profielen EN 16931, EXTENDED, XRECHNUNG) en andere nationale CIUS. Syntax: UBL en CII.
Bron: EN 16931-1:2017 schematron (CEN TC434, via Peppol BIS 3.0.20). Catalogus gegenereerd uit de officiële regelsets op 2026-10-15.