Kowal Reservation Cleaner per Magento 2
A chi è destinato questo modulo
Il modulo è adatto se:
- le giacenze di magazzino vengono importate regolarmente da ERP
- Magento non è il sistema di magazzino principale
- le prenotazioni MSI alterano
salable quantity - è necessaria una pulizia delle prenotazioni rapida, prevedibile e automatica
- lo store opera su più stock e la pulizia deve riguardare solo quelli selezionati
Il modulo non è destinato agli store che gestiscono le giacenze esclusivamente lato Magento e si basano sulla logica MSI completa in tempo reale.
Il problema che risolve
In Magento 2 standard con MSI, ordini successivi, annullamenti e spedizioni salvano i dati in inventory_reservation. Negli ambienti con integrazione ERP questi record spesso non sono più necessari dal punto di vista operativo, ma continuano a influire sulla disponibilità dei prodotti e sulla diagnosi delle giacenze.
Gli effetti più comuni:
salable quantitysottostimata- disallineamenti tra Magento ed ERP
- numero crescente di record in
inventory_reservation - diagnostica più complessa dei problemi di magazzino
- carico aggiuntivo nei calcoli legati alla disponibilità
Funzionalità principali
- avvio automatico tramite Magento CRON
- avvio manuale tramite CLI
- modalità
full_reset,log_onlyeclean_after_erp_sync - blocco contro l'esecuzione parallela del processo
- reindicizzazione opzionale dopo la pulizia
- cache clean opzionale al termine
- logging tecnico su file
- possibilità di limitare la pulizia agli stock selezionati
Come funziona il modulo
Il modulo registra un task CRON eseguito frequentemente, ma l'esecuzione effettiva avviene solo quando l'orario corrente coincide con la configurazione. In questo modo non è necessario ricostruire dinamicamente la pianificazione di sistema dopo ogni modifica delle impostazioni.
Flusso del processo:
- Verifica se il modulo è attivo.
- Verifica se l'ambiente è consentito.
- Verifica della pianificazione.
- Impostazione del blocco del processo.
- Conteggio dei record di prenotazione.
- Esecuzione della pulizia o solo del logging.
- Reindicizzazione opzionale.
- Cache clean opzionale.
- Rilascio del blocco e salvataggio del log.
Modalità operative
Full Reset
La variante più semplice e veloce per gli store ERP-first.
Quando la pulizia riguarda tutti gli stock, il modulo utilizza:
TRUNCATE TABLE inventory_reservationQuesta soluzione è la più efficiente con un numero elevato di record.
Log Only
Modalità diagnostica. Il modulo non elimina i dati, ma conta soltanto i record e salva il risultato nel log.
Clean After ERP Sync
Modalità pensata per l'avvio subito dopo l'importazione delle giacenze da ERP. Dal punto di vista funzionale pulisce le prenotazioni come full_reset, ma organizza meglio il modello di implementazione e la pianificazione.
Pulizia solo per gli stock selezionati
Il modulo supporta anche lo scenario di pulizia limitata agli stock indicati.
Funzionamento:
- se l'elenco degli stock è vuoto, viene pulita l'intera tabella delle prenotazioni
- se vengono indicati stock specifici, il modulo elimina solo i record relativi a tali
stock_id
In questo caso viene utilizzata una query selettiva:
DELETE FROM inventory_reservation WHERE stock_id IN (...)Questo approccio è più lento rispetto a TRUNCATE, ma permette di mantenere le prenotazioni per gli altri stock e offre un controllo maggiore nelle implementazioni più complesse.
Vantaggi per il business
- maggiore coerenza delle giacenze tra Magento ed ERP
- meno errori legati a
salable quantity - diagnostica più semplice delle giacenze di magazzino
- minor rischio di accumulo di dati non necessari in MSI
- possibilità di implementazione senza disattivare Magento MSI
- processo prevedibile e rapido, automatizzabile
Configurazione
Pannello di amministrazione:
Stores -> Configuration -> Kowal -> Reservation Cleaner
Impostazioni principali:
- abilitazione o disabilitazione del modulo
- selezione della modalità operativa
- ora e minuto di avvio
- selezione degli stock da pulire
- abilitazione della reindicizzazione
- tipo di reindicizzazione
- cache clean dopo il processo
- logging
- tempo di validità del lock
- limitazione dell'esecuzione agli ambienti selezionati
Avvio da CLI
Comando di base:
bin/magento kowal:reservation:cleanEsempi di utilizzo:
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,2Questo consente di avviare il modulo manualmente, a scopo di test oppure direttamente al termine dell'importazione ERP.
Logging e sicurezza
Il log tecnico viene salvato in:
var/log/kowal_reservation_cleaner.log
Il modulo include:
- blocco del processo
- gestione delle eccezioni
- controllo dell'ambiente
- controllo dello slot temporale
- possibilità di lavorare in modalità
log_only
Modello di implementazione consigliato
La variante più pratica per gli store ERP-first:
- modalità
full_reset - logging attivo
- pianificazione avviata poco dopo l'importazione ERP
- reindicizzazione
inventory_onlyoppure separatamente nel processo di integrazione - campo stock vuoto per la pulizia completa oppure stock indicati quando è richiesta una variante selettiva
Limitazioni
Questo modulo:
- non corregge la logica MSI
- non ricostruisce lo storico delle prenotazioni
- non sostituisce un'integrazione ERP progettata correttamente
- non è una soluzione universale per tutti gli store Magento
È uno strumento specializzato per implementazioni in cui l'ERP gestisce la giacenza reale di magazzino.
Pacchetto e nome del modulo
- Modulo Magento:
Kowal_ReservationCleaner - Pacchetto Composer:
kowal/reservation-cleaner
CTA
Hai bisogno di implementare o adattare il modulo all'integrazione ERP, a più stock o a una pianificazione personalizzata? Contattaci tramite kowal.store e descrivi il tuo modello di sincronizzazione del magazzino.













