BR-CO-15: Bruttosumme ist nicht Netto plus Umsatzsteuer
Der Rechnungsgesamtbetrag mit Umsatzsteuer (BT-112) muss exakt Nettobetrag (BT-109) plus Steuerbetrag (BT-110) sein. Bricht meist als Folgefehler einer falschen Netto- oder Steuersumme.
Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).
Die simpelste Rechenregel der Norm: Brutto ist Netto plus Steuer. Gerade weil sie so trivial ist, steckt der eigentliche Fehler fast nie in BT-112 selbst, sondern in einem der beiden Summanden.
Was die Regel prüft
Die Norm bezeichnet ihre Felder als Business Terms (BT). Geprüft wird:
BT-112 (Brutto) = BT-109 (Netto) + BT-110 (Umsatzsteuer gesamt)
In der CII-Syntax von ZUGFeRD und XRechnung sind das die Elemente ram:GrandTotalAmount, ram:TaxBasisTotalAmount und ram:TaxTotalAmount in der ram:SpecifiedTradeSettlementHeaderMonetarySummation. Die Gleichung muss auf den Cent aufgehen.
Warum sie in der Praxis fehlschlägt
- Folgefehler. Wurde BT-109 falsch berechnet (BR-CO-13) oder BT-110 falsch gerundet (BR-CO-14, BR-CO-17), stimmt automatisch auch die Bruttosumme nicht mehr, obwohl sie dem entspricht, was auf der Papierrechnung steht. Der Validator meldet dann mehrere Regeln gleichzeitig; behebe sie in der Reihenfolge BR-CO-10 → 13 → 14 → 15.
- Brutto unabhängig berechnet. Manche Systeme rechnen den Bruttobetrag aus den Bruttopositionspreisen und Netto/Steuer separat aus den Nettopreisen. Durch unterschiedliche Rundungswege weichen die Ergebnisse um einen Cent ab.
- Manuell überschriebene Summe. Beim Abtippen einer bestehenden Rechnung wird der Endbetrag aus dem Original übernommen, obwohl sich in den erfassten Positionen ein Cent Unterschied eingeschlichen hat.
So behebst du den Fehler
Setze BT-112 strikt als Addition der beiden anderen Felder, nie als eigenständig berechneten Wert. Wenn dabei ein anderer Endbetrag herauskommt als erwartet, korrigiere die Ursache in Netto oder Steuer statt am Bruttofeld zu drehen. Soll der Zahlbetrag aus kaufmännischen Gründen glatt sein, ist dafür das Rundungsfeld BT-114 in Verbindung mit BR-CO-16 vorgesehen, nicht ein angepasstes Brutto.
Belegschmied bildet BT-112 immer aus BT-109 und BT-110, die Gleichung geht dort konstruktionsbedingt auf.
XML-Beispiel: vorher und nachher
<!-- verletzt BR-CO-15: 450,00 + 85,50 = 535,50, ausgewiesen sind 535,49 -->
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
<ram:TaxBasisTotalAmount>450.00</ram:TaxBasisTotalAmount>
<ram:TaxTotalAmount currencyID="EUR">85.50</ram:TaxTotalAmount>
<ram:GrandTotalAmount>535.49</ram:GrandTotalAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
<!-- korrigiert: Brutto ist exakt Netto plus Steuer -->
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
<ram:TaxBasisTotalAmount>450.00</ram:TaxBasisTotalAmount>
<ram:TaxTotalAmount currencyID="EUR">85.50</ram:TaxTotalAmount>
<ram:GrandTotalAmount>535.50</ram:GrandTotalAmount>
<ram:DuePayableAmount>535.50</ram:DuePayableAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
Rechnung selbst prüfen
Lade deine Datei hoch und sieh in Sekunden, welche Regeln sie besteht und welche nicht. Kostenlos, ohne Anmeldung, nichts wird gespeichert.