Dove si trova il pulsante e quando serve premerlo
Dove si trova il pulsante Invia stock (Push Stock) e quando compare?
Si trova nella scheda del negozio, nella schermata Istanze Shopify (Shopify Instances). Ci si arriva dal menu Shopify › Configurazione › Negozi; per vederlo servono i permessi richiesti da ogni tratto: Visualizzatore per Shopify e Operatore per Configurazione. Il pulsante non ha condizioni di visibilità: si vede nella scheda nelle versioni 17, 18, 19 e 20 di Odoo. Il funzionamento descritto di seguito è quello del codice del modulo in Odoo 20.0. Con Odoo in italiano il pulsante si chiama Invia stock; in spagnolo, Invia stock; in tedesco, Bestand übertragen; in francese, Envoyer le stock; in portoghese, Invia stock.


Devo premerlo io o Odoo invia lo stock da solo?
Il percorso normale è automatico: l'azione pianificata Invia giacenze a Shopify (Shopify Push Stock) arriva a questo stesso invio ogni 20 minuti ed è attiva dall'installazione. Il pulsante è l'eccezione: serve per lanciare l'invio subito, senza aspettare l'azione pianificata. Quando termina, il campo Ultimo invio di stock (Last Stock Push) riporta la data; si vede nella scheda e nell'elenco dei negozi, è di sola lettura e lo scrive il codice, non tu. Il pulsante Reimposta sincronizzazione (Reset Sync) lo svuota.
E lo stock nel senso contrario, da Shopify a Odoo?
È un'altra azione: Importa giacenze da Shopify (Shopify → Odoo) (Shopify Pull Stock (Shopify → Odoo)), ogni 6 ore e attiva all'installazione. Il suo metodo agisce solo se è spuntata la casella Sincronizzazione giacenze attivata (Sync Stock Enabled), che si trova nella scheda Istanze Shopify, scheda Operazioni (Operations), gruppo Impostazioni sincronizzazione (Sync Settings), e per impostazione predefinita è deselezionata. Il metodo del pulsante Invia stock, così com'è scritto, non guarda quella casella.

Cosa controlla e cosa invia
Quali prodotti invia?
Per ogni negozio, il modulo cerca i prodotti collegati ad esso che sono attivi e hanno un articolo di inventario Shopify assegnato. Poi scarta quelli di un'azienda diversa da quella del negozio (Azienda, Company), anche se il collegamento esisteva da prima. Se non ne resta nessuno, non invia nulla a Shopify: scrive solo la data in Ultimo invio di stock e passa al negozio successivo.
Che quantità manda: quella presente o quella disponibile?
Quella libera: le giacenze meno ciò che è già riservato, calcolata con l'azienda del negozio, arrotondata a numero intero e a zero se non c'è valore. Il motivo, secondo il codice stesso: un ordine Shopify confermato in Odoo riserva l'unità, ma le giacenze scendono solo quando si convalida la consegna. Se si inviassero le giacenze, tra la vendita online e la spedizione Shopify vedrebbe di nuovo quell'unità come disponibile, e con l'ultima unità un secondo cliente potrebbe comprarla. Più informazioni su ordini e bolle in cosa aggiunge il modulo alle vendite e in cosa aggiunge alle bolle.
Se invio di nuovo le stesse quantità, Shopify le ignora come duplicato?
No. Ogni esecuzione dell'invio genera una chiave propria e la varia a ogni blocco, proprio perché quantità identiche inviate più tardi non vengano scambiate per un duplicato. L'invio avviene in blocchi di cento prodotti al massimo. In ogni blocco si fissa la quantità disponibile in Shopify così come la calcola Odoo, con il motivo di correzione e senza confrontarla con ciò che Shopify ha in quel momento.
Cosa cambia e quali errori può dare
Quale ubicazione di Shopify usa e cosa cambia in Odoo?
Per prima cosa cerca l'ubicazione: usa quella che il negozio ha già salvata e, se non ce n'è nessuna, chiede a Shopify, prende la prima che restituisce e salva il suo identificatore e il suo nome. In Odoo cambiano le date: dopo aver inviato ogni blocco, annota la data di sincronizzazione dello stock in ogni prodotto di quel blocco, e alla fine scrive Ultimo invio di stock nel negozio. Se un errore interrompe l'azione, il messaggio compare e quest'ultima data non viene salvata.
Quali messaggi di ubicazione o di connessione possono comparire premendo il pulsante?
Questi. Nessuna ubicazione Shopify trovata per … (No Shopify locations were found for …): il negozio non aveva un'ubicazione salvata e Shopify non ne ha restituita nessuna; al posto dei puntini compare il dominio del negozio. Shopify non ha restituito un ID ubicazione valido. (Shopify did not return a valid location id.): Shopify ha restituito un'ubicazione senza identificatore. Questi due messaggi di ubicazione possono comparire solo quando manca l'ubicazione salvata. C'è inoltre Nessuna connessione Shopify per …. Apri la scheda Connection e segui i passaggi di configurazione. (Shopify is not connected for …. Open the Connection tab and follow the setup steps.): il negozio è ancora senza token di accesso; al posto dei puntini compare il nome del negozio. Apri la sua scheda, scheda Connection, e segui i passaggi di configurazione.
E i messaggi della chiamata a Shopify?
Compaiono anch'essi premendo il pulsante. Chiamata GraphQL Shopify fallita (…): … (Shopify GraphQL call failed (…): …) compare quando Shopify risponde con un codice di errore pari o superiore a 400; il messaggio riporta quel codice e l'inizio della risposta. Prima di arrendersi, il modulo gestisce il 401 e il 429: davanti a un 401 prova a rinnovare l'accesso e ripete, se c'è un token di rinnovo o credenziali del client; davanti a un 429 aspetta e ripete, con fino a tre tentativi in una chiamata normale. Possono comparire anche GraphQL Shopify ha restituito errori: … (Shopify GraphQL returned errors: …) e La chiamata GraphQL Shopify ha esaurito i tentativi. (Shopify GraphQL call exhausted retries.). In tutti conserva il testo completo del messaggio: è ciò che serve a chi controlla la connessione.
Se lo configuri con aiuto
FlexigoTech implementa Odoo 17, 18, 19 e 20 e sviluppa connettori e integrazioni su misura. Il modulo è a pagamento unico per versione di Odoo (prezzo nella sua scheda di Odoo Apps e nella pagina del modulo) e richiede l'abbonamento a FlexigoTech Cloud: piano Connettore, 49 €/mese o 490 €/anno IVA esclusa, fino a 3 account della piattaforma. Con quella connessione le credenziali vengono salvate cifrate, la sincronizzazione viene monitorata e si avvisa via e-mail se fallisce.
Se uno di questi messaggi non si risolve, scrivici con il testo completo e la versione di Odoo che usi.
Continua a leggere
Verificato nel codice del connettore (versione 20.0) e nelle fonti collegate
Fonti
- Codice del modulo: flexigobe_shopify_seller_connector 20.0 (2950bdc0): views/shopify_instance_views.xml
- Codice del modulo: flexigobe_shopify_seller_connector 20.0 (2950bdc0): models/shopify_instance.py
- Codice del modulo: flexigobe_shopify_seller_connector 20.0 (2950bdc0): models/fgt_cloud.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
