Zum Inhalt springen

Externe Bestandsänderungen

Der Produktbestand in Shopware kann von etwas außerhalb des Moduls geändert werden: einer Integration mit einem Lagersystem, einem Import, einem Skript, dem Plugin eines anderen Anbieters. Eine solche Änderung berücksichtigt die Regale nicht; sie überschreibt die Zahl.

Stockly kann das bemerken, darauf reagieren und es zur Durchsicht festhalten.

Die den Kunden veröffentlichte Zahl sollte sich daraus ergeben, was in den Regalen liegt. Wird sie von außen geschrieben, existieren zwei Werte: einer im Regal und einer auf der Produktseite. Der Unterschied ist nicht sofort sichtbar; er zeigt sich beim Kommissionieren, wenn der Mitarbeiter die Ware nicht findet, oder als Überverkauf.

Stockly → Einstellungen → Bestand → der Reiter Allgemein → der Abschnitt Externe Bestandsänderungen → das Feld Reaktion auf externe Bestandsänderungen am Produkt:

  • Aus — keine Erkennung. Änderungen über die API werden als Bestandskorrekturen übernommen, und direkte Datenbankänderungen werden von der nächsten Neuberechnung stillschweigend überschrieben. So verhält sich das Modul, bis die Erkennung eingeschaltet wird.
  • Übernehmen und Bestände korrigierendie externe Zahl gewinnt: Die Differenz wird ins Lager gebucht (in den nicht zugeordneten Bestand oder vom vollsten Lagerplatz), und der Vorfall wird im Register erfasst.
  • Verwerfen und aus Beständen wiederherstellendas Lager gewinnt: Es wird nichts gebucht, das Feld wird aus den Regalen neu geschrieben, und die verworfene Änderung wird im Register erfasst.
  • API-Änderungen — sofort.
  • Direkte Datenbankänderungen — beim nächsten Bestandsereignis des Produkts, also genau in dem Moment, in dem das Modul sie sonst überschreiben würde.

Der Mechanismus zielt auf eine falsch konfigurierte Integration, nicht auf absichtliche Eingriffe in die Datenbank.

Stockly → Lager → Externe Änderungen (ein Eintrag in der Abschnittsleiste des Lagerbereichs).

Spalten: Erkannt, Produkt, Erwartet, Vorgefunden, Differenz, Quelle, Reaktion, Benutzer.

Erwartet ist die Zahl, zu der sich die Regale addieren, Vorgefunden die, die jemand geschrieben hat; Differenz zeigt die Abweichung.

Quelle unterscheidet:

WertBedeutung
API-Änderungeine Änderung über die API oder die Administration
Direkte Datenbankänderungeine Änderung direkt in der Datenbank, am Shop vorbei

Reaktion sagt, was das Modul damit gemacht hat:

WertBedeutung
Übernommen, Bestände korrigiertdie externe Zahl wurde übernommen und die Regale korrigiert
Verworfen, Wert wiederhergestelltdie Änderung wurde verworfen und der Wert aus den Regalen wiederhergestellt

Die Liste lässt sich nach Quelle, Reaktion und Erkennungsdatum filtern.

Ein leeres Register heißt, dass niemand von außen Bestand geschrieben hat, während die Erkennung an war.

Eine unter der Reaktion Übernehmen gebuchte Korrektur bleibt auch im Bewegungsverlauf, mit dem Grund Bestand nach externer Änderung korrigiert: Das Register hält den externen Schreibvorgang fest, der Verlauf die Reaktion des Moduls. → Bewegungsverlauf

Der Schalter Tägliche Zusammenfassung im selben Abschnitt löst eine Administrations-Benachrichtigung pro Tag aus, wenn seit der vorigen Zusammenfassung neue Vorfälle erfasst wurden — nie eine je Ereignis.

Eine geplante Aufgabe kümmert sich darum. → Geplante Aufgaben

Jede erkannte Änderung löst ein Ereignis aus, das im Flow Builder verfügbar ist und das Produkt, den erwarteten Wert, den vorgefundenen Wert, die Differenz, die Quelle und die angewandte Reaktion mitbringt. Darauf lässt sich eine eigene Benachrichtigung, ein Eintrag in einem fremden System oder eine Meldung an die IT bauen.

Das sind zwei Zeitpunkte desselben Themas:

  • Externe Bestandsänderungen arbeiten live: Sie fangen die Änderung ab, während sie geschieht, und regeln sie sofort.
  • Die Integritätsprüfung und der Reparatur-Assistent räumen im Nachhinein auf, wenn die Abweichung bereits besteht, etwa weil die Erkennung aus war.

Zeigt der Reparatur-Assistent immer wieder dieselbe Gruppe von Befunden zur veröffentlichten Zahl gegenüber dem Regal, sollte die Erkennung eingeschaltet und das Problem an seiner Quelle geregelt werden, statt es jede Woche zu reparieren.

Für Entwickler: Der Erkennungsmechanismus, die Nutzdaten des Ereignisses und die Vorfallsentität sind unter externe Änderungen beschrieben.