Esempio Caso illustrativo: l'azienda e i suoi dati sono inventati per spiegare il flusso.
Cosa è successo
Casa Lumen vende lampade su diversi canali tramite ChannelEngine e gestisce il magazzino in Odoo. Un lunedì arrivano due ordini dello stesso modello da canali diversi. Restava una sola unità. Il secondo ordine va annullato, con la nota negativa che questo comporta sul canale.
Il primo sospetto è il solito: «il connettore non ha inviato la giacenza». Il controllo dice altro.
Come è stata trovata
Il connettore ha un'attività quotidiana che legge la giacenza presente in ChannelEngine e la confronta con quella che Odoo invierebbe in quel momento. Quello che Odoo invierebbe è la quantità disponibile nel magazzino dell'account meno le consegne aperte e gli ordini ancora fermi come preventivo. Ogni SKU con una differenza finisce in Stock Divergences, con tre cifre: quello che ha ChannelEngine, quello che ha Odoo e la differenza.
Nel caso di Casa Lumen, la lampada risultava con un'unità in più in ChannelEngine. Il motivo era un preventivo per una vendita in negozio che nessuno aveva confermato: Odoo lo scalava già, e ChannelEngine continuava a offrire quell'unità.

Cosa fa ChannelEngine dalla sua parte
ChannelEngine ha una prenotazione delle giacenze pensata, secondo il suo stesso centro assistenza, per eliminare il rischio di vendere più di quanto si ha. La prenotazione dura finché l'ordine non passa a «In progress» e, in media, viene restituita ai canali entro 1,5 ore, a seconda di quanto velocemente si confermano gli ordini e si invia la giacenza. Funziona bene se il tuo sistema invia la giacenza con regolarità. Se la giacenza arriva tardi, la prenotazione non basta.
Le impostazioni che sono cambiate
- Controllare ogni mattina l'elenco Stock Divergences e rimettere in coda con un clic le offerte con differenze.
- Attivare l'opzione dell'account che trattiene gli ordini senza giacenza sufficiente, così un ordine importato non si conferma in automatico se il magazzino non può coprirlo.
- Verificare che l'account usi l'ID dell'ubicazione di giacenza di ChannelEngine, perché Casa Lumen ha due ubicazioni.
- Mantenere le frequenze predefinite: gli ordini entrano ogni 15 minuti, le variazioni di prezzo e giacenza si mettono in coda ogni ora e si inviano ogni 30 minuti.

Casa Lumen ha controllato anche un'altra impostazione: da dove vengono i prezzi. L'account può prendere i prezzi delle offerte da un listino prezzi di Odoo invece che dal prezzo di vendita del prodotto. Così il prezzo per ChannelEngine si cambia in un solo punto.
Cosa ha imparato il team
La differenza veniva da un preventivo dimenticato, non dal connettore. Senza il confronto quotidiano, il prossimo disallineamento sarebbe sembrato di nuovo un guasto tecnico. Con l'elenco davanti, ogni differenza ha uno SKU, delle cifre e una data di controllo, e si risolve in pochi minuti.

Casa Lumen non ha cambiato né canali né fornitore. Ha solo preso l'abitudine di controllare l'elenco ogni mattina, e da allora non annulla più ordini per mancanza di giacenza.
Se vendi lo stesso prodotto anche fuori da ChannelEngine, Odoo è l'unico posto in cui ogni unità in uscita è visibile tutta insieme. Per questo il confronto si fa da Odoo.
Continua a leggere
Verificato nel codice del connettore (versione 20.0) e nelle fonti collegate
Fonti
- Codice del modulo: flexigobe_channelengine_connector (6032191c): models/channelengine_stock_reconcile.py
- support.channelengine.com/hc/en-us/articles/34273588476317-ChannelEngine-stock-reservation
- Codice del modulo: flexigobe_channelengine_connector 20.0 (6032191c): data/channelengine_cron.xml
- Codice del modulo: flexigobe_channelengine_connector 20.0 (6032191c): views/channelengine_stock_divergence_views.xml
- Codice del modulo: flexigobe_channelengine_connector 20.0 (6032191c): views/menu.xml
- Codice del modulo: flexigobe_channelengine_connector 20.0 (6032191c): models/channelengine_account.py
- apps.odoo.com/apps/modules/20.0/flexigobe_channelengine_connector
