Entfernen des StockUpdaters

Wie bereits im Slack erwähnt, würden wir gerne den StockUpdater verbannen.

 

Es ist gut, dass der Bestand natürlich decrementiert, allerdings sollte es doch in der Hand des Betreibers liegen, wie hoch der available_stock ist.

Hintergrund ist, dass wir viele Bestellungen haben, bei denen Nachproduziert wird und der Hersteller diese nicht physisch im Bestand ist. Da dies nach jeder Bestellung entschieden werden muss, ist es natürlich unsinnig den Stock zu berechnen.

Es sollte so sein, wie es bei Shopware 5 war. Stock -> 10, eine Person kauft, Stock 9.

Aktuell wird es dank dem StockUpdater.php anhand der offenen Bestellungen berechnet. 10 Stock, 10 Personen haben gekauft,  9 wurden  bestätgit = 9 im Stock.

Diese Berechnung sollte gänzlich deaktivierbar sein. Welche Möglichkeiten gibt es hierzu, ohne direkt den Core anzupassen?

 

2 „Gefällt mir“

Hallo!

Auch ich stehe hier gerade vor einer Baustelle mit dem StockUpdater.

Wir binden Shopware über eine Schnittstelle an ein Warenwirtschaftssystem an. Unsere Bestände werden einzig und allein in der Wawi gepflegt. Das führt aber nun zu dem Problem, dass durch die Shopware-Logik mit “stock” und “availableStock” Bestände über die API nicht einfach aktualisiert werden dürfen.

 

Bsp:

Wawi=10, stock=10, availableStock=10

Kunde kauft 2 Stück: Wawi=10, stock=10, availableStock=8

Einlesen der Bestellungen in Wawi, Bestandsbuchung in Wawi: Wawi=8, stock=10, availableStock=8

Rückschreiben Bestände über API in Shopware: Wawi=8, stock=8, availableStock=6

Setzen der Bestellung auf “Done”: Wawi=8, stock=6, availableStock=6

 

Damit hat sich also der Bestand in Shopware nicht nur um 2 Stück verringert, sondern gleich um 4.

Es gibt meines Erachtens nur die Möglichkeit, dass vor dem Update der Bestände die enstprechende Bestellung in Shopware auf Done gesetzt werden muss. Erst dann darf die Bestandsbuchung laufen.

Oder aber die Anpassung des StockUpdaters. Für uns wäre es die beste Lösung, wenn in Shopware stock immer gleich availableStock wäre.

Wo ich aber noch keinen Weg weiß: kann man den Core entsprechend verändern, damit er Updates auch übersteht. Ähnlich so wie es auch mit den Plugins möglich ist? Da fehlt mir gerade jede Idee.

Oder gibt es noch DIE andere Lösung?

Ähnlicher Eintrag und Problem auch hier:

https://forum.shopware.com/discussion/72606/demystifying-the-stockupdater/p1

Eine Nacht darüber geschlafen bringt dann doch DIE Lösung. Kurz zur Info hier, falls jemand die gleiche Herausforderung hat.

Problem: Wawi führt die Bestände und schickt die Bestände per API an Shopware. Dadurch kommt es, wie oben skizziert, zu Abweichungen.

DIE Lösung liegt aber ganz einfach an der Menge, die per API übertragen wird.

Es darf nicht die Bestandsmenge aus der Wawi übertragen werden, sondern:

[neuer stock] = [Bestand Wawi] + ([stock] - [available stock])

1 „Gefällt mir“

Dieser Ansatz ist keineswegs zu empfehlen, wenn du mal die Berechnung des StockUpdaters.php anguckst.

 

Es ist einfach eine Funktion notwendig diesen Käse zu deaktivieren.  

Gerade nach Migrationen ist es besonders anfällig, da es anhand der “Offenen Bestellungen” errechnet wird, bzw. ob jemand den Artikel im Warenkorb hat und noch nicht abgeschlossen hat.

 

 

Ich habe bei einem Kunden das gleiche Problem. Die Bestände werden durch eine externe WaWi gesteuert und dort laufen bspw. telefonische Bestellungen direkt ein. Das sorgt daür, dass Shopware natürlich einen ganz anderen verfügbaren Bestand hat als er in der WaWi vorhanden ist.

Meiner Meinung nach müsste es hier ganz dringend die Möglichkeit geben, den StockUpdater zu deaktivieren und auf die herkömliche Variante wechseln können wie es in SW 5 war.

Weiß jemand, ob das Thema bei Shopware Intern irgendwie bereits mal angekommen ist und besprochen wird?

Bisher kein Ticket gesehen, wo das schon mal Thema war.

Es gibt bereits ein Ticket, aber mit zu wenig Votes.

Shopware Issuetracker

Gibts hier schon Gedanken seitens Shopware zu dem Thema?
@Moritz_Naczenski

Gedanken gibt es immer, aber zumindest nichts kurzfristiges. Es ist angedacht mittelfristig den Stock-Updater deaktivieren zu können und dies komplett Drittsystemen zu überlassen. Realistisch ist das innerhalb der nächsten 12 Monate denke ich.

Hi zusammen,

auch wenn das Thema schon etwas länger hier besteht, gibt es augenscheinlich immer noch keine Lösung in Aussicht. Zumindest verstehe ich den letzten Kommentar von Moritz so.

Da auch ich mich nun mit dem Thema beschäftigen muss/darf, mal eine Frage an @lhairman @mynote

Wie habt ihr das Thema für euch lösen können?
Ich hoffe nicht mit Systemwechsel oder unschönen Workarounds.

Habt Ihr Tipps eurer Ansätze, oder ggf. eine Lösung die ihr Teilen würdet?

BG Jan

Hallo zusammen, wir haben das Gleiche Problem!

Meine Verständnisfrage dazu ist, wie ist das überhaupt gedacht? Ab wann werden reservierte bzw. verkaufte Einheiten wieder freigegeben?

Vor allem, wenn man durch einen Import-Job über die API den Bestand aktualisiert?
Werden die von Bestellungen reservierten Einheiten erst nach dem Abschluss freigegeben?

Wo ist denn das Feature auf der Roadmap hin verschwunden?
„Disable Shopware stock calculation in the Administration“

1 „Gefällt mir“

Steht doch auf der Roadmap: „Disable Shopware stock calculation in the Administration“

Das Feature ist auf der Roadmap im Bereich „Ongoing“ noch vorhanden.

Scheint seit 6.5.4.0 verfügbar zu sein:

Hat das schon jemand ausprobiert?

Bisher noch nicht.
Mich würde interessieren, ob bei einem Verkauf die verkauften Artikel tatsächlich nicht vom Lagerbestand abgezogen werden oder nur der verfügbare Bestand subtrahiert wird. Aber so wie ich es verstehe wird bei dieser Funktion absolut nichts mehr berechnet, richtig?
Ich suche eine Funktionalität wie in Shopware 5, wo es das ganze hin und her erst garnicht gibt. Ein Lagerbestand und fertig.