BT-107Sum of allowances on document levelBT-108Sum of charges on document levelBT-109Invoice total amount without VATBT-131Invoice line net amount
Offizieller Regeltext
[BR-CO-13] Invoice total amount without VAT (BT-109) = Σ Invoice line net amount (BT-131) - Sum of allowances on document level (BT-107) + Sum of charges on document level (BT-108).
Der normative Text ist Englisch und wird unverändert zitiert.
Warum dieser Fehler auftritt
Der Rechnungsgesamtbetrag ohne Umsatzsteuer (BT-109) muss der Summe der Positionsnettobeträge (BT-106) abzüglich der Nachlässe (BT-107) zuzüglich der Zuschläge auf Dokumentebene (BT-108) entsprechen. Die Regel prüft cac:LegalMonetaryTotal/cbc:TaxExclusiveAmount gegen cbc:LineExtensionAmount, cbc:AllowanceTotalAmount und cbc:ChargeTotalAmount (UBL) bzw. ram:TaxBasisTotalAmount gegen ram:LineTotalAmount, ram:AllowanceTotalAmount und ram:ChargeTotalAmount (CII). Abweichungen entstehen meist, wenn die Software BT-109 aus der Steueraufschlüsselung oder aus Bruttosummen ableitet statt aus diesen drei Feldern.
So beheben Sie den Fehler
Formel: BT-109 = BT-106 - BT-107 + BT-108, auf 2 Nachkommastellen gerundet; fehlende BT-107 oder BT-108 zählen als 0. In UBL das Ergebnis in cbc:TaxExclusiveAmount schreiben, in CII in ram:TaxBasisTotalAmount. Zuerst sicherstellen, dass BT-106, BT-107 und BT-108 selbst stimmen (BR-CO-10 bis BR-CO-12), dann BT-109 aus den tatsächlich geschriebenen Werten neu berechnen. Umsatzsteuer, Rundungsbetrag und Anzahlungen gehören nicht hinein.
Beispiel (gültig)
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">250.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">245.90</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">292.62</cbc:TaxInclusiveAmount>
<cbc:AllowanceTotalAmount currencyID="EUR">10.00</cbc:AllowanceTotalAmount>
<cbc:ChargeTotalAmount currencyID="EUR">5.90</cbc:ChargeTotalAmount>
<cbc:PayableAmount currencyID="EUR">292.62</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
Was der Validator prüft
Geprüftes Element (Kontext):
UBL
cac:LegalMonetaryTotalTest (XPath):
((cbc:ChargeTotalAmount) and (cbc:AllowanceTotalAmount) and (xs:decimal(cbc:TaxExclusiveAmount) = round((xs:decimal(cbc:LineExtensionAmount) + xs:decimal(cbc:ChargeTotalAmount) - xs:decimal(cbc:AllowanceTotalAmount)) * 10 * 10) div 100 )) or (not(cbc:ChargeTotalAmount) and (cbc:AllowanceTotalAmount) and (xs:decimal(cbc:TaxExclusiveAmount) = round((xs:decimal(cbc:LineExtensionAmount) - xs:decimal(cbc:AllowanceTotalAmount)) * 10 * 10 ) div 100)) or ((cbc:ChargeTotalAmount) and not(cbc:AllowanceTotalAmount) and (xs:decimal(cbc:TaxExclusiveAmount) = round((xs:decimal(cbc:LineExtensionAmount) + xs:decimal(cbc:ChargeTotalAmount)) * 10 * 10 ) div 100)) or (not(cbc:ChargeTotalAmount) and not(cbc:AllowanceTotalAmount) and (xs:decimal(cbc:TaxExclusiveAmount) = xs:decimal(cbc:LineExtensionAmount)))CII
//ram:SpecifiedTradeSettlementHeaderMonetarySummationTest (XPath):
(xs:decimal(ram:TaxBasisTotalAmount) = round((xs:decimal(ram:LineTotalAmount) - xs:decimal(ram:AllowanceTotalAmount) + xs:decimal(ram:ChargeTotalAmount)) *10 * 10) div 100) or ((xs:decimal(ram:TaxBasisTotalAmount) = round((xs:decimal(ram:LineTotalAmount) - xs:decimal(ram:AllowanceTotalAmount)) *10 * 10) div 100) and not (ram:ChargeTotalAmount)) or ((xs:decimal(ram:TaxBasisTotalAmount) = round((xs:decimal(ram:LineTotalAmount) + xs:decimal(ram:ChargeTotalAmount)) *10 * 10) div 100) and not (ram:AllowanceTotalAmount)) or ((xs:decimal(ram:TaxBasisTotalAmount) = round((xs:decimal(ram:LineTotalAmount)) *10 * 10) div 100) and not (ram:ChargeTotalAmount) and not (ram:AllowanceTotalAmount))
Rechnung prüfen
Legen Sie Ihre XML- oder PDF-Datei im Validator ab; jede verletzte Regel ist mit ihrer Seite hier verlinkt. Kostenlos, ohne Konto, die Datei wird nicht gespeichert.
Dieselbe Prüfung per API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validateVerwandte Regeln
BR-CO-10Summe der Positionsnettobeträge (BT-106) passt nicht zu den ZeilenBR-CO-11Summe der Nachlässe auf Dokumentebene (BT-107) ist falschBR-CO-12Summe der Zuschläge auf Dokumentebene (BT-108) ist falschBR-CO-15Bruttosumme (BT-112) ist nicht Netto plus UmsatzsteuerBR-13An Invoice shall have the Invoice total amount without VATBR-24Each Invoice line shall have an Invoice line net 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",…
Häufige Fragen
Was bedeutet BR-CO-13?
BR-CO-13 ist eine EN-16931-Kernregel: Invoice total amount without VAT (BT-109) = Σ Invoice line net amount (BT-131) - Sum of allowances on document level (BT-107) + Sum of charges on document level (BT-108).
Wird meine Rechnung wegen BR-CO-13 abgelehnt?
Ja. BR-CO-13 ist als „fatal“ eingestuft; Validatoren (KoSIT, Peppol Access Points, ZRE/OZG-RE) weisen die Rechnung zurück, bis der Fehler behoben ist.
Für welche Formate gilt BR-CO-13?
Jede EN-16931-Rechnung: XRechnung, ZUGFeRD 2.x / Factur-X (Profile EN 16931, EXTENDED, XRECHNUNG), Peppol BIS Billing 3.0 sowie nationale CIUS. Syntax: UBL und CII.
Quelle: EN 16931-1:2017 schematron (CEN TC434, via Peppol BIS 3.0.20). Katalog erzeugt aus dem offiziellen Schematron am 2026-10-14.