Hallo,
ich habe ein Problem mit der Mehrwertsteuer.
Ab und an wird die MwSt. in Fakturama falsch aufgerundet. Auf der Rechnung in LibreOffice erscheint aber die richtige Mehrwertsteuer.
Das Problem: Der Gesamtbetrag wird aber aus Fakturama genommen und ist somit 1 Ct zu hoch. D.h. die Summe stimmt nicht.
Ich hatte versucht als Workaround Libreoffice den Gesamtbetrag berechnen zu lassen, was aber aufgrund der variablen Zeilenanzahl (mal mit mal ohne Rabatt) gescheitert ist.
Das ist für uns ein echtes Problem und es wäre schön, wenn das bald gefixt würde.
Wir haben inzwischen über 150 Rechnungen mit Fakturama geschrieben und ich habe keine Ahnung wieviele falsch waren. 2-3 habe ich durch Zufall entdeckt.
Ich denke es liegt daran, dass Fakturama die MwSt. von Versand und Waren einzeln berechnet und anschießend addiert.
So kommen bei den Nettobeträgen Waren: 1327,13 und Versand 34,45 - in Summe 1361,58 - die MwSt.'s 252,187 und 6,5455 - in Summe - 258,7325 heraus.
Rundet jetzt Fakturama die einzelnen MwSt's auf 252,19 und 6,55 ergibt das in Summe 258,74 und nicht 258,73.
Gruß
Stephan
Hallo,
ich habe den Fehler gefunden, er saß vor dem Bildschirm.
Versandkosten auf konstanten Nettowert gestellt und schon rechnet Fakturama richtig.
Vielleicht hilft dieser Beitrag anderen Nutzern.
Gruß
Stephan
sstein schrieb:
-------------------------------------------------------
> ich habe den Fehler gefunden, er saß vor dem
> Bildschirm.
Den hatte ich auch schon mal ... 😉
Also irgendwie habe ich immer noch Probleme mit dem Runden.
Zu einen, wenn ich die Versandkosten per Hand ändere, zum anderen bei der Rabatt Funktion.
Alle Preise sind bei uns Netto Preise.
Ein Beispiel:
1 Artikel kostet z.B. 2907,23 € und dem Kunden wird 5 % Rabatt gewährt.
Ergibt laut Taschenrechner 2761,8685 €
Fakturama zeigt im Artikelfeld aber nur 2761,86 € an, statt gerundet 2761,87 €.
2761,87 € wird aber korrekt in der Nettosumme angezeigt.
MwSt aus 2761,87 € ist laut Taschenrechner 524,7553 €, Fakturama zeigt aber in dem MwSt Feld unter der Nettosumme nur 524,75 € an, statt gerundet 524,76 €.
Somit ergibt sich die Bruttosumme in Fakturama von 3286,62 € (der Cent aus der MwSt. fehlt)
Rufe ich jetzt die gedruckte Rechnung in LibreOffice auf habe ich folgende Werte:
Artikel 2761,86 € (falsch aud Fakturama übernommen)
Zwischensumme (netto): 2761,87 € (an sich richtig, deckt sich aber nicht mit dem Warenwert oben)
Zuzügl. 19% MwSt. :524,76 € (hier richtig berechnet, im Unterschied zu Fakturama)
Rechnungsbetrag (Brutto): 3286,62 € (um 1 ct zu wenig, da falsch aus Fakturama übernommen).
Ich behelfe mir zur Zeit damit, dass ich den Nettoartikelpreis um ein Cent verringere, dann stimmt es meistens.
Das Problem ist aber, dass es immer wieder Rechnungen gibt, wo ich den Rundungsfehler übersehe und dann Ärger mit der Buchhaltung bekomme.
Zudem ist die Prüfung nervig und zeitaufwendig.
Darum die Frage gibt es hierzu irgendwann einen Fix ?
Gruß
Stephan
Ich habe auch ein Problem mit einer Rechnung, die zwei MwSt. ausweist und die Gesamtsumme um einen Cent differiert:
Auf der Rechnung finden sich:
Zwischensumme Netto: 237,86 - die stimmt
MwSt. 7%: 16,23 - die stimmt
MwSt. 19%: 1,14 - die stimmt
Rechnungsbetrag: 255,22 - hier fehlt ein Cent
Innerhalb von Fakturama wird die MwSt. als einzelner Betrag mit 17,36 ausgewiesen, hier fehlt der Cent und sicherlich daher auch Differenz im Rechnungsbetrag.
Die Produkte sind alle mit Netto-Beträge eingetragen. Gibt es einen Workaround?
Gruß,
-- Stocki
für das Beispiel wäre interessant, wie sich die einzelnen Positionen zusammensetzen.
Wahrscheinlich sind es mind. zwei Artikel mit Einheit €/kg und 7% Mehrwertsteuer und ein Artikel für 6€ zzgl. 19%? Die Netto-Summe wird wohl geringfügig unter 231,86€ liegen und in der Anzeige aufgerundet.
Bitte mal alle Daten mit Einzelpreisen und Mengen nennen.
Merkwürdig finde ich auch, dass bei der Menge in einer Rechnung nach der dritten Stelle zwei Punkte angehängt werden und auch so ausgegeben werden (siehe DoubleToFormatedValue in DataUtils.java). Gerechnet wird aber mit dem kompletten Wert.
Die Rundung erfolgt nach 4 Stellen, Ausgabe immer nur auf zwei Stellen. Kann eignetlich nicht klappen. Stellen im Code u.a.: round und DoublesAreEqual in DataUtils.java
Jens
Hallo Jens,
danke,dass Du Dich der Sache annimmst.
Anbei ein paar Beispiele:
Beispiel 1:
Menge / Einheit Einzelpreis Gesamtpreis
1 x 5 Liter 206,66 206,66
1 x 5 Liter 255,84 255,84
1 x 5 Liter 488,59 488,59
2 x 5 Liter 514,36 1028,72
Zwischensumme: 1979,81
Versandkosten: 39,90
Zuzügl. 19% MwSt. : 383,75
Rechnungsbetrag: 2403,46
Beispiel 2:
Menge / Einheit Einzelpreis Gesamtpreis
1 x 5 Liter 229,80 229,80
1 x 5 Liter 284,30 284,30
1 x 5 Liter 407,90 407,90
1 x 1 Packung 56,70 56,70
1 x 1 Pack 24,50 24,50
6 x 1 Stück 11,70 70,20
2 x 1 Stück 99,60 199,20
Zwischensumme: 1272,60
Rabatt (-6 %): -76,36
Versandkosten: 34,45
Zuzügl. 19% MwSt. : 233,83
Rechnungsbetrag: 1464,53
Beispiel 3:
Menge / Einheit Einzelpreis Gesamtpreis
1 x 5 Liter 2907,33 2907,33
Zwischensumme: 2907,33
Rabatt (-5 %): -145,37
Versandkosten: 29,90
Zuzügl. 19% MwSt. : 530,45
Rechnungsbetrag: 3322,32
Beispiel 4:
Menge / Einheit Einzelpreis Gesamtpreis
10 x 1 Liter 132,72 1327,20
Zwischensumme: 1327,20
Versandkosten: 34,45
Zuzügl. 19% MwSt. : 258,71
Rechnungsbetrag: 1620,37
Beispiel 5:
Menge / Einheit Einzelpreis Gesamtpreis
6 x 1 Liter 133,40 800,40
Zwischensumme: 800,40
Versandkosten: 34,45
Zuzügl. 19% MwSt. : 158,62
Rechnungsbetrag: 993,48
Beispiel 6:
Menge / Einheit Einzelpreis Gesamtpreis
1 x 5 Liter 243,86 243,86
1 x 5 Liter 352,90 352,90
Zwischensumme: 596,76
Rabatt (-5 %): -29,84
Versandkosten: 34,45
Zuzügl. 19% MwSt. : 114,26
Rechnungsbetrag: 715,64
Wie man sieht, stimmt teilweise die MwSt. nicht, teilweise wird der falsche Rechnungsbetrag ausgewiesen.
Die Daten stammen alle aus den Originalrechnungen (aus den pdf's extrahiert).
Ich hoffe das hilft weiter.
Gruß
Stephan
bin mir ziemlich sicher, das ein Fehler hier liegt:
/com.sebulli.fakturama/src/com/sebulli/fakturama/misc/DataUtils.java
/**
* Round a value to full cent values. Add an offset of 0.01 cent. This is,
* because there may be double values like 0.004999999999999 which should be
* rounded to 0.01 (jens: wrong!!!)
*
* @param d
* value to round.
* @return Rounded value
*/
public static Double round(Double d) {
/* jens Rundung auf zwei Stellen nach Komma
return (Math.round((d + 0.0001) * 100.0)) / 100.0; */
return (Math.round((d) * 100.0)) / 100.0;
}
@Gerd: Wie bekommen wir eine neue Version?
Gruss,
Jens
Nachtrag:
Es gibt noch ein weiteres Rundungsproblem. Dies wird verursacht durch Rabatte und die separate Berechnung der Mehrwertsteuer bei den Versandkosten.
Es werden bei der Kalkulation immer erst die Einzelwerte errechnet (Waren und Versand), die dann auch noch gerundet werden.
Die ebenfalls errechneten Gesamtsummen (brutto, netto, mwst usw.) stimmen dann nicht unbedingt mit der Summe der Einzelwerte überein.
das betrifft u.a die folgenden Zeilen:
methode calculate in Price.java
this.unitGrossDiscountedRounded = DataUtils.round(unitGrossDiscounted);
this.unitVatDiscountedRounded = DataUtils.round(unitVatDiscounted);
this.unitNetDiscountedRounded = this.unitGrossDiscountedRounded - this.unitVatDiscountedRounded;
oh je oh je... 🙁
Jens
Ich kann mich dem nur anschließen, auch in der Addition der Posten hin zur Summe Netto gibt es Additionsfehler. Bei mir auch ohne Rabatte oder andere Sonderposten.
Wird es hier noch eine Korrektur geben können? Ansonsten muss ich entweder selbst in den Quell-Code einsteigen oder mich nach einer Alternative umsehen. Sorry, aber die Summenbildung muss leider stimmen.
Wenn ich mit weiteren Hinweisen helfen kann, sprecht mich an.
Viele Grüße,
-- Stocki
Hallo,
also bei mir läuft jetzt die Version 1.5.4. Das mit dem Runden funktioniert hier auch nicht richtig. Mir persönlich ist es bei der Eingabe von Ausgabebelegen aufgefallen. Wenn ich beispielsweise MwSt 19% angebe und den Nettobetrag von 21,37€ eingebe, errechnet Fakturama einen Bruttobetrag von 25,43€, was so auch erst mal stimmt. Wenn ich jetzt aber den Bruttobetrag kurz anklicke und wieder die Returntaste drücke, steht beim Nettobetrag plötzlich 21,36€.
So gesehen bringt mir das ganze Programm natürlich nichts, wenn ich jede Eingabe noch mal von Hand kontrollieren muss.
Ich weiß, das Programm kostet nichts und Ihr habt sicher viele wichtigere Dinge im Kopf. Deswegen nur eine Frage. Bekommt Ihr das in naher Zukunft gefixt oder sollte ich mich eher nach was anderem umsehen, wenn ich jetzt ein WaWi-Programm brauche?
Vielen Dank für Eure schnelle Antwort.
MfG
Sebastian
Eintrag im Bugtracker wurde angelegt. Danke für die Source-Code Tips. Da muß man nicht mehr so lange suchen 😉
Viele Grüße,
Ralf.
Viele Grüße
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?
Ich bin an dem Thema dran.
gebt mir noch ein paar Tage.
Hallo,
das hört sich doch prima an! Danke für die Info!
Grüssle
r-inuk (Manfred)
