Saltar al contenido principal
Shopify

Botón «Enviar stock» de Shopify Connector for Odoo: qué hace paso a paso

El botón Enviar stock (Push Stock) manda a Shopify la cantidad libre de cada producto enlazado a la tienda; Odoo ya lo hace solo con una tarea programada cada 20 minutos, así que el botón sirve para lanzarlo en el momento. Aquí tienes cuándo se ve, qué comprueba, qué cambia en Odoo y qué mensajes puede dar.

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
6 min

Dónde está el botón y cuándo hace falta pulsarlo

¿Dónde está el botón Enviar stock (Push Stock) y cuándo aparece?

Está en la ficha de la tienda, en la pantalla Instancias de Shopify (Shopify Instances). Se llega desde el menú Shopify › Configuración › Tiendas (Shopify › Configuration › Stores); para verlo hacen falta los permisos que pide cada tramo: Visor (Viewer) para Shopify y Operador (Operator) para Configuración. El botón no tiene condición de visibilidad: se ve en la ficha en las versiones 17, 18, 19 y 20 de Odoo. El funcionamiento que sigue es el del código del módulo en Odoo 20.0. Con Odoo en castellano el botón se llama Enviar stock; en alemán, Bestand übertragen; en francés, Envoyer le stock; en italiano, Invia stock; en portugués, Enviar stock.

Esquema hecho con código: el menú Shopify › Configuration › Stores, el botón Push Stock y, a un lado, los mensajes de ubicación que pueden pararlo
Esquema hecho con código a partir del código publicado del módulo, no es una captura de Odoo: el menú, el botón y los mensajes de ubicación que pueden pararlo.
Esquema hecho con código del texto Push Stock según el idioma: Enviar stock en castellano, Bestand übertragen en alemán, Envoyer le stock en francés, Invia stock en italiano y Enviar stock en portugués
Esquema hecho con código a partir de las traducciones publicadas del módulo, no es una captura de Odoo: cómo se ve el texto del botón según el idioma de Odoo.

¿Tengo que pulsarlo o Odoo envía el stock solo?

El camino normal es automático: la tarea programada Enviar stock a Shopify (Shopify Push Stock) llega a este mismo envío cada 20 minutos y está activa desde la instalación. El botón es la excepción: sirve para lanzar el envío en el momento, sin esperar a la tarea. Cuando termina, el campo Último envío de stock (Last Stock Push) lleva la fecha; se ve en la ficha y en la lista de tiendas, es de solo lectura y lo escribe el código, no tú. El botón Restablecer sincronización (Reset Sync) lo vacía.

¿Y el stock en sentido contrario, de Shopify a Odoo?

Es otra tarea: Importar stock de Shopify (Shopify → Odoo) (Shopify Pull Stock (Shopify → Odoo)), cada 6 horas y activa al instalar. Su método solo actúa si está marcada la casilla Sincronización de stock activada (Sync Stock Enabled), que está en la ficha de Instancias de Shopify, pestaña Operaciones (Operations), grupo Configuración de sincronización (Sync Settings), y por defecto está desmarcada. El método del botón Enviar stock, tal como está escrito, no mira esa casilla.

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)

Qué comprueba y qué envía

¿Qué productos envía?

Por cada tienda, el módulo busca los productos enlazados con ella que están activos y tienen un artículo de inventario de Shopify asignado. Después descarta los de una compañía distinta a la de la tienda (Compañía, Company), aunque el enlace viniera de antes. Si no queda ninguno, no envía nada a Shopify: solo pone la fecha en Último envío de stock y pasa a la siguiente tienda.

¿Qué cantidad manda: la que hay o la disponible?

La libre: las existencias menos lo que ya está reservado, calculada con la compañía de la tienda, redondeada a número entero y a cero si no hay valor. El motivo, según el propio código: un pedido de Shopify confirmado en Odoo reserva la unidad, pero las existencias solo bajan cuando se valida la entrega. Si se enviaran las existencias, entre la venta online y el envío Shopify volvería a ver esa unidad como disponible, y con la última unidad un segundo cliente podría comprarla. Más sobre pedidos y albaranes en lo que añade el módulo a las ventas y en lo que añade a los albaranes.

