Ticket: SW-22338 | Rundungsfehler bei Netto-Bestellungen

Mal eine Frage an SW:  warum wird der Bug nicht korrigiert und das Ticket geschlossen? 

Wenn es für Euch nicht wichtig ist, für uns Händler aber schon und zwar sehr wichtig.

Jahre!!! ist die Berechnung falsch. Jetzt hat Moritz zwei Fehler ausfindig gemacht und es wird nicht umgesetzt und läßt alle Shopbetreiber wieder verzweifeln. Gerade habe ich Moritz eine Mail geschrieben, dass ich immer noch einen Fehler in der Gesamtsumme habe und dann hab ich mich auf die Suche begeben und den 3. Fehler ausgemacht. Dann gehe ich auf das Ticket um einen Kommentar zu verfassen und sehe das es “gelöst” ist. Haha wie schön für Euch!

3 Fehler und jahrelange Probleme SEIT DER 3ER VERSION!!! und alle dürfen jetzt wieder selbst ins Template eingreifen und bei jedem Update daran denken das zu ändern? Das kann bitte nicht Euer erst sein. Wer sitz da und beschliesst, dass es nicht korrigiert wird? Ich bin jetzt echt mehr wie sauer, ich koche gerade vor Wut. Das ist echt Verarsche am Kunden. 

So liebe Shopbetreiber… falls Ihr auch das Problem habt mit falscher Netto - Brutto Berechnung und mal 1 Cent mehr oder weniger auf der Rechnung:

Quickfix:

/engine/Shopware/Core/sBasket.php:

Zeile 2387 ändern in: $priceWithTax = round(round($netprice, 2) / 100 * (100 + $tax),2);

/engine/Shopware/Models/Document/Order.php:

Zeile 470 ändern in: $position[‘price’] = round(round($position[‘price’], 2) * (1 + $position[‘tax’] / 100),2);

und 3. Fehler in der 

/engine/Shopware/Core/sArticles.php:

Zeile 621 ändern in: $price = $this->sFormatPrice(round($price * (100 + $tax) / 100, 2));

 

 

Hallo @artep‍ ,

das Ticket wurde nach Rücksprache mit mir erstmal geschlossen.

Die Hintergründe sind hier vor allem, dass der kleine Fix nicht ausreicht um das gerade zu ziehen, sondern nur diesen einen individuellen Case behebt. Für eine gründliche Lösung muss da noch mehr angegangen werden. Du hast ja in deiner Mail an mich schon selbst geschrieben, dass da noch was nicht passt.

Auf dem Stack haben wir das schon - das wird sich auch noch jemand ansehen, aber so einfach ist das nicht. Der Case oben behebt dein Problem, führt aber dazu, dass jemand der sich auf die bisherige Berechnung verlässt im Worst-Case auf einmal mehrere Euro unterschied nach dem Update hat.

Insofern kann ich dich beruhigen, wir werden uns das nochmal ansehen, dass muss aber im größeren Stil erfolgen als initial gedacht. Untergegangen ist das definitiv nicht. Ich hatte dir damals ja bereits schon geschrieben, dass es wohl erst was im Rahmen von 5.5 wird. 
Da ich aktuell im Urlaub bin, schau ich mir das aber gerne nochmal Montag an :slight_smile:

Moritz

1 Like

Hallo Moritz,

ok, dann bin ich ja beruhigt, oder beruhige mich langsam.  Wink

Habe aber gerade noch einen Test ausgeführt und es passt bei der Rechnung immer noch nicht, trotz der 3 Änderungen. Im Frontend ist jetzt alles korrekt, sowie in der Bestellbestätigung, aber nicht auf der Rechnung. Da werden wieder ein paar Cent Mwst falsch berechnet.

Gesamtkosten Netto: 115,09 €
zzgl. 19% MwSt: 21,87 €
Gesamtkosten: 136,99 €

Ich hoffe dass Ihr das bald gefixt bekommt. Das ist mehr als ärgerlich, wenn man falsche Rechnungen rausschickt. Leider kann man diese im Backend nicht ändern, bzw. nicht die Mwst berichtigen und auch schaut man sich nicht jede Rechnung an wenn diese über Stapelverabeitung geht.

Dann noch einen schönen Rest-Urlaub!

Noch einen Nachtrag:

durch die Änderungen ist jetzt im Warenkorb und Bestätigung alles korrekt, was vorher auch nicht immer war und auf der Rechnung stimmt jetzt auch der Gesamtbetrag, nur die Mwst immer noch nicht. Keine Ahnung warum das da falsch raus kommt.

Das Cent-Problem existiert auch bei Produktexport. Hatte das/ mein Problem mal hier beschrieben:

https://forum.shopware.com/discussion/54562/datenexport-google-rundungsprobleme#latest

Sodele… jetzt passt es bei mir auch in der Rechnung. Überall wird alles korrekt berechnet. Grin Gottseidank!!! und ein Danke an Moritz für seine Hilfe und Geduld.

Getestet mit  Version 5.3.7 ----  nicht unbedingt für höhere Versionen einsetzbar (Die Entwicklung hatte sich das angesehen und auch eine mögliche Lösung entwickelt, allerdings noch nicht released) ---- deshalb Änderung auf eigene Gefahr.  Wink

 

Hier nochmal die konkreten Zeilen:

/engine/Shopware/Core/sBasket.php#L2388

$priceWithTax = round(round($netprice, 2) / 100 * (100 + $tax), 2);

/engine/Shopware/Models/Document/Order.php#L451

$position[‘price’] = round(round($position[‘price’], 2) * (1 + $position[‘tax’] / 100), 2);

/engine/Shopware/Models/Document/Order.php#L499

if ($this->_net == true) { 

    $this->_tax[number_format((float) $position[‘tax’], 2)] += round($position[‘amount’]-$position[‘amount_netto’],2); 

} else { 

    $this->_tax[number_format((float) $position[‘tax’], 2)] += round($position[‘amount’] / ($position[‘tax’] + 100) * $position[‘tax’], 2); 

}

/engine/Shopware/Models/Order/Order.php#L1149​

$invoiceAmountNet += round(round($price / 100 * (100 + $taxValue), 2) * $detail->getQuantity(), 2);

 

Die Stellen sollten jeweils nur die Netto-Bestellungen betreffen.

Hallo artep, 

ich habe die 5.6.2 installiert und leider auch das Problem, dass im Nettopreise Shop die MwSt. Berechnung fehlerhaft ist. Einfach immer um unterschiedliche Centbeträge zu hoch. Habe versucht deinen code in die entsprechenden php Dateien einzufügen komme aber nicht weiter.

Mit welcher SW version arbeitest du momentan und hast du da für das Problem eine Lösung gefunden. Bei mir springen im backend auch die Nettopreise von 2 Nachkommastellen einfach auf ganz viele Nachkommastellen, wenn ich den Bestand korrigiere oder andere Infos ändere. Selbst wenn ich den Nettopreis wieder auf z.B. 3,20 € umstelle und speicher, setzt mir das System mehr als 2 Nachkommastellen. 

Hast du noch eine Idee um das Problem zu beheben?

Danke! Viele Grüße sofoh

Schau mal in die Grundeinstellungen, dafür gibt es auch ein Setting im Bereich Warenkorb / Artikeldetails.