Preis-Stabilität bei Änderung einer Bestellung gewünscht

Hallo,
Ich habe viele Seiten zu dem Thema gefunden, aber keine Lösungen für CE 4.10
Wenn bei einer bestehenden Bestellungen die Artikel geändert werden (z.B. Anpassung nach Retour, Stornierung, etc.), dann werden auch immer die Preise aktualisiert, was dazu führt das ehemalige Discounts oder Nachlässe wegfallen und sich der Preis dadurch oft ändert. Die Preise sollten nicht aktualisiert werden.

Kennt jemand dafür eine Lösung? Das Problem muss doch fast jeden Shop-Betreiber betreffen …
Vielen lieben Dank für Euer Feedback und vielleicht einen Link :wink: ? Danke!

dafür gibts keine “die eine wahre Lösung”, weil es zig Wege gibt und so gut wie jeder Shopbetreiber da seine eigene Vorstellung hat, wie diese Preisgestaltung im Detail ablaufen sollte.
Beispiel:
Kunde kauft 4 Hosen für je 100€, storniert dann aber zwei.
Theoretisch sollte er jetzt nur 200 bezahlen, was aber wenn er einen Mengenrabatt oder Reduzierung durch Staffelpreise hatte?
Hier wäre Preisaktualisierung richtig, weil wenn er von Anfang an nur 2 gekauft hätte, hätte er 125€ pro Hose bezahlen müssen. Das wären dann 250€.
Und was ist, wenn er einen Gutschein mit 350€ Mindestbestellwert eingelöst hat? Durch die Änderung wäre sein Gutschein nicht mehr gültig, also sollte der Preis eigentlich wieder aktualisiert werden.
Und was ist mit Währungen? Bei extremen Schwankungen kann der Preis paar Tage später völlig wo anders rauskommen, weil der Shop keine historischen Wechselkurse speichert.
Der Shop speichert aber auch nicht, wie der bezahlte Produktpreis zustande kam, z.B: Staffelpreis X - Rabatt Y - Gutschein Z = 100€, deswegen muss der Shop später den gesamten Preis erneut ausrechnen, was eben dazu führen kann, dass bestimmte Rabatte nicht mehr gültig sind.
Und zu guter Letzt ist die Stelle im Code, wo das alles passiert, auch nicht leicht mit einem Modul erweiterbar.

Deswegen steht man vor einem Dilemma:
Auf einer Seite ist eine universelle Lösung, falls machbar, so kompliziert und zeitaufwändig, dass niemand das einfach so machen wollen würde.
Und auf der anderen Seite wäre eine kundenspezifische Lösung für das bestimmte Szenario des Kunden durchaus machbar, allerdings wiederum so speziell, dass man es nicht im voraus einfach so programmiert.

2 Likes

Dafür habe ich ein Service-Backend eingerichtet, dass direkt auf die Datenbank zugreift. Es ist uns allerdings auch erst nach Jahren aufgefallen, dass hier eine Neuberechnung (ich glaube sogar, wenn ich Versand oder Bezahlung bearbeitet habe) stattfindet.

https://www.jabommi.de/blog/oxid-esales/jabommi-no-backend-order-recalculation-oxid-esales-modul/

habe ich auch im einsatz, allerdings noch etwas modifiziert und für OXID6 kompatibel.

@vanilla_thunder: Ja das macht irgendwie Sinn, aber einige Shopbetreiber haben mit dieser starren Grundregel ein Problem. Es wäre super wenn der Shop in diesem Punkt besser ausgebaut wäre.

@rheinstruktur: Das Modul ist leider nicht für CE 4.10 gedacht, geht nur bis 4.8. - sehr schade, Genua das wäre die Lösung. Aber für 4.10 finde ich nichts.

Hat noch jemand einen Tipp oder Link parat? Lieben Dank!

Falls unter OS-Lizenz verfügbar, wäre es gut, einen PR zu schicken.
Das hier habe ich noch im Fundus: GitHub - OXIDprojects/No_Recalc: Disables recalculation of orders when saved (e.g. if payment date is set), if invoice has been generated., allerdings auch ursprünglich für 4.7.

@oxidchallenge
sollte easy sein es für 4.10 anzupassen, bzw. wahrscheinlich läuft es schon einfach so unter 4.10

@marco.steinhaeuser
meine Version ist wirklich stark modifiziert und ist so in dem Zustand nicht PR-Fähig. Derzeit leider keine Zeit es allgemeingültig anzupassen.