Quan apareix i què necessita
El botó Pull Stock és a la fitxa de Shopify Instances, que s'obre des del menú Vendes › Shopify › Control Center › Instances (amb Odoo en català, el primer tram es diu Vendes). Existeix a les branques 17, 18, 19 i 20 del mòdul i es veu sempre, sense cap condició.

Pull Stock i el que el pot aturar.Perquè faci alguna cosa, la instància necessita la casella Pull stock from Shopify activa: així Shopify passa a ser el propietari de l'estoc. Segons la seva ajuda, no pot estar activa alhora que l'enviament d'estoc (Sync Stock Enabled) ni amb una altra botiga que porti estoc a la mateixa ubicació d'Odoo. L'ajuda afegeix que el que Shopify compta com a malmès, en control de qualitat o com a estoc de seguretat entra a la seva existència: a Odoo és estoc com la resta.

Pas a pas
- Comença pel camí automàtic. A la fitxa de
Shopify Instances, pestanyaOperations, grupSync Settings, activaPull stock from Shopify. Ve desactivada per defecte. - Activa també la tasca programada
Shopify Pull Stock (Shopify → Odoo): s'executa cada sis hores i ve desactivada en instal·lar. L'ajuda de la casella ho avisa: activar-la no llança la baixada. - Prem
Pull Stocknomés quan vulguis portar l'estoc ara, sense esperar la tasca. És el camí manual i recorre el que segueix. - Abans de crear res, el botó comprova que la casella està activa. Si no ho està, s'atura i no canvia res.
- Després comprova que qui prem té permisos d'Inventari, perquè la baixada fa ajustos d'inventari. Si no els té, s'atura amb el missatge de permisos de la taula.
- Crea una entrada al registre de sincronització, de tipus baixada d'estoc, en curs.
- Cerca els vincles de producte actius d'aquesta instància que tenen element d'inventari de Shopify i descarta els d'un producte d'una altra companyia vinculat abans d'una correcció. Si no en queda cap, tanca el registre com a acabat, amb una nota, i no canvia res.
- Decideix la ubicació d'Odoo: la enllaçada amb la ubicació principal de Shopify o, si no n'hi ha, la ubicació d'estoc del magatzem de la botiga (de la seva companyia). Si no en troba cap, marca el registre com a fallit i hi deixa el motiu.
- Revisa que cap altra botiga activa amb la casella activada porti estoc a aquesta mateixa ubicació, a una dins seu o a una que la contingui. Si passa, marca el registre com a fallit i para sense tocar l'estoc.
- Utilitza la ubicació de Shopify desada a
Default Location Gid(pestanyaWebhooksde la fitxa). Si és buida, demana a Shopify la seva primera ubicació i la hi desa. - Pregunta a Shopify, en blocs de cent articles, quant n'hi ha en aquesta ubicació (el que hi ha a dins, inclòs el que ja està compromès).
- Salta els productes amb seguiment per lots o números de sèrie, els que no s'emmagatzemen i els kits, i els anota. Els productes per als quals Shopify no ha retornat quantitat es deixen sense tocar.
- Si a la ubicació d'Odoo (amb les seves filles) hi ha un recompte pendent d'aquest producte, no el trepitja: el deixa sense ajustar i ho anota.
- Calcula la diferència: existències de Shopify, menys el que Odoo ha lliurat des d'aquesta ubicació (amb les seves filles) per a comandes obertes de la botiga i Shopify encara no ha complert, menys el que Odoo té disponible a la ubicació. No compta el que ha complert el connector ni les comandes que Shopify ha complert per una altra via.
- Si la diferència és positiva, crea i aplica un ajust d'inventari que puja l'estoc de la ubicació. Si és negativa, el baixa traient de les existències de la ubicació (filles i paquets inclosos, mai el que pertany a un propietari), per ordre de sortida. Si Odoo no té estoc ajustable suficient per baixar, no ajusta aquest producte i ho compta com a error.
- Cada producte va a part: si un falla, es compta com a error i continua amb el següent. Quan n'ajusta un, anota la data de sincronització al seu vincle.
- Tanca el registre amb una nota: quantes quantitats ha portat i quins productes ha saltat, ha deixat amb recompte pendent o no ha pogut baixar. Queda correcte si no hi ha hagut errors, parcial si hi ha hagut errors i alguna cosa s'ha actualitzat, i fallit si hi ha hagut errors i res no s'ha actualitzat.
Alguns missatges que pot donar el botó
| Missatge | Quan surt | Què fer |
|---|---|---|
Pulling stock from Shopify makes inventory adjustments: it needs Inventory rights. | En prémer el botó sense permisos d'Inventari. | Que el premi un usuari amb permisos d'Inventari. |
Shopify stock pull failed for …: … | Si alguna cosa falla durant la baixada, ja amb el registre creat. Primer va el domini de la botiga (Shop Domain) i després el motiu. | Llegeix el motiu després dels dos punts: el registre queda com a fallit amb aquest text. |
Si FlexigoTech Cloud ha pausat el servei, el codi esborra l'entrada del registre i no la deixa com a fallida; en aquest cas el missatge de fallada de l'última fila no es genera.

Què comprovar després
Obre el registre d'aquesta execució: el seu estat i la seva nota diuen quantes quantitats s'han portat i quins productes s'han saltat, s'han deixat per un recompte pendent o no s'han pogut baixar. Els ajustos queden a l'historial d'inventari i es valoren com qualsevol altre. Si un producte surt a la nota per un recompte pendent, la mateixa nota indica aplicar-lo o esborrar-lo a Odoo.
Cost i ajuda
El mòdul costa 9 € per versió d'Odoo, per a 17, 18, 19 i 20, sense IVA i de pagament únic. Necessita a més la subscripció a FlexigoTech Cloud: el pla Connector és de 49 €/mes o 490 €/any sense IVA.
FlexigoTech implanta Odoo 17, 18, 19 i 20 i desenvolupa connectors i integracions a mida.
Continua llegint
Comprovat al codi del connector (versió 20.0) i a les fonts enllaçades
Fonts
- Codi del mòdul: flexigobe_shopify_connector 20.0 (c7078cd8): views/shopify_instance_views.xml
- Codi del mòdul: flexigobe_shopify_connector 20.0 (c7078cd8): models/shopify_instance.py
- Codi del mòdul: flexigobe_shopify_connector 20.0 (c7078cd8): models/fgt_cloud.py
- apps.odoo.com/apps/modules/17.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/18.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/19.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
