Cos'è e quando gira
L'azione pianificata Importa giacenze da Shopify (Shopify → Odoo) gira ogni sei ore ed è attiva fin dall'installazione del modulo. Esiste in tutti i rami pubblicati: 17.0, 18.0, 19.0 e 20.0. In Odoo 17.0 ha inoltre il numero di ripetizioni impostato a -1, cioè si ripete senza fine.

Con Odoo in italiano l'azione si chiama Importa giacenze da Shopify (Shopify → Odoo). Lo schema seguente mostra come si chiama in altre lingue.

La connessione con il negozio passa da FlexigoTech Cloud, che conserva cifrate le credenziali, sorveglia la sincronizzazione e avvisa via e-mail se fallisce. Il modulo richiede l'abbonamento a FlexigoTech Cloud (piano Connettore: 49 €/mese o 490 €/anno IVA esclusa).

Un caso da seguire dall'inizio alla fine
Esempio Caso illustrativo: l'azienda e i suoi dati sono inventati per spiegare il flusso.
Casa Moreno è un'azienda inventata che vende articoli per la casa in un negozio Shopify e gestisce l'inventario in Odoo. Una mattina Laura, che amministra il sistema, vede che la quantità di un prodotto in Odoo non si è mossa anche se in Shopify è cambiata. Invece di lanciare qualcosa alla cieca, ripassa l'azione nell'ordine in cui la esegue il codice pubblicato per Odoo 20.0, che è quello descritto da qui in poi.
Primo filtro: chi la esegue
In Odoo 20.0, la prima cosa che fa l'azione è verificare che chi la esegue sia amministratore di sistema. Se non lo è, si ferma con Only an administrator can run this scheduled action. e non arriva a guardare nessun negozio. Laura è amministratrice, quindi passa al punto successivo.
Secondo filtro: quali negozi entrano nella passata
In Odoo 20.0, l'azione non scorre tutti i negozi, ma solo quelli che soddisfano contemporaneamente tre condizioni:
- Il negozio è attivo.
- Ha attivata la sincronizzazione delle giacenze.
- Ha le credenziali: un token di accesso salvato o il segreto dell'API dell'app salvato.
Nella terza condizione basta una delle due cose, perché un negozio con credenziali client può non avere un token salvato finché la sua prima chiamata non lo genera. I negozi si aprono dal menu Shopify › Configurazione › Negozi (Shopify › Configuration › Stores). Se non vedi un tratto di quel percorso, ti manca un permesso: Configurazione (Configuration) richiede Operatore (Operator) e Shopify richiede Visualizzatore (Viewer).
Laura verifica che il negozio di Casa Moreno soddisfi le tre condizioni. Se una non è soddisfatta, il negozio resta fuori dalla passata.
Terzo passo: un negozio che fallisce non blocca gli altri
In Odoo 20.0, per ogni negozio scelto, l'azione richiama l'importazione all'interno di un blocco che intercetta qualsiasi errore. Se un negozio dà errore, il problema viene annotato nel registro del server con il nome del negozio e l'azione prosegue con il successivo.
Cosa fa l'importazione con ogni negozio
In Odoo 20.0, per ogni negozio, l'importazione fa questo in quest'ordine:
- Se il negozio non ha attivata la sincronizzazione delle giacenze, lo salta.
- Cerca i prodotti collegati a Shopify che siano attivi, abbiano un articolo di inventario di Shopify e appartengano all'azienda del negozio: un prodotto di un'altra azienda non entra, anche se il collegamento esisteva da prima. Se non ce n'è nessuno, passa al negozio successivo.
- Decide l'ubicazione di Odoo. Prima cerca l'ubicazione principale di Shopify di quel negozio che abbia un'ubicazione di Odoo assegnata. Se non c'è, usa l'ubicazione di magazzino del magazzino del negozio o, se il negozio non ha un magazzino, quella del primo magazzino della sua azienda. Se non trova nessuna ubicazione, lascia quel negozio e prosegue con il successivo.
- Chiede a Shopify la quantità disponibile degli articoli di inventario, per l'ubicazione di Shopify del negozio (quella predefinita, se salvata) e a lotti di 100 articoli. Ogni quantità ricevuta viene convertita in numero intero.
Il pulsante per ottenere le giacenze a mano ha la sua guida passo passo. E se ti chiedi cosa sia l'ubicazione principale di Shopify, il messaggio che la cita ha il suo articolo.
Cosa controllare se l'azione non fa nulla
Al termine del ripasso, Laura ha un elenco di punti in cui, secondo il codice di Odoo 20.0, una passata può interrompersi:
- Chi la lancia. Solo un amministratore può eseguirla; altrimenti compare
Only an administrator can run this scheduled action.. - Il negozio. Deve essere attivo, con la sincronizzazione delle giacenze attivata e con token o segreto dell'API salvato.
- I prodotti. Devono essere collegati, attivi, con articolo di inventario di Shopify e dell'azienda del negozio.
- L'ubicazione. Serve un'ubicazione principale di Shopify con ubicazione di Odoo assegnata, o un magazzino che faccia da alternativa.
- La frequenza. L'azione gira ogni sei ore, quindi una modifica recente in Shopify può non essere ancora arrivata in Odoo.
Con questo elenco, Laura può escludere i punti uno per uno invece di tirare a indovinare. Per cominciare dal più semplice, può aprire Shopify › Configurazione › Negozi e controllare il negozio prima di toccare altro.
Come aiuta FlexigoTech
FlexigoTech implementa Odoo 17, 18, 19 e 20 e sviluppa connettori e integrazioni su misura. Se vuoi rivedere la configurazione dei tuoi negozi o adattare il flusso delle giacenze alla tua operatività, puoi vedere il modulo nella sua pagina o nella scheda di Odoo Apps.
Il modulo è pubblicato su Odoo Apps per 17.0, 18.0, 19.0 e 20.0.
Continua a leggere
Verificato nel codice del connettore (versione 17.0 e 20.0) e nelle fonti collegate
Fonti
- Codice del modulo: flexigobe_shopify_seller_connector 20.0 (d7e627b4): data/ir_cron_data.xml
- Codice del modulo: flexigobe_shopify_seller_connector 17.0 (437257e3): data/ir_cron_data.xml
- Codice del modulo: flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/shopify_instance.py
- Codice del modulo: flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/fgt_cloud.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