Si envío otra vez las mismas cantidades, ¿las ignora Shopify como duplicado?

No. Cada ejecución del envío genera una clave propia y la varía en cada bloque, justo para que unas cantidades idénticas enviadas más tarde no se tomen por un duplicado. El envío va en bloques de cien productos como máximo. En cada bloque se fija la cantidad disponible en Shopify tal como la calcula Odoo, con el motivo de corrección y sin compararla con lo que Shopify tenga en ese momento.

Qué cambia y qué errores puede dar

¿Qué ubicación de Shopify usa y qué cambia en Odoo?

Primero busca la ubicación: usa la que la tienda ya tiene guardada y, si no hay ninguna, pregunta a Shopify, toma la primera que devuelve y guarda su identificador y su nombre. En Odoo lo que cambia son fechas: tras enviar cada bloque, anota la fecha de sincronización de stock en cada producto de ese bloque, y al final escribe Último envío de stock en la tienda. Si un error detiene la acción, el mensaje sale y esa última fecha no se guarda.

¿Qué mensajes de ubicación o de conexión pueden salir al pulsar el botón?

Estos. No se encontraron ubicaciones de Shopify para … (No Shopify locations were found for …): la tienda no tenía ubicación guardada y Shopify no devolvió ninguna; en lugar de los puntos va el dominio de la tienda. Shopify no devolvió un ID de ubicación válido. (Shopify did not return a valid location id.): Shopify devolvió una ubicación sin identificador. Estos dos de ubicación solo se pueden dar cuando falta la ubicación guardada. Además está … no está conectado con Shopify. Abra la pestaña Connection y siga los pasos de configuración. (Shopify is not connected for …. Open the Connection tab and follow the setup steps.): la tienda sigue sin token de acceso; en lugar de los puntos va el nombre de la tienda. Abre su ficha, pestaña Connection, y sigue los pasos de configuración.

¿Y los mensajes de la llamada a Shopify?

También salen al pulsar el botón. La llamada GraphQL de Shopify falló (…): … (Shopify GraphQL call failed (…): …) sale cuando Shopify responde con un código de error de 400 o superior; el mensaje trae ese código y el principio de la respuesta. Antes de rendirse, el módulo trata el 401 y el 429: ante un 401 intenta renovar el acceso y repite, si hay token de renovación o credenciales de cliente; ante un 429 espera y repite, con hasta tres intentos en una llamada normal. También pueden salir GraphQL de Shopify devolvió errores: … (Shopify GraphQL returned errors: …) y La llamada GraphQL de Shopify agotó los reintentos. (Shopify GraphQL call exhausted retries.). En todos conserva el texto completo del mensaje: es lo que necesita quien revise la conexión.

Si lo montas con ayuda

FlexigoTech implanta Odoo 17, 18, 19 y 20 y desarrolla conectores e integraciones a medida. El módulo es de pago único por versión de Odoo (precio en su ficha de Odoo Apps y en la página del módulo) y necesita la suscripción a FlexigoTech Cloud: plan Conector, 49 €/mes o 490 €/año sin IVA, hasta 3 cuentas de la plataforma. Con esa conexión se guardan cifradas las credenciales, se vigila la sincronización y se avisa por correo si falla.

Si alguno de estos mensajes no se resuelve, escríbenos con el texto completo y la versión de Odoo que usas.

Sigue leyendo

Qué añade el conector de Shopify a los pedidos de venta de OdooQué añade el conector de Shopify al pedido de venta de Odoo: campos del grupo Shopify, estado de entrega y los botones para enviar, cancelar y reembolsar.Qué añade Shopify Connector for Odoo a los albaranes de InventarioQué añade Shopify Connector for Odoo a los albaranes de Inventario: campos de fulfillment, los botones de reintento y seguimiento, y cuándo se ven.
Comprobado en el código del conector (versión 20.0) y en las fuentes enlazadas

Fuentes