Kowal Reservation Cleaner für Magento 2
Magento-Module nach klaren Regeln
Du kaufst das Modul einmalig, ohne Domain-Beschränkungen
Kostenlose Installation und Updates über Composer
Partnerprogramm
Technischer Support für Magento
Klare Lizenzierungsregeln für Magento-Module
Sicherheit des Magento-Modul-Codes
Für wen ist dieses Modul geeignet
Das Modul eignet sich, wenn:
- Bestände regelmäßig aus dem ERP importiert werden
- Magento nicht das führende Lagersystem ist
- MSI-Reservierungen die
salable quantityverfälschen - eine schnelle, vorhersehbare und automatische Bereinigung von Reservierungen erforderlich ist
- der Shop mit mehreren Stocks arbeitet und die Bereinigung nur ausgewählte davon umfassen soll
Das Modul ist nicht für Shops vorgesehen, die Bestände ausschließlich auf Magento-Seite verwalten und sich vollständig auf die MSI-Logik in Echtzeit verlassen.
Das Problem, das es löst
In einem standardmäßigen Magento 2 mit MSI speichern weitere Bestellungen, Stornierungen und Sendungen Daten in inventory_reservation. In Umgebungen mit ERP-Integration werden diese Datensätze operativ oft nicht mehr benötigt, beeinflussen jedoch weiterhin die Produktverfügbarkeit und die Bestandsdiagnose.
Die häufigsten Auswirkungen:
- zu niedrige
salable quantity - Abweichungen zwischen Magento und ERP
- wachsende Anzahl von Datensätzen in
inventory_reservation - erschwerte Diagnose von Bestandsproblemen
- zusätzliche Belastung bei Berechnungen der Verfügbarkeit
Wichtigste Funktionen
- automatische Ausführung über Magento CRON
- manuelle Ausführung über CLI
- Modi
full_reset,log_onlyundclean_after_erp_sync - Sperre gegen parallele Prozessausführung
- optionale Reindizierung nach der Bereinigung
- optionaler Cache Clean nach Abschluss
- technisches Logging in eine Datei
- Möglichkeit, die Bereinigung auf ausgewählte Stocks zu beschränken
Wie das Modul funktioniert
Das Modul registriert eine CRON-Aufgabe, die häufig gestartet wird. Die tatsächliche Ausführung erfolgt jedoch nur dann, wenn die aktuelle Uhrzeit mit der Konfiguration übereinstimmt. Dadurch muss der Systemzeitplan nicht nach jeder Änderung der Einstellungen dynamisch neu aufgebaut werden.
Ablauf des Prozesses:
- Prüfung, ob das Modul aktiv ist.
- Prüfung, ob die Umgebung zugelassen ist.
- Prüfung des Zeitplans.
- Setzen einer Prozesssperre.
- Zählen der Reservierungsdatensätze.
- Durchführung der Bereinigung oder nur des Loggings.
- Optionale Reindizierung.
- Optionaler Cache Clean.
- Freigabe der Sperre und Speicherung des Logs.
Betriebsmodi
Full Reset
Die einfachste und schnellste Variante für ERP-first-Shops.
Wenn die Bereinigung alle Stocks betrifft, verwendet das Modul:
TRUNCATE TABLE inventory_reservationDiese Lösung ist bei einer großen Anzahl von Datensätzen am effizientesten.
Log Only
Diagnosemodus. Das Modul löscht keine Daten, sondern zählt nur die Datensätze und speichert das Ergebnis im Log.
Clean After ERP Sync
Ein Modus, der für die Ausführung direkt nach dem Import von Beständen aus dem ERP vorgesehen ist. Funktional bereinigt er Reservierungen wie full_reset, strukturiert jedoch das Implementierungsmodell und den Zeitplan klarer.
Bereinigung nur für ausgewählte Stocks
Das Modul unterstützt auch ein Szenario, in dem nur angegebene Stocks bereinigt werden.
Funktionsweise:
- wenn die Stock-Liste leer ist, wird die gesamte Reservierungstabelle bereinigt
- wenn konkrete Stocks angegeben wurden, löscht das Modul nur Datensätze für diese
stock_id
In diesem Fall wird eine selektive Abfrage verwendet:
DELETE FROM inventory_reservation WHERE stock_id IN (...)Dieser Ansatz ist langsamer als TRUNCATE, ermöglicht jedoch, Reservierungen für die übrigen Stocks beizubehalten, und bietet mehr Kontrolle in komplexeren Implementierungen.
Geschäftliche Vorteile
- bessere Übereinstimmung der Bestände zwischen Magento und ERP
- weniger Fehler im Zusammenhang mit
salable quantity - einfachere Diagnose von Lagerbeständen
- geringeres Risiko, dass unnötige Daten in MSI anwachsen
- Möglichkeit der Implementierung ohne Deaktivierung von Magento MSI
- vorhersehbarer und schneller Prozess, der automatisiert werden kann
Konfiguration
Adminbereich:
Stores -> Configuration -> Kowal -> Reservation Cleaner
Wichtigste Einstellungen:
- Aktivierung oder Deaktivierung des Moduls
- Auswahl des Betriebsmodus
- Stunde und Minute der Ausführung
- Auswahl der zu bereinigenden Stocks
- Aktivierung der Reindizierung
- Typ der Reindizierung
- Cache Clean nach dem Prozess
- Logging
- Gültigkeitsdauer des Locks
- Beschränkung der Ausführung auf ausgewählte Umgebungen
Ausführung über CLI
Basisbefehl:
bin/magento kowal:reservation:cleanBeispielhafte Verwendung:
bin/magento kowal:reservation:clean --mode=full_resetbin/magento kowal:reservation:clean --mode=log_onlybin/magento kowal:reservation:clean --reindex=inventory_onlybin/magento kowal:reservation:clean --dry-run=1bin/magento kowal:reservation:clean --stocks=1,2Dies ermöglicht, das Modul manuell, testweise oder direkt nach Abschluss des ERP-Imports auszuführen.
Logging und Sicherheit
Das technische Log wird gespeichert unter:
var/log/kowal_reservation_cleaner.log
Das Modul enthält:
- Prozesssperre
- Ausnahmebehandlung
- Umgebungskontrolle
- Kontrolle des Zeitfensters
- Möglichkeit des Betriebs im Modus
log_only
Empfohlenes Implementierungsmodell
Die praktischste Variante für ERP-first-Shops:
- Modus
full_reset - aktives Logging
- Zeitplan, der kurz nach dem ERP-Import ausgeführt wird
- Reindizierung
inventory_onlyoder separat im Integrationsprozess - leeres Stock-Feld für eine vollständige Bereinigung oder angegebene Stocks dort, wo eine selektive Variante erforderlich ist
Einschränkungen
Dieses Modul:
- repariert die MSI-Logik nicht
- rekonstruiert die Reservierungshistorie nicht
- ersetzt keine korrekt konzipierte ERP-Integration
- ist keine universelle Lösung für alle Magento-Shops
Es ist ein spezialisiertes Werkzeug für Implementierungen, in denen das ERP den realen Lagerbestand verwaltet.
Paket und Modulname
- Magento-Modul:
Kowal_ReservationCleaner - Composer-Paket:
kowal/reservation-cleaner
CTA
Benötigen Sie eine Implementierung oder Anpassung des Moduls an eine ERP-Integration, mehrere Stocks oder einen individuellen Zeitplan? Kontaktieren Sie uns über kowal.store und beschreiben Sie Ihr Modell der Lagersynchronisierung.















