Account
Nederlands

BR-CO-12: Som van toeslagen op documentniveau (BT-108) is onjuist

EN 16931-kernregel · Fout · UBL, CII

StandaardEN 16931-1 (Europees semantisch model voor e-facturen)ErnstFout: de factuur wordt geweigerdSyntaxUBL, CIIBedrijfstermen
  • BT-99 Document level charge amount
  • BT-108 Sum of charges on document level
Geldt voorElke EN 16931-factuur: Peppol BIS Billing 3.0, NLCIUS, XRechnung, ZUGFeRD 2.x / Factur-X (profielen EN 16931, EXTENDED, XRECHNUNG) en andere nationale CIUS.

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:LegalMonetaryTotal

Test (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:SpecifiedTradeSettlementHeaderMonetarySummation

Test (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.

Factuur herstellen →

Dezelfde controle via API:

curl -F file=@invoice.xml https://einvoicechecker.com/v1/validate

Gerelateerde regels

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.