Saltar al contenido principal
Shopify

«Sincronizar pedidos de Shopify»: lo que no te cuentan de la tarea

La tarea programada Sincronizar pedidos de Shopify (Shopify Sync Orders) corre cada 5 minutos y recorre las tiendas activas que tienen habilitada la sincronización de pedidos y credenciales guardadas, pero viene desactivada al instalar el módulo. Si no hace nada, mira primero si está activa, quién la ejecuta y si la tienda cumple esas condiciones; el mensaje de cero pedidos de la ficha de la tienda te orienta después.

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 17.0 y 20.0 · en las fuentes enlazadas al final
Lectura
5 min

Antes de la primera pasada

Viene desactivada al instalar

La tarea Sincronizar pedidos de Shopify corre cada 5 minutos, pero se instala desactivada: hasta que alguien la active no hay pasadas. Existe en las ramas 17, 18, 19 y 20. En Odoo 17.0 está configurada para repetirse sin fin.

Esquema de la tarea programada de pedidos de Shopify, cada 5 minutos y desactivada al instalar, junto al menú de las tiendas
Esquema hecho con código a partir del código publicado del módulo, no es una captura de Odoo. Los rótulos van en inglés, como en el código.

El nombre de la tarea depende del idioma de tu Odoo: con Odoo en castellano es Sincronizar pedidos de Shopify; en alemán, Shopify-Bestellungen synchronisieren; en francés, Synchroniser les commandes Shopify; en italiano, Sincronizza ordini Shopify; en portugués, Sincronizar encomendas Shopify.

Esquema con el nombre de la tarea según el idioma de Odoo: castellano, alemán, francés, italiano y portugués
Esquema hecho con código a partir de las traducciones publicadas del módulo, no es una captura de Odoo.

Solo la ejecuta un administrador

Lo primero que comprueba el método es que quien lo ejecuta sea administrador del sistema. Si no lo es, se detiene con Only an administrator can run this scheduled action. y no llega a mirar ninguna tienda.

No todas las tiendas entran en el recorrido

La tarea solo atiende las tiendas que están activas, tienen habilitada la sincronización de pedidos y guardan un token de acceso o el secreto de la API de la app. El código explica el último requisito: una tienda con credenciales de cliente puede no tener token guardado hasta que su primera llamada lo genera, así que basta con que tenga credenciales. Lo que decide quién entra es ese filtro.

Las fichas de las tiendas se abren desde Shopify › Configuración › Tiendas (Shopify › Configuration › Stores). Cada tramo del menú pide un permiso: Configuración (Configuration) pide Operador (Operator) y Shopify pide Visor (Viewer). Si no tienes uno de ellos, no ves ese tramo.

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é pasa en cada pasada

Una tienda tranquila no recorre todo su historial

La primera búsqueda une los términos de importación de la tienda con un filtro de fecha. Si no encuentra nada, el código solo repite la búsqueda sin el filtro de fecha cuando la tienda no ha importado pedidos nunca. Si ya había importado alguno, la pasada termina ahí: el código trata ese resultado como el estado normal de una tienda sin movimiento, y repetir la búsqueda sin filtro recorrería el historial desde el pedido más antiguo en cada pasada.

Cero pedidos no es un error, pero deja un mensaje

Si la pasada no trae ningún pedido (ni siquiera tras la búsqueda sin filtro, cuando la tienda no había importado nada nunca), el código no lo trata como un fallo y deja un mensaje en la ficha de la tienda: La sincronización de pedidos de Shopify devolvió 0 pedidos para …. Comprueba que esta aplicación está conectada a la tienda esperada y añade el scope read_all_orders si necesitas pedidos de más de 60 días. En lugar de los puntos suspensivos va el dominio de la tienda. En ese caso no cambia la fecha de última sincronización.

Si llevas días sin ver pedidos, lee ese mensaje: te pide verificar que la app está conectada a la tienda correcta y, si necesitas pedidos de más de 60 días, añadir el scope read_all_orders.

Si se corta por el límite de páginas, la fecha no retrocede

Cuando la pasada importa pedidos, guarda la fecha de última sincronización, pone a cero el contador de errores seguidos y borra el último error. Si se detuvo por el límite de páginas, guarda la fecha del último pedido importado en vez de la hora actual, siempre que sea posterior a la última sincronización guardada (o que no hubiera ninguna); si no lo es, guarda la hora actual. Así la fecha no se mueve hacia atrás: el código lo evita para que una pasada cortada que empezó por el principio del historial no obligue a recorrerlo de nuevo mientras los pedidos de hoy esperan.

En ese caso la tarea deja además un mensaje en la ficha de la tienda avisando de que quedan pedidos pendientes y desde qué fecha seguirá la siguiente pasada.

Una tienda detrás de otra, y cuando falla de verdad deja rastro

La tarea recorre las tiendas una a una y llama a la sincronización de cada una dentro de un bloque que atrapa los errores. Si ocurre un error inesperado, la tienda suma uno a su contador de errores seguidos y guarda el último error. El error sube hasta la tarea, que lo anota en el registro del servidor con el nombre de la tienda y sigue con la siguiente: el fallo de una tienda no frena a las demás.

Hay dos excepciones. Si FlexigoTech Cloud ha pausado la sincronización, el código descarta el registro de esa pasada para que no quede como fallida. Y un aviso propio del módulo, de los que Odoo muestra en un diálogo de error, no suma al contador de errores seguidos.

Si no parece hacer nada

  • Comprueba que la tarea está activa: se instala desactivada.
  • Comprueba que quien la ejecuta es administrador del sistema.
  • Recuerda lo que pide la tarea a cada tienda: estar activa, tener habilitada la sincronización de pedidos y guardar un token de acceso o el secreto de la app. Las fichas se abren desde Shopify › Configuración › Tiendas.
  • Lee los mensajes de la ficha de la tienda: el de cero pedidos te dice qué verificar.
  • Recuerda que, sin suscripción o con el servicio suspendido, se para lo que da la suscripción; los datos se quedan en tu Odoo.

Suscripción y ayuda

El módulo es de pago único por versión y necesita la suscripción a FlexigoTech Cloud: plan Conector, 49 € al mes o 490 € al año sin IVA, hasta 3 cuentas de la plataforma. La conexión pasa por FlexigoTech Cloud, que guarda cifradas las credenciales, vigila la sincronización y avisa por correo si falla. El módulo está publicado para Odoo 17, 18, 19 y 20; consulta el precio de cada versión en la ficha de Odoo Apps o en la página del módulo.

Para el stock tienes otro artículo: qué hace el botón de stock del módulo. Si quieres implantar Odoo con Shopify o un conector a medida, FlexigoTech implanta Odoo 17, 18, 19 y 20 y desarrolla conectores e integraciones a medida.

Sigue leyendo

Qué hace el botón «Obtener stock» del conector de Shopify para OdooQué hace el botón Obtener stock del conector de Shopify para Odoo: cuándo aparece, qué comprueba, qué cambia en tu stock y qué error puede dar.Aviso «es ahora la ubicación principal» del conector de Shopify para OdooQué significa el aviso «es ahora la ubicación principal para …» del conector de Shopify para Odoo, cuándo sale y cómo cambiar la ubicación principal.Error al crear el pedido de venta: faltan datos de ShopifyQué significa el aviso de Shopify Connector for Odoo al pulsar «Crear pedido de venta» sin datos del pedido, cuándo sale y cómo resolverlo.
Comprobado en el código del conector (versión 17.0 y 20.0) y en las fuentes enlazadas

Fuentes