So kommen Rundungsdifferenzen auf Rechnungen zustande
Product line
Standard
|Expert
Operating mode
CLOUD ABO
|ON-PREMISES
Modules
Services & CRM
Budget & Phases
Purchases
Resource Planning
Business Intelligence
Immer wieder kommen Fragen auf, wie Vertec rundet, wenn es zu Abweichungen auf Rechnungen kommt, insbesondere bei der Mehrwertsteuer bzw. Umsatzsteuer.
Grundsätzlich kann davon ausgegangen werden, dass Vertec richtig rechnet und rundet. Wie das genau geschieht, finden Sie im Artikel Runden in Vertec beschrieben.
Trotzdem kann es zu Rundungsdifferenzen kommen, für die es jedoch gute Gründe gibt. Bei der Analyse, wie diese zustande kommen, soll dieser Artikel weiterhelfen.
Die Werte in Vertec werden auf den bei der entsprechenden Währung angegebenen Rundungsschritt gerundet. Üblicherweise ist das in der Schweiz CHF 0.05, in Deutschland und Österreich EUR 0,01.
Eine Rundung auf 1 Cent (EUR 0,01) ist gleichbedeutend mit einer Rundung auf zwei Nachkommastellen. Auch das ist eine Rundung. Hier zur Veranschaulichung ein Beispiel:
Das bedeutet: Eine Rundung bei der MWST ist hier Pflicht, denn kein Bankkonto, keine Finanzbuchhaltung und kein Zahlungssystem wird einen Geldbetrag von EUR 20,4250 verarbeiten können.
Das bedeutet auch: Der gerundete Betrag ist NICHT MEHR 19% des ursprünglichen Wertes: im Fall EUR 20,43 sind es 19.0046512%.
Das Hauptproblem mit Runden ist, dass auf einer Liste von Werten die Methode Zuerst runden, dann summieren
NICHT das gleiche Resultat gibt wie Zuerst summieren, dann runden
.
Hier zur Veranschaulichung ein Beispiel in Excel:
Bei der Methode Summieren, dann runden
hat man zwar am Schluss ein möglichst gutes Resultat, wenn man nur die Summe anschaut und dann rundet: CHF 3'316.05.
Allerdings darf man keine Zwischensummen bilden, welche man rundet, weil man sie zum Beispiel mit 2 Nachkommastellen ausweisen oder die Zahlen an eine Finanzbuchhaltung übergeben will.
Hier das Beispiel mit den genau gleichen Zahlen:
Mit einer Zwischensumme ergibt sich schon wieder eine Abweichung: CHF 3'316.10.
Bei der Methode Runden, dann summieren
sehen die einzelnen Werte oder allfällige Zwischensummen gut aus - wenn man sie z.B. mit 2 Nachkommastellen ausweisen oder die Zahlen an eine Finanzbuchhaltung übergeben will.
Die Gesamtsumme wird aus den gerundeten einzelnen Werten bzw. Zwischensummen gebildet.
Da Vertec nicht wissen kann, welche Zwischensumme verlangt ist, setzen wir standardmässig die Methode Runden, dann summieren
ein - da die Summe von Zwischensummen so sicher wieder die Gesamtsumme ergibt.
Die einfache Antwort ist: Diejenigen, die der User von Vertec verlangt. Es geht dabei vor allem darum, welche Einzelbeträge man in der Finanzbuchhaltung sehen will. Da sind die Attribute MWST-Code, Ertragskonto und Kostenstelle relevant.
Für jede Buchungszeile muss Vertec eine Zwischensumme bilden, und jede Zeile muss in sich konsistent sein in Bezug auf den MWST-Betrag, da sonst die Finanzbuchhaltung die Buchung ablehnen könnte.
Für die Fibu müssen 2 Dinge erfüllt sein:
Um Rundungsdifferenzen auszuweichen, wird nicht der für jeden Speseneintrag einzeln berechnete MWST-Betrag summiert, wie das der reinen Methode runden, dann summieren
entsprechen würde. Zuerst wird eruiert, welche Zwischensummen gebildet werden müssen, und für diese dann die MWST gerundet und am Schluss summiert.
Natürlich werden bei den Zwischensummen auch die Nettobeträge gerundet. Falls es hier eine Differenz gibt zur Methode summieren, dann runden
, dann wird die Differenz auf den Nettobetrag der grössten Zwischensumme geschlagen. Die Summe der Nettobeträge geht also immer auf.
Eine mögliche Differenz beim MWST-Betrag einfach auf den grössten Posten draufzuschlagen wie bei der Nettozahl geht nicht, weil dann Netto * MWST-Satz nicht dem Bruttobetrag entsprechen würde.
Zum Beispiel nehmen wir eine Rechnung, bei welcher Vertec so konfiguriert wurde, dass für jeden einzelnen Speseneintrag eine Buchung = Zwischensumme verlangt wird. Die unterschiedlichen Ertragskonti erfordern folgende Aufteilung:
Schauen wir den MWST Betrag der einzelnen Speseneinträge an, dann sehen wir, dass es natürlich genau diese Beträge sind, weil die Rundung ja die gleiche ist:
Befreit man hingegen Vertec von der Pflicht, Zwischensummen zu bilden, dann sieht es so aus auf der Rechnung:
Der Wert ist der erwartete Wert, wenn man einfach nur die Summe der Nettobeträge anschaut. Schaut man die gerundeten MWST-Beträge der einzelnen Speseneinträge an, so gibt die Summe von diesen immer noch CHF 565.83.
Bei Leistungen gibt es recht viel Code in Bezug auf Rabatte, Pauschalphasen (mit oder ohne Leistungen), Pauschalen etc.
Auch hier werden Differenzen, die vom Runden her entstehen, auf den grössten Posten verteilt, nachdem auch die Rabatte anteilmässig verteilt wurden auf die Rechnungstotale.
Grosser Unterschied hier zu den Spesen / Auslagen: wertext
kann 4-stellig sein, aber auch bei den Leistungen wird die MWST dann erst auf den Summen gebildet (es werden also nicht die MWST-Beträge der einzelnen Leistungen summiert, was bei 2-stelligen Werten sicher zu grossen Differenzen führen würde).
Technisch wird das über sogenannte Rechnungstotale abgewickelt, die bei einer provisorischen Rechnung laufend nachgerechnet werden, bei einer verrechneten Rechnung hingegen persistent sind.
Will man von der Rechnung aus alle Rechnungstotale einsehen, welche angelegt wurden, kann das über folgende Associations geschehen:
totaleleistungen
totalespesen
totaleauslagen
Vertec ist grundsätzlich ein Netto-Tool, und die MWST kommt obendrauf. Werden Beträge als Bruttobeträge erfasst, rechnet Vertec runter und wieder rauf.
Das kann dazu führen, dass der Netto-Betrag plus MWST nicht dem eingegebenen Bruttobetrag entspricht, einfach weil es nicht aufgeht (nicht aufgehen kann). Beispiel:
Ein Spesenbeleg über EUR 400,00:
Dieser wird auf einer Rechnung verrechnet:
Wie kann es sein, dass das Total inkl. MWST nur noch EUR 399,99 ergeben?
Beim Kreditor werden die Werte von MWSTBetragEKFW
von jeder angehängten Auslage oder Spese summiert. In der Implementierung gibt es nun eine spannende Fallunterscheidung:
Ist auf dieser Auslage oder Spese sowohl xWertIntFW
als auch xWertIntFWBrutto
gesetzt - also der Einkaufswert netto UND brutto von Hand eingefügt - dann ist die MWST einfach die Differenz. So schafft man es, jeden beliebigen MWST-Betrag in die Einkaufswerte zu bringen, was hilfreich sein kann, wenn der Lieferant auf einen anderen MWST-Betrag kommt als Vertec selber.
Werden diese Werte nicht explizit gesetzt, dann wird das Member WertIntFWEingabe
herangezogen als Basis für den Einkaufswert. Das ist ein berechneter Wert und sehr kompliziert implementiert, um die diversen Möglichkeiten wie Auslagepositionen, Brutto vs. Netto, Preis vs. Marge zu berücksichtigen.
Bei der Berechnung der MWST aufgrund des WertIntFWEingabe
wird wiederum die Systemeinstellung MWST auf Spesen und Auslagen runden
berücksichtigt - auch hier wiederum ohne kaufmännische Rundung, falls die Systemeinstellung ausgeschaltet ist (siehe Abschnitt Runden der MWST auf einzelnen Spesen und Auslagen
weiter oben).
Der Kreditor erstellt für jede einzelne Auslage oder Spese auf dem Kreditor eine einzelne (Soll-) Buchung. Sind also 10 Spesen bzw. Auslagen dem Kreditor zugewiesen, sind 10 solcher Buchungen vorhanden sowie die Haben-Buchung auf das Sammelkonto. Weil die MWST auf jedem einzelnen Eintrag definiert werden kann, gibt es da seltener als bei Rechnungen unerwartete Resultate.