Dónde está el botón y quién lo ve
El botón Obtener stock está en la ficha de cada tienda, en la pantalla Instancias de Shopify (Shopify Instances). Esas fichas se abren desde el menú Shopify › Configuración › Tiendas (Shopify › Configuration › Stores). Si no tienes el permiso de un tramo, no ves ese tramo: Configuración (Configuration) pide Operador (Operator) y Shopify pide Visor (Viewer). El botón no depende de ninguna condición de la vista: se ve siempre, y está en Odoo 17, 18, 19 y 20. Lo que sigue describe el código de Odoo 20.

Con Odoo en castellano el botón se llama Obtener stock; en alemán, Bestand abrufen; en francés, Récupérer le stock; en italiano, Recupera stock; y en portugués, Obter stock.


Pasos para usarlo
- Abre
Shopify › Configuración › Tiendasy entra en la ficha de la tienda. - Ve a la pestaña
Operaciones(Operations), grupoConfiguración de sincronización(Sync Settings), y comprueba queSincronización de stock activadaestá marcada. Con los valores por defecto no lo está, y con la casilla sin marcar el botón no hace nada con esa tienda. - Mira el campo
Compañía(Company) de la ficha: el botón solo trabaja con productos de esa compañía. - Si quieres saber qué ubicación de Shopify se consultará, mira
Default Location Giden la pestañaWebhooks. Su ayuda diceGID de ubicación de Shopify GraphQL usado para la sincronización de inventario.Si está vacío, se rellena con la primera ubicación que devuelve Shopify. Lo hace el botón al pulsarlo y también, sin pulsar nada, la tarea programadaEnviar stock a Shopify(Shopify Push Stock), que corre cada 20 minutos y está activa al instalar. - Pulsa
Obtener stock. - Cuando termine, revisa el stock de los productos en la ubicación de Odoo que se haya usado (la elección se explica abajo).
Qué hace por dentro, en orden
- Si
Sincronización de stock activadano está marcada, pasa a la siguiente tienda sin abrir ningún registro. - Abre un registro de sincronización de tipo lectura de stock, en marcha.
- Busca los productos de esa tienda enlazados con Shopify: los activos, con identificador de artículo de inventario y cuyo producto sea de la compañía de la tienda. Si no hay ninguno, cierra el registro como terminado, con una nota, y no sigue.
- Elige la ubicación de Odoo: la ubicación de Shopify marcada como principal y con una ubicación de Odoo asignada. Si no existe, usa el almacén de la tienda o, si no tiene, el primer almacén de la compañía, y de él su ubicación de stock. Si no encuentra ninguna, el registro queda como fallido y se detiene esa tienda, sin lanzar el mensaje de error de más abajo.
- Determina la ubicación de Shopify: la de
Default Location Gido, si está vacía, la primera que devuelve Shopify, que además queda guardada en ese campo. - Pregunta a Shopify la cantidad disponible de cada artículo en esa ubicación, en bloques de hasta 100 artículos.
- Para cada producto del que Shopify ha devuelto cantidad, ajusta el stock de la ubicación de Odoo en la diferencia entre la cantidad de Shopify y la que Odoo tiene ahora en esa ubicación, y anota la fecha de última sincronización de stock de ese enlace. Los productos sin cantidad devuelta se saltan. Si falla uno, se cuenta como error y sigue con el resto.
- Cierra el registro con los productos actualizados y los errores: correcto si no hubo errores, parcial si hubo errores y también actualizados, fallido si hubo errores y ninguno actualizado.
Qué cambia y qué no
Cambia el stock de Odoo: la cantidad de cada producto en la ubicación elegida pasa a ser la cantidad disponible que informa Shopify. El botón lee de Shopify y aplica en Odoo.
La tarea programada Enviar stock a Shopify va en sentido contrario: cada 20 minutos, activa al instalar, manda cantidades de Odoo a Shopify, y lo que envía es la cantidad libre (la que hay menos la ya reservada). Tenlo presente cuando decidas quién manda sobre el stock.
El error que puede dar
Al pulsar Obtener stock, la acción puede parar con La sincronización de stock de Shopify falló para …: … (Shopify stock pull failed for …: …).
- Cuándo sale: cuando algo falla durante la ejecución de la tienda. Los fallos de un producto suelto no lo lanzan: se cuentan como errores y el resto sigue.
- Qué lleva: el primer hueco es el
Dominio de la tienda(Shop Domain) de la ficha; tras los dos puntos va el texto del error original. - Qué queda: el registro de esa ejecución queda como fallido con el error.
- Qué hacer: lee el motivo que va tras los dos puntos y corrige eso. Para saber qué tienda es, compara con
Dominio de la tienda, cuya ayuda pide el dominio exacto de Shopify (por ejemploflexigobe.myshopify.com).
Si la conexión pasa por FlexigoTech Cloud y el servicio rechaza la llamada y la pausa, el registro de esa ejecución se borra en lugar de quedar como fallido.
Precio y ayuda de FlexigoTech
El módulo es de pago único por versión de Odoo (17, 18, 19 y 20) y necesita la suscripción a FlexigoTech Cloud, plan Conector: 49 €/mes o 490 €/año sin IVA, hasta 3 cuentas de la plataforma. El precio de cada versión está en la ficha de Odoo Apps y en la página del módulo. Con la suscripción, el módulo para versiones nuevas de Odoo va incluido si lo compraste en flexigotech.com; en el Odoo App Store, cada versión se compra allí.
Si estás implantando Odoo y quieres dejar el stock de Shopify bien conectado, FlexigoTech implanta Odoo 17, 18, 19 y 20 y desarrolla conectores e integraciones a medida.
Sigue leyendo
Comprobado en el código del conector (versión 20.0) y en las fuentes enlazadas
Fuentes
- Código del módulo: flexigobe_shopify_seller_connector 20.0 (d7e627b4): views/shopify_instance_views.xml
- Código del módulo: flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/shopify_instance.py
- Código del módulo: 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
