Problem mit Bestandsreservierungen

Hintergrund
Neben dem Onlineshop kommen bei uns auch relativ viele Bestellungen via Mail, Fax oder telefonisch rein.
Shopware dient dabei nur als Shop (Onlinebestellannahme) alles andere läuft über das nachgelagerte ERP.

Ablauf

  1. Kunde bestellt über den Shop. Bestand wird im Shop reserviert.
  2. ERP holt den Auftrag ab, legt diesen im ERP an und sendet den neuen Lagerbestand an Shopware. und ändert den Auftragsbestand auf in Bearbeitung.

Beispiel

  1. Verfügbarer Bestand im ERP = 100 → Ablgeich zu SW → Bestand und verfügbarer Bestand = 100
  2. Bestellung über 10 Stück → verfügbarer Bestand = 90 - Bestand = 100
  3. ERP holt den Auftrag ab -< verfügbarer Bestand ERP = 90 → Abgleich zu SW Bestand = 90
  4. da der Auftrag aber immer noch Bestand reserviert → verfügbarer Bestand SW= 80

Im Grunde ist der Bestand jetzt doppelt reserviert.
Gibt es eine Möglichkeit die Reservierung in der Bestellung aufzuheben?

Wann der verfügbare Bestands reduziert wird, ist abhängig vom Bestellstatus. Du könntest den natürlich beim Sync direkt mitsetzen.

Gibt es denn einen Bestellstatus, der die Reservierung aufhebt ohne den Auftrag abzuschließen oder zu stornieren?

Kann man irgendwo konfigurieren ob ein Auftrag Bestand reservieren soll oder nicht?

1 „Gefällt mir“

@APOrtha hast du eine Lösung für das Problem finden können? Bei uns ist das leider genauso.

Hier hab ich noch mehr zum Thema gefunden

Es gibt auch schon ein Ticket zu

Ab der Version - ich glaube - 6.5.4 kann das Feature-Flag STOCK_HANDLING=1 gesetzt werden. Damit gibt es die Logik mi dem verfügbaren Bestand nicht mehr. Es gibt/gilt nur nach das DB-Feld stock, stock_available wird nur noch gespiegelt und hat keine Bedeutung mehr.

Bei jeder Shopware-Bestellung wird stock reduziert, bei jeder Stornierung wieder erhöht. Damit sollte auch das Zusammenspiel mit einem ERP problemlos möglich sein. Und wenn nicht, kann das Stock-Handling auch ganz deaktiviert und/oder überschrieben werden:

Oh nice, vielen Dank! Das muss ich mir jetzt erst mal genau durchlesen.
Muss das ganze dann direkt über die API so übergeben bzw eingerichtet werden oder mach ich das irgendwo im Shopware System?

Den Wert setzt du in der .env.local

Okay, jetzt hab ichs auch gesehen. Geht leider erst ab 6.5.5. Da werde ich mich wohl langsam wirklich an das Update auf 6.5. machen müssen >_>

Hallo zusammen,

ich muss das Thema nochmal aufgreifen.
Ich habe SW6.5.8.7 im Einsatz.

In der env.local habe ich STOCK_HANDLING=1 eingetragen.
Dennoch ist es so, dass ein Artikel mit Bestand 500 und Verfügbarer Bestand -615 im Frontend als nicht mehr verfügbar und somit nicht bestellbar ausgewiesen wird.

Habe ich mit dieser Funktion etwas falsch verstanden oder etwas vergessen? Ich möchte gerne dass nur der Lagerbestand dazu diesen soll ob ein Artikel gekauft werden kann oder nicht.

Hallo,
ich bin mir nicht mehr 100 % sicher, aber die verfügbaren Bestände wurden bei uns erst in dem Moment an den Bestand angeglichen, wenn der Artikel einmal angefasst wurde. D.h. einmal speichern, den Bestand über die API ändern oder ein Kauf musste passieren, damit in beiden Feldern derselbe Wert stand.

Danke, ja das ist mir auch soeben aufgefallen.
Wie könnte man das denn bei 22.000 Artikeln auf einmal handeln? Mir fehlt das schlichtweg der Nerv jede einzelne Variante durchzuklickern.

Dazu habe ich leider keinen allgemeingültigen Tipp.
Ich habe hier ein Tool, dass die Bestände im Shop an die Wawi angleicht. Dort hatte ich einmal den kompletten Bestand abgleichen lassen, damit war das dann in Ordnung.

Versuche mal folgendes:

  1. Unter Einstellungen->Caches & Indizes, den Indexer product.stock einmal durchlaufen lassen und danach Cache leeren
  2. Wenn das nicht funktioniert über die Datenbank einmal UPDATE product SET available_stock = stock ausführen und Cache leeren

Option 1 hat nicht geholfen.
Aber Option 2 :slight_smile:

Danke!!!

1 „Gefällt mir“