Der Rundungsfehler

Da die Frage immer wieder auftaucht, hier die Erklärung zum Rundungsfehler.

In open3A treten Rundungsfehler auf. Dies ist meiner bisherigen Erfahrung nach leider unvermeidlich. Sollte jemand nach der folgenden Erklärung eine Lösung für das Problem haben, so wäre ich sehr dankbar.

Ich habe mich vor vielen Jahren dazu entschieden, den Rundungsfehler an eine bestimmte Stelle zu legen. Diese Stelle ist die Grenze zwischen den Positionen und der Summe.

Das bedeutet, dass es zu einem Rundungsfehler zwischen der Summe der einzelnen Positionen und der Nettosumme kommen kann.

Das Problem kommt daher, dass viele Kunden Preise mit mehr als zwei Nachkommastellen angeben möchten. Daher rechnet open3A intern mit beliebig vielen davon. Etwas vereinfacht erfolgt die Berechnung wie folgt:

Menge * Preis * MwSt ergibt die exakte Bruttosumme der Position.

Die Summe der exakten Bruttosummen ergibt die exakte Gesamtbruttosumme.
Diese exakte Gesamtbruttosumme wir gerundet und von dieser der wiederum gerundete MwSt-Betrag abgezogen, um die Nettogesamtsumme zu erhalten.

Damit ist sichergestellt, dass die Beträge, die in der Summe stehen, immer aufgehen und gleichzeitig die Berechnung der Positionen möglichst genau erfolgt.

Dies bedeutet auch, dass der Rundungsfehler zum Beispiel in Exporten und Berichten, die die Summe der Positionen und die Gesamtsumme der Rechnung gleichzeitig verwenden, offensichtlich wird.