Account
Nederlands

BR-CO-15: Totaal inclusief btw (BT-112) is niet netto plus btw

EN 16931-kernregel · Fout · UBL, CII

StandaardEN 16931-1 (Europees semantisch model voor e-facturen)ErnstFout: de factuur wordt geweigerdSyntaxUBL, CIIBedrijfstermen
  • BT-109 Invoice total amount without VAT
  • BT-110 Invoice total VAT amount
  • BT-112 Invoice total amount with VAT
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-15] Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).

De normatieve tekst is Engels en wordt ongewijzigd geciteerd.

Waarom deze fout optreedt

Het totaalbedrag van de factuur inclusief btw (BT-112) moet gelijk zijn aan het totaal exclusief btw (BT-109) plus het totale btw-bedrag (BT-110). Daarnaast eist de regel precies één btw-totaal in documentvaluta: in UBL één cac:TaxTotal/cbc:TaxAmount waarvan currencyID gelijk is aan cbc:DocumentCurrencyCode, in CII één ram:TaxTotalAmount met currencyID gelijk aan ram:InvoiceCurrencyCode. De regel faalt bij afrondingsverschillen, bij een ontbrekend currencyID op het belastingbedrag, of wanneer twee TaxTotal-elementen allebei de documentvaluta gebruiken.

Zo lost u het op

Formule: BT-112 = BT-109 + BT-110, afgerond op 2 decimalen. Schrijf in UBL cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount = cbc:TaxExclusiveAmount + cac:TaxTotal/cbc:TaxAmount[@currencyID = documentvaluta]; in CII ram:GrandTotalAmount = ram:TaxBasisTotalAmount + ram:TaxTotalAmount[@currencyID = factuurvaluta]. Elk belastingbedrag heeft het attribuut currencyID nodig. Houd precies één btw-totaal in documentvaluta aan; een tweede is alleen toegestaan in de btw-boekhoudvaluta (BT-111).

Voorbeeld (geldig)

<cac:LegalMonetaryTotal>
  <cbc:LineExtensionAmount currencyID="EUR">200.00</cbc:LineExtensionAmount>
  <cbc:TaxExclusiveAmount currencyID="EUR">200.00</cbc:TaxExclusiveAmount>
  <cbc:TaxInclusiveAmount currencyID="EUR">238.00</cbc:TaxInclusiveAmount>
  <cbc:PayableAmount currencyID="EUR">238.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>

Wat de validator controleert

Gecontroleerd element (context):

UBL

/ubl:Invoice | /cn:CreditNote

Test (XPath):

every $Currency in cbc:DocumentCurrencyCode satisfies (count(cac:TaxTotal/xs:decimal(cbc:TaxAmount[@currencyID=$Currency])) eq 1) and (cac:LegalMonetaryTotal/xs:decimal(cbc:TaxInclusiveAmount) = round( (cac:LegalMonetaryTotal/xs:decimal(cbc:TaxExclusiveAmount) + cac:TaxTotal/xs:decimal(cbc:TaxAmount[@currencyID=$Currency])) * 10 * 10) div 100)

CII

/rsm:CrossIndustryInvoice

Test (XPath):

every $Currency                                  in rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode                                 satisfies (                                     count ( rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=$Currency] ) eq 1 and                                     (//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:GrandTotalAmount) = round(                                      (//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:TaxBasisTotalAmount) +                                      (//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:TaxTotalAmount[@currencyID=$Currency]))) * 10 * 10) div 100)) or                                 (//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:GrandTotalAmount) = (//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:TaxBasisTotalAmount)))

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-15?

BR-CO-15 is een en 16931-kernregel: Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).

Wordt mijn factuur geweigerd vanwege BR-CO-15?

Ja. BR-CO-15 is "fataal"; validators (Peppol-accesspoints, KoSIT, KSeF) weigeren de factuur totdat de fout is opgelost.

Voor welke formaten geldt BR-CO-15?

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.