BR-CO-15: Bruttobetrag stimmt nicht
Die bekannteste Rechenregel der EN 16931: Der Bruttobetrag der Rechnung muss exakt der Summe aus Nettobetrag und Umsatzsteuer entsprechen. Schon ein Cent Abweichung lässt die Prüfung scheitern.
Was bedeutet dieser Fehler?
Regeltext der Prüf-Engine
Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).
Die Regel prüft eine reine Addition auf Dokumentebene: BT-109 + BT-110 = BT-112.
Es gibt keine Toleranz. Rundungsdifferenzen aus der Positionsberechnung müssen über den Rundungsbetrag (BT-114) ausgeglichen werden, nicht durch ein abweichendes Gesamtergebnis.
Wer BT-112 korrigiert, muss BT-115 mitziehen. Der Zahlbetrag baut auf dem Bruttobetrag auf — wird nur BT-112 geändert, verschwindet BR-CO-15 und BR-CO-16 erscheint an seiner Stelle.
Es gibt einen zweiten, weniger bekannten Auslöser: Die Regel setzt genau einen Steuerbetrag in Rechnungswährung voraus. Liegen zwei TaxTotal-Blöcke in derselben Währung vor, oder fehlt am TaxAmount die Währungsangabe, schlägt BR-CO-15 an, obwohl die Summen stimmen. Das entsteht regelmäßig bei Konvertierungen, die zusätzlich den Steuerbetrag in Landeswährung (BT-111) mitschreiben.
Verwechsle die Regel nicht mit BR-CO-16: Die prüft den zu zahlenden Betrag (BT-115) nach Abzug bereits gezahlter Beträge.
Betroffene Felder
- BT-109 — Rechnungssumme ohne Umsatzsteuer cbc:TaxExclusiveAmount (UBL) · ram:TaxBasisTotalAmount (CII)
- BT-110 — Gesamtbetrag der Umsatzsteuer cac:TaxTotal/cbc:TaxAmount (UBL) · ram:TaxTotalAmount (CII)
- BT-112 — Rechnungssumme einschließlich Umsatzsteuer cbc:TaxInclusiveAmount (UBL) · ram:GrandTotalAmount (CII)
Beispiel
❌ FEHLERHAFT
BT-109 (netto): 1.000,00 € BT-110 (USt 19%): 190,00 € BT-112 (brutto): 1.200,00 € BT-115 (zahlbar): 1.200,00 €
1.000,00 + 190,00 = 1.190,00 — nicht 1.200,00.
✓ KORREKT
BT-109 (netto): 1.000,00 € BT-110 (USt 19%): 190,00 € BT-112 (brutto): 1.190,00 € BT-115 (zahlbar): 1.190,00 €
BT-115 gehört mitgeändert. Wer nur BT-112 korrigiert, tauscht BR-CO-15 gegen BR-CO-16 — nachgemessen an der laufenden Engine.
Häufige Ursachen
- Die Bruttosumme wurde manuell überschrieben, die Nettosumme nicht.
- Rundungsdifferenzen aus vielen Positionen summieren sich auf einen Cent.
- Mehrere Steuersätze wurden falsch aggregiert.
- Ein nachträglicher Rabatt wurde nur in einer der drei Summen berücksichtigt.
So behebst du den Fehler
Schritt 1: Die drei Beträge im XML vergleichen
Suche TaxExclusiveAmount, TaxAmount und TaxInclusiveAmount und rechne von Hand nach. Der Validator nennt die betroffene Stelle im XPath.
Schritt 2: Rundung auf zwei Stellen prüfen
Rechne jede Position kaufmännisch auf zwei Nachkommastellen und summiere erst danach. Zuerst summieren und dann runden ergibt abweichende Ergebnisse.
Schritt 3: Differenz über BT-114 ausgleichen
Bleibt ein unvermeidbarer Cent, gehört er in den Rundungsbetrag (BT-114) — nicht in eine stillschweigend abweichende Bruttosumme.
Schritt 4: Den Zahlbetrag mitziehen
Nach jeder Korrektur an BT-112 auch BT-115 prüfen. Beide stehen in derselben Summengruppe (cac:LegalMonetaryTotal bzw. ram:SpecifiedTradeSettlementHeaderMonetarySummation) und werden oft getrennt gepflegt. Bleibt BT-115 stehen, meldet die nächste Prüfung BR-CO-16.
Schritt 5: Wenn alle Summen stimmen: den Steuerblock zählen
Meldet die Prüfung BR-CO-15, obwohl die Addition aufgeht, liegt es am Steuerblock. Prüfe, ob genau ein TaxTotal mit TaxAmount in Rechnungswährung existiert und ob dort die Währung (@currencyID) gesetzt ist. Zwei Blöcke in derselben Währung — etwa durch einen zusätzlich ausgewiesenen Steuerbetrag in Landeswährung — lösen die Regel unabhängig von den Beträgen aus.
Fehler behoben? Jetzt erneut validieren
Prüfe deine korrigierte XRechnung oder ZUGFeRD-Datei kostenlos mit dem KoSIT-Validator.