Sincronizzazione dello stock tra due negozi PrestaShop distinti
Performance & Core Web Vitals

Come sincronizzare lo stock tra due negozi PrestaShop distinti?

Due installazioni PrestaShop distinte che vendono gli stessi prodotti dallo stesso stock fisico: il caso è frequente. Un sito per privati e un sito professionale, un negozio francese e un negozio tedesco su domini separati, o un marchio principale e un outlet.

Finché lo stock non è condiviso, ogni negozio crede di disporre della totalità. La prima sovravendita arriva entro la settimana.

Tre architetture possibili

Il multinegozio nativo. Una sola installazione, più negozi logici. Lo stock è condiviso nativamente, la questione non si pone. È la soluzione più semplice, e viene spesso scartata a torto: molti progetti partono con due installazioni separate quando il multinegozio sarebbe bastato.

Due installazioni sincronizzate. Ognuna ha il suo database, il suo tema, i suoi moduli, e un meccanismo mantiene la coerenza dello stock. Più pesante, ma necessario appena i due siti devono evolvere in modo indipendente o appartenere a entità giuridiche diverse.

Un sistema terzo master. Un ERP o un gestionale detiene lo stock, e i due negozi lo consumano. È l’architettura più sana appena esiste un terzo canale, negozio fisico o marketplace.

Prima di costruire una sincronizzazione, verifica che la prima opzione non basti. Elimina il problema invece di gestirlo.

Un master, uno solo

È la decisione fondante, e la sincronizzazione bidirezionale ingenua è la trappola classica.

Se i due negozi possono modificare lo stock e rinviarselo a vicenda, ottieni dei loop: il negozio A decrementa, invia a B, B applica e rinvia ad A, che decrementa di nuovo. Gli stock divergono in poche ore, e nel senso sbagliato.

Esistono due modelli corretti.

Il modello master-slave: un negozio detiene la verità, l’altro la riceve. Semplice, ma le vendite dello slave devono risalire, il che presuppone un canale distinto per i decrementi.

Il modello a stock centralizzato: né l’uno né l’altro detiene lo stock, lo fa un repository esterno. Ogni vendita innesca un decremento su quel repository, che ridistribuisce. È più robusto, e presuppone un componente in più.

Sincronizzazione Multi-NegozioSincronizza catalogo, stock e prezzi tra più negozi PrestaShop99.00

La frequenza, e la finestra di sovravendita

Ogni sincronizzazione periodica lascia una finestra durante la quale i due negozi hanno una visione diversa. Questa finestra si calcola.

Se sincronizzi ogni quindici minuti e vendi tre unità all’ora di una referenza, la finestra rappresenta in media meno di un’unità: il rischio è basso. Su una vendita flash a cinquanta unità l’ora, la stessa finestra lascia passare una dozzina di ordini di troppo.

Ne derivano tre regolazioni. Una frequenza alta, da cinque a quindici minuti, sulle referenze a rotazione rapida. Una sincronizzazione a eventi invece che periodica sui prodotti critici: ogni vendita innesca immediatamente la propagazione. E un margine di sicurezza, riservando una o due unità per negozio, che assorbe la finestra senza complessità aggiuntiva.

La corrispondenza delle referenze

Punto tecnico che decide la fattibilità. Gli identificativi prodotto non sono mai gli stessi tra due installazioni: il prodotto 421 sul negozio A non è il prodotto 421 sul negozio B.

La corrispondenza deve quindi basarsi su una chiave di business stabile, presente da entrambi i lati e mai modificata. La referenza prodotto va bene, a condizione che sia compilata ovunque e unica. Il codice a barre è un’alternativa solida.

Due trappole. Le varianti devono avere la propria referenza, altrimenti la sincronizzazione avviene a livello di prodotto e lo stock per taglia resta sbagliato. E i prodotti presenti da un solo lato devono essere esplicitamente ignorati, non trattati come errori a ogni ciclo.

Cosa non si sincronizza

La tentazione è allineare tutto. È un errore, e rende fragile il sistema.

Non sincronizzare i prezzi se i tuoi due negozi hanno posizionamenti diversi, che è quasi sempre la ragione della loro esistenza separata. Non sincronizzare le descrizioni tradotte né i metadati SEO, pena la creazione di contenuto duplicato tra due domini. Non sincronizzare ordini né clienti, salvo necessità esplicita: sono dati ad alto carico normativo.

Il perimetro minimo che funziona: lo stock, la disponibilità ed eventualmente lo stato attivo o inattivo del prodotto.

I conflitti, e il ripristino dopo un incidente

Due situazioni da prevedere fin dalla progettazione.

Il conflitto. I due lati sono cambiati tra due sincronizzazioni. La regola deve essere scritta: o il master vince sempre, o vince il valore più basso, il che è prudente sullo stock. Una regola non scritta diventa una regola casuale.

Il guasto. Cosa succede se la sincronizzazione si ferma per sei ore senza che nessuno se ne accorga? Tre protezioni: un registro consultabile delle sincronizzazioni con il loro esito, un avviso in caso di errori ripetuti, e una risincronizzazione completa attivabile manualmente.

Quest’ultima è quella che si dimentica sistematicamente, e quella di cui si ha bisogno con urgenza un sabato mattina.

Controllare

Uno scarto di stock non si vede, si constata al momento della sovravendita. Un controllo settimanale che confronta le quantità dei due lati, referenza per referenza, richiede pochi minuti e rivela le derive prima che costino un ordine annullato.

Il modulo Sincronizzazione Multi-Negozio gestisce questa catena su PrestaShop 8 e 9: corrispondenza per referenza o codice a barre a livello di varianti, sincronizzazione dello stock con direzione e frequenza configurabili, registro delle operazioni e risincronizzazione completa su richiesta.

Continua a leggere

Articoli correlati