Kowal Reservation Cleaner dla Magento 2
WARTO NAM ZAUFAĆ
25 lat doświadczenia w e-commerce i Magento 2
Szybka realizacja
Sprawny proces realizacji
Prosty i przejrzysty proces reklamacji
Współpraca z klientami na całym świecie
Darmowe aktualizacje modułów
Płatność przez PayPal i Stripe
Dla kogo jest ten moduł
Moduł sprawdzi się, jeśli:
- stany magazynowe są regularnie importowane z ERP
- Magento nie jest głównym systemem magazynowym
- rezerwacje MSI zaburzają
salable quantity - potrzebne jest szybkie, przewidywalne i automatyczne czyszczenie rezerwacji
- sklep działa na wielu stockach i czyszczenie ma obejmować tylko wybrane z nich
Moduł nie jest przeznaczony dla sklepów, które zarządzają stanami wyłącznie po stronie Magento i polegają na pełnej logice MSI w czasie rzeczywistym.
Problem, który rozwiązuje
W standardowym Magento 2 z MSI kolejne zamówienia, anulowania i wysyłki zapisują dane w inventory_reservation. W środowiskach z integracją ERP te rekordy często przestają być potrzebne operacyjnie, ale nadal wpływają na dostępność produktów i diagnozowanie stanów.
Najczęstsze skutki:
- zaniżone
salable quantity - rozjazdy między Magento i ERP
- narastająca liczba rekordów w
inventory_reservation - trudniejsza diagnostyka problemów magazynowych
- dodatkowe obciążenie obliczeń związanych z dostępnością
Najważniejsze funkcje
- automatyczne uruchamianie z Magento CRON
- ręczne uruchamianie przez CLI
- tryby
full_reset,log_onlyiclean_after_erp_sync - blokada przed równoległym uruchomieniem procesu
- opcjonalna reindeksacja po czyszczeniu
- opcjonalny cache clean po zakończeniu
- logowanie techniczne do pliku
- możliwość ograniczenia czyszczenia do wybranych stocków
Jak działa moduł
Moduł rejestruje zadanie CRON uruchamiane często, ale rzeczywiste wykonanie następuje tylko wtedy, gdy aktualny czas zgadza się z konfiguracją. Dzięki temu nie trzeba dynamicznie przebudowywać harmonogramu systemowego po każdej zmianie ustawień.
Przebieg procesu:
- Sprawdzenie, czy moduł jest aktywny.
- Sprawdzenie, czy środowisko jest dozwolone.
- Sprawdzenie harmonogramu.
- Założenie blokady procesu.
- Zliczenie rekordów rezerwacji.
- Wykonanie czyszczenia lub tylko logowania.
- Opcjonalna reindeksacja.
- Opcjonalny cache clean.
- Zwolnienie blokady i zapis logu.
Tryby działania
Full Reset
Najprostszy i najszybszy wariant dla sklepów ERP-first.
Gdy czyszczenie dotyczy wszystkich stocków, moduł używa:
TRUNCATE TABLE inventory_reservation
To rozwiązanie jest najbardziej wydajne przy dużej liczbie rekordów.
Log Only
Tryb diagnostyczny. Moduł nie usuwa danych, a jedynie zlicza rekordy i zapisuje wynik w logu.
Clean After ERP Sync
Tryb przeznaczony do uruchamiania tuż po imporcie stanów z ERP. Funkcjonalnie czyści rezerwacje tak jak full_reset, ale porządkuje model wdrożenia i harmonogram.
Czyszczenie tylko dla wybranych stocków
Moduł obsługuje także scenariusz czyszczenia tylko dla wskazanych stocków.
Działanie:
- jeśli lista stocków jest pusta, czyszczona jest cała tabela rezerwacji
- jeśli wskazano konkretne stocki, moduł usuwa tylko rekordy dla tych
stock_id
W takim przypadku używane jest zapytanie selektywne:
DELETE FROM inventory_reservation WHERE stock_id IN (...)
To podejście jest wolniejsze niż TRUNCATE, ale pozwala zachować rezerwacje dla pozostałych stocków i daje większą kontrolę w bardziej złożonych wdrożeniach.
Korzyści biznesowe
- lepsza zgodność stanów między Magento a ERP
- mniej błędów związanych z
salable quantity - prostsza diagnostyka stanów magazynowych
- mniejsze ryzyko narastania niepotrzebnych danych w MSI
- możliwość wdrożenia bez wyłączania Magento MSI
- przewidywalny i szybki proces możliwy do zautomatyzowania
Konfiguracja
Panel administracyjny:
Stores -> Configuration -> Kowal -> Reservation Cleaner
Najważniejsze ustawienia:
- włączenie lub wyłączenie modułu
- wybór trybu działania
- godzina i minuta uruchomienia
- wybór stocków do czyszczenia
- włączenie reindeksacji
- typ reindeksacji
- cache clean po procesie
- logowanie
- czas ważności locka
- ograniczenie działania do wybranych środowisk
Uruchamianie z CLI
Podstawowa komenda:
bin/magento kowal:reservation:clean
Przykładowe użycie:
bin/magento kowal:reservation:clean --mode=full_reset
bin/magento kowal:reservation:clean --mode=log_only
bin/magento kowal:reservation:clean --reindex=inventory_only
bin/magento kowal:reservation:clean --dry-run=1
bin/magento kowal:reservation:clean --stocks=1,2
To pozwala uruchamiać moduł ręcznie, testowo albo bezpośrednio po zakończeniu importu ERP.
Logowanie i bezpieczeństwo
Log techniczny jest zapisywany do:
var/log/kowal_reservation_cleaner.log
Moduł zawiera:
- blokadę procesu
- obsługę wyjątków
- kontrolę środowiska
- kontrolę slotu czasowego
- możliwość pracy w trybie
log_only
Rekomendowany model wdrożenia
Najbardziej praktyczny wariant dla sklepów ERP-first:
- tryb
full_reset - aktywne logowanie
- harmonogram uruchamiany chwilę po imporcie ERP
- reindeksacja
inventory_onlylub osobno w procesie integracyjnym - puste pole stocków dla pełnego czyszczenia albo wskazane stocki tam, gdzie wymagany jest wariant selektywny
Ograniczenia
Ten moduł:
- nie naprawia logiki MSI
- nie rekonstruuje historii rezerwacji
- nie zastępuje poprawnie zaprojektowanej integracji ERP
- nie jest uniwersalnym rozwiązaniem dla wszystkich sklepów Magento
To wyspecjalizowane narzędzie dla wdrożeń, w których ERP zarządza realnym stanem magazynowym.
Pakiet i nazwa modułu
- Magento module:
Kowal_ReservationCleaner - Composer package:
kowal/reservation-cleaner
CTA
Potrzebujesz wdrożenia lub dopasowania modułu do integracji ERP, wielu stocków albo niestandardowego harmonogramu? Skontaktuj się z nami przez kowal.store i opisz swój model synchronizacji magazynu.
Pytanie:
Do czego służy moduł Kowal Reservation Cleaner?
Odpowiedź:
Moduł służy do automatycznego lub ręcznego czyszczenia tabeli `inventory_reservation` w Magento 2. Jest przeznaczony głównie dla sklepów, w których stany magazynowe są synchronizowane z ERP lub WMS, a Magento nie jest głównym źródłem prawdy o dostępności
Pytanie:
Czy moduł wyłącza MSI w Magento 2?
Odpowiedź:
Nie. Moduł nie odinstalowuje MSI i nie ingeruje w core Magento. Jego zadaniem jest wyłącznie kontrolowane zarządzanie wpisami w `inventory_reservation`, tak aby ograniczyć problemy z dostępnością i `salable quantity` w modelu ERP-first.
Pytanie:
Czy można czyścić rezerwacje tylko dla wybranych stocków?
Odpowiedź:
Tak. Moduł pozwala wskazać konkretne stocki do czyszczenia. Jeśli lista stocków pozostaje pusta, moduł czyści całą tabelę. Jeśli wskażesz wybrane stocki, usuwane są tylko rezerwacje dla wskazanych `stock_id`.
Pytanie:
Jak można uruchamiać moduł?
Odpowiedź:
Moduł można uruchamiać automatycznie z Magento CRON albo ręcznie z poziomu CLI. Dzięki temu może działać według harmonogramu z panelu administracyjnego albo być wywoływany bezpośrednio po imporcie ERP przez zewnętrzny proces integracyjny.
Pytanie:
Czy moduł nadaje się do każdego sklepu Magento?
Odpowiedź:
Nie. To rozwiązanie wyspecjalizowane dla wdrożeń ERP-first. Jeśli Magento samodzielnie zarządza stanami magazynowymi i pełna logika MSI ma pozostać kluczowym mechanizmem kontroli dostępności, taki moduł może nie być właściwym wyborem. Najpierw warto ocenić model biznesowy i architekturę synchronizacji stanów.








