Saltar al contenido principal
Shopify

El error «El stock tiene un solo dueño» de Shopify Connector, caso por caso

El mensaje sale al guardar una instancia de Shopify con las dos casillas de stock marcadas a la vez: Sync Stock Enabled y Traer el stock de Shopify. Odoo no guarda la ficha hasta que dejes una sola, porque el stock solo puede tener un dueño: o lo envía Odoo a Shopify, o lo trae Shopify a Odoo.

FlexigoTech · Responsable: Víctor Gómez · Actualizado el 5 de noviembre de 2026

Lo esencial

Módulo
Shopify
Versiones
Odoo 17, 18, 19 y 20
Comprobado
en el código del conector, versión 20.0 · en las fuentes enlazadas al final
Lectura
5 min

Qué ves y en qué momento

Al guardar la ficha de una instancia de Shopify, Odoo puede detener el guardado con este texto: El stock tiene un solo dueño: envíelo de Odoo a Shopify o tráigalo de Shopify a Odoo, no las dos cosas. (Stock has one master: push it from Odoo to Shopify or pull it from Shopify into Odoo, not both.). La ficha no se guarda, así que lo que acabas de cambiar en ella no queda grabado.

En Odoo 20.0 la ficha se abre desde el menú Ventas (Sales), después Shopify, Control Center e Instances, en ese orden. Las dos casillas implicadas están en la pestaña Operations, dentro del grupo Configuración de sincronización (Sync Settings): Sync Stock Enabled y Traer el stock de Shopify (Pull stock from Shopify). Según el código, las dos vienen desmarcadas por defecto.

Esquema hecho con código, no una pantalla de Odoo: de arriba abajo, el menú de instancias, guardar con las casillas de stock y el mensaje de error
Esquema a partir del código publicado del módulo (Odoo 17.0, 18.0, 19.0 y 20.0). Los rótulos van en inglés, el texto original del código.
Your Odoo doesn't talk to Amazon, Temu or Shopify?
Vídeo: Your Odoo doesn't talk to Amazon, Temu or Shopify? (vídeo en inglés)

Un caso para verlo

Ejemplo Caso ilustrativo: la empresa y sus datos son inventados para explicar el flujo.

Imagina una tienda ficticia, Cerámicas del Norte, que vende en Shopify y lleva el inventario en Odoo. Quien administra la conexión tiene marcada Sync Stock Enabled: Odoo es el dueño del stock y envía a Shopify su cantidad a mano. Un día piensa que, ya puestos, también quiere que Shopify le cuente lo que pasa en la tienda. Marca Traer el stock de Shopify y pulsa guardar. Aparece el mensaje y la ficha sigue como estaba.

La conexión sigue intacta: el módulo ha impedido una configuración con dos dueños. El comentario del propio código lo explica así: con las dos activas, el envío de Odoo a Shopify y la lectura de Shopify a Odoo se escribirían el mismo número uno encima del otro.

Lo que debe aprender quien administra es que primero se decide quién manda con el stock y después se marca una sola casilla. En la tienda del ejemplo, si Odoo sigue siendo el dueño, se desmarca la que trae el stock y se guarda sin más.

Qué comprueba exactamente el módulo

Es una comprobación que se hace al guardar y que se dispara cuando cambia cualquiera de las dos casillas. El módulo mira las instancias que se están guardando: si alguna tiene a la vez activadas Sync Stock Enabled y Traer el stock de Shopify, detiene la acción con el mensaje. En ese código no hay más condición: ni el estado de la conexión, ni la tienda, ni el almacén.

La ayuda de cada casilla da el significado de cada sentido:

  • Sync Stock Enabled: Odoo es el dueño del stock y su cantidad a mano se envía a Shopify. La ayuda añade que no puede estar activada a la vez que Traer el stock de Shopify.
  • Traer el stock de Shopify: Shopify es el dueño del stock. Cada lectura fija el stock a mano de la ubicación principal de Shopify en la ubicación de Odoo vinculada, con un ajuste de inventario, restando lo que Odoo ha entregado y Shopify aún no ha cumplido.

La ayuda de la segunda casilla avisa además de que el stock a mano de Shopify incluye lo que tiene como dañado, en control de calidad o como stock de seguridad, y que en Odoo es stock como el resto. También dice que no puede estar activada con otra tienda que traiga stock a la misma ubicación de Odoo.

Cómo resolverlo

  1. Abre la instancia desde el menú de instancias de Shopify (la ruta está más arriba).
  2. Ve a la pestaña Operations y busca el grupo Configuración de sincronización.
  3. Decide quién es el dueño del stock de esa tienda. Es una decisión de negocio, no del módulo.
  4. Si el dueño es Odoo, deja marcada Sync Stock Enabled y desmarca Traer el stock de Shopify.
  5. Si el dueño es Shopify, deja marcada Traer el stock de Shopify y desmarca Sync Stock Enabled.
  6. Guarda la ficha. Si ya solo queda una casilla marcada, esta comprobación deja de detener el guardado.

Si eliges que mande Shopify, la ayuda de la casilla dice que activarla no ejecuta la lectura: hay que activar también la acción programada de traída de stock que nombra esa ayuda. Sobre la lectura de stock tienes otro artículo: el botón Pull Stock, paso a paso.

Qué comprobar después

  • Que la ficha se guarda sin mensaje y que en el grupo Configuración de sincronización queda marcada una sola de las dos casillas.
  • Si has elegido Shopify como dueño, que la acción programada que menciona la ayuda está activada.
  • Si otra tienda trae stock a la misma ubicación de Odoo, que no coinciden dos tiendas en esa ubicación: la ayuda lo señala como otra restricción de la casilla Traer el stock de Shopify.

Con Odoo en castellano, el texto del error es el de arriba. Este esquema, hecho con código a partir de las traducciones publicadas, recoge cómo se lee en otros idiomas:

Esquema hecho con código, no una pantalla de Odoo: el mismo mensaje en castellano, alemán, francés, italiano y portugués
Esquema a partir de las traducciones publicadas del módulo.

Versiones y coste

El mensaje está en el código publicado de las cuatro ramas (17.0, 18.0, 19.0 y 20.0). La condición, los campos y el menú descritos corresponden al código de Odoo 20.0. El módulo está publicado en Odoo Apps para Odoo 17, 18, 19 y 20 a 9 € por versión de Odoo, pago único, sin IVA, y necesita la suscripción a FlexigoTech Cloud: el plan Conector cuesta 49 €/mes o 490 €/año, sin IVA.

Cómo ayuda FlexigoTech

Si estás implantando Odoo y todavía no tienes claro quién debe ser el dueño del stock entre tu tienda y tu inventario, FlexigoTech implanta Odoo 17, 18, 19 y 20 y desarrolla conectores e integraciones a medida. Esa decisión conviene tomarla antes de marcar ninguna casilla.

Una casilla marcada, la otra no

El mensaje responde a una regla del módulo que se comprueba al guardar. Deja marcada solo la casilla del sentido que elijas y la ficha se guarda.

Sigue leyendo

Qué hace el botón Pull Stock de Shopify Connector, paso a pasoQué hace el botón Pull Stock de Shopify Connector en Odoo 20: cuándo aparece, qué comprueba, qué ajustes de inventario crea y qué errores puede dar.
Comprobado en el código del conector (versión 20.0) y en las fuentes enlazadas

Fuentes