Abans de la primera passada
Ve desactivada en instal·lar
La tasca Shopify Sync Orders corre cada 5 minuts, però s'instal·la desactivada: fins que algú l'activi no hi ha passades. Existeix a les branques 17, 18, 19 i 20. A Odoo 17.0 està configurada per repetir-se sense fi.

El nom de la tasca depèn de l'idioma del teu Odoo: amb Odoo en castellà és Sincronizar pedidos de Shopify; en alemany, Shopify-Bestellungen synchronisieren; en francès, Synchroniser les commandes Shopify; en italià, Sincronizza ordini Shopify; en portuguès, Sincronizar encomendas Shopify.

Només l'executa un administrador
El primer que comprova el mètode és que qui l'executa sigui administrador del sistema. Si no ho és, s'atura amb Only an administrator can run this scheduled action. i no arriba a mirar cap botiga.
No totes les botigues entren al recorregut
La tasca només atén les botigues que són actives, tenen habilitada la sincronització de comandes i guarden un token d'accés o el secret de l'API de l'app. El codi explica l'últim requisit: una botiga amb credencials de client pot no tenir token desat fins que la seva primera crida el genera, així que n'hi ha prou que tingui credencials. El que decideix qui entra és aquest filtre.
Les fitxes de les botigues s'obren des de Shopify › Configuration › Stores. Cada tram del menú demana un permís: Configuration demana Operator i Shopify demana Viewer. Si no en tens un, no veus aquest tram.

Què passa a cada passada
Una botiga tranquil·la no recorre tot el seu historial
La primera cerca uneix els termes d'importació de la botiga amb un filtre de data. Si no troba res, el codi només repeteix la cerca sense el filtre de data quan la botiga no ha importat mai comandes. Si ja n'havia importat alguna, la passada acaba aquí: el codi tracta aquest resultat com l'estat normal d'una botiga sense moviment, i repetir la cerca sense filtre recorreria l'historial des de la comanda més antiga a cada passada.
Zero comandes no és un error, però deixa un missatge
Si la passada no porta cap comanda (ni tan sols després de la cerca sense filtre, quan la botiga no havia importat mai res), el codi no ho tracta com un error i deixa un missatge a la fitxa de la botiga: Shopify order sync returned 0 orders for …. Check that this app is connected to the expected shop and add scope read_all_orders if you need orders older than 60 days. En lloc dels punts suspensius hi va el domini de la botiga. En aquest cas no canvia la data de l'última sincronització.
Si portes dies sense veure comandes, llegeix aquest missatge: et demana verificar que l'app està connectada a la botiga correcta i, si necessites comandes de més de 60 dies, afegir l'scope read_all_orders.
Si es talla pel límit de pàgines, la data no retrocedeix
Quan la passada importa comandes, desa la data de l'última sincronització, posa a zero el comptador d'errors seguits i esborra l'últim error. Si es va aturar pel límit de pàgines, desa la data de l'última comanda importada en lloc de l'hora actual, sempre que sigui posterior a l'última sincronització desada (o que no n'hi hagués cap); si no ho és, desa l'hora actual. Així la data no es mou cap enrere: el codi ho evita perquè una passada tallada que va començar pel principi de l'historial no obligui a recórrer-lo de nou mentre les comandes d'avui esperen.
En aquest cas la tasca deixa a més un missatge a la fitxa de la botiga avisant que queden comandes pendents i des de quina data continuarà la propera passada.
Una botiga darrere l'altra, i quan falla de debò deixa rastre
La tasca recorre les botigues una a una i crida la sincronització de cadascuna dins d'un bloc que atrapa els errors. Si es produeix un error inesperat, la botiga suma un al seu comptador d'errors seguits i desa l'últim error. L'error puja fins a la tasca, que l'anota al registre del servidor amb el nom de la botiga i continua amb la següent: el fallada d'una botiga no frena les altres.
Hi ha dues excepcions. Si FlexigoTech Cloud ha pausat la sincronització, el codi descarta el registre d'aquesta passada perquè no quedi com a fallida. I un avís propi del mòdul, dels que Odoo mostra en un diàleg d'error, no suma al comptador d'errors seguits.
Si no sembla fer res
- Comprova que la tasca està activa: s'instal·la desactivada.
- Comprova que qui l'executa és administrador del sistema.
- Recorda el que demana la tasca a cada botiga: ser activa, tenir habilitada la sincronització de comandes i guardar un token d'accés o el secret de l'app. Les fitxes s'obren des de
Shopify › Configuration › Stores. - Llegeix els missatges de la fitxa de la botiga: el de zero comandes et diu què verificar.
- Recorda que, sense subscripció o amb el servei suspès, s'atura el que dona la subscripció; les dades es queden al teu Odoo.
Subscripció i ajuda
El mòdul és de pagament únic per versió i necessita la subscripció a FlexigoTech Cloud: pla Connector, 49 €/mes o 490 €/any sense IVA, fins a 3 comptes de la plataforma. La connexió passa per FlexigoTech Cloud, que guarda xifrades les credencials, vigila la sincronització i avisa per correu si falla. El mòdul està publicat per a Odoo 17, 18, 19 i 20; consulta el preu de cada versió a la fitxa d'Odoo Apps o a la pàgina del mòdul.
Per a l'estoc tens un altre article: què fa el botó d'estoc del mòdul. Si vols implantar Odoo amb Shopify o un connector a mida, FlexigoTech implanta Odoo 17, 18, 19 i 20 i desenvolupa connectors i integracions a mida.
Continua llegint
Comprovat al codi del connector (versió 17.0 i 20.0) i a les fonts enllaçades
Fonts
- Codi del mòdul: flexigobe_shopify_seller_connector 20.0 (d7e627b4): data/ir_cron_data.xml
- Codi del mòdul: flexigobe_shopify_seller_connector 17.0 (437257e3): data/ir_cron_data.xml
- Codi del mòdul: flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/shopify_instance.py
- Codi del mòdul: flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/fgt_cloud.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
