Primero, el camino que no pasa por el botón
Para pedidos y productos, Odoo no necesita que pulses nada: hay tareas programadas que llaman a las mismas acciones que Run. Lo que sigue describe el código de Odoo 20.0; el botón existe en las versiones 17, 18, 19 y 20.
- Revisa la tarea programada
Shopify Sync Orders: se instala desactivada y, una vez activa, se ejecuta cada cinco minutos. - Revisa
Shopify Sync Products: también se instala desactivada y se ejecuta cada hora. - Ten presente cómo trabaja la de pedidos: solo la puede ejecutar un administrador y recorre las instancias activas que tienen la sincronización de pedidos activada y un token de acceso. Si una instancia falla, deja el error en el registro del servidor y sigue con las demás.
- Usa
Runcuando quieras lanzarlo a mano: trabaja sobre la instancia que elijas, sin esas condiciones de selección, puede lanzar además stock y webhooks, y si algo falla el error se te muestra.

Antes de pulsar: la pantalla y sus casillas
El botón Run está en la pantalla Sincronización manual de Shopify (Shopify Manual Sync) y se ve siempre, sin ninguna condición. Lo que decide qué hace son los campos de esa ficha.
- Elige la instancia de la tienda en el campo
Instance. - Deja marcada
Sincronizar pedidos(Sync Orders) si quieres traer pedidos: viene marcada por defecto. - Marca
Push Stocksolo si quieres lanzar también esa acción: viene sin marcar. - Marca
Register Webhookssolo si hace falta: viene sin marcar y únicamente la ven los usuarios con permiso de Sales Administrator o de Settings administrator. - Asegúrate de que queda al menos una acción marcada, o el botón se detiene al instante.

Run y, a su lado, mensajes que pueden pararlo.Al pulsar: qué hace, en orden
El botón recorre sus acciones una detrás de otra. Si una se detiene con un error, las siguientes no se ejecutan, y si todo va bien la ventana se cierra.
- Selección. Primero comprueba que haya alguna acción marcada. Si no, se detiene con el aviso que verás más abajo.
- Pedidos (si
Sincronizar pedidosestá marcada). Busca en Shopify pedidos de cualquier estado, con el filtro de fecha de la instancia cuando lo hay. - Primera importación. Si esa búsqueda no encuentra nada y la instancia aún no tiene ningún pedido de Shopify importado, vuelve a leer todo el historial sin filtro de fecha. Una tienda que ya tiene pedidos no repite esa lectura.
- Lo que cambia en la instancia. Si trajo pedidos, guarda la fecha y hora de la última sincronización de pedidos, pone a cero el contador de errores seguidos y vacía el último error de sincronización.
- Productos (cuando esa acción está elegida). Lee los productos de Shopify por páginas, con el tamaño de página de la instancia, y procesa cada producto recibido. Termina cuando no quedan más páginas o se alcanza el máximo de páginas de la instancia, y entonces guarda la fecha de la última sincronización de productos.
- Stock (si
Push Stockestá marcada). Lanza la acción de stock de la instancia. - Webhooks (si
Register Webhooksestá marcada). Comprueba el permiso, la URL y los temas, y después ajusta las suscripciones de la tienda (detalle en la sección siguiente).
Qué hace el paso de webhooks
- El módulo comprueba que quien pulsa sea Sales Administrator o Settings administrator. Las vistas solo ocultan la casilla: la comprobación se hace también al ejecutar.
- Descarta siempre el tema de pedidos actualizados y quita los temas de pedidos o de productos que no estén activados en la instancia.
- Lee las suscripciones que ya existen en Shopify y borra las que apuntan a otra URL, las de un tema que ya no toca y las duplicadas. Si un borrado falla, lo anota en el registro del servidor y sigue.
- Crea en Shopify las suscripciones que faltan, una por tema, y se salta las que ya existen con esa URL.
Si algo falla: qué mensaje, por qué y qué hacer
Seleccione al menos una acción.(Select at least one action.): no había ninguna acción marcada. Marca una y vuelve a pulsar.

Only a Sales Administrator or a Settings administrator can register the store's webhooks.: quien pulsa no tiene ninguno de esos permisos. Que lo haga un usuario que lo tenga.La URL del webhook no está disponible. Compruebe la URL base de Odoo y el token del webhook.(Webhook URL is not available. Check Odoo base URL and webhook token.): revisa esos datos, como pide el propio mensaje.Configure al menos un tema de webhook.(Please configure at least one webhook topic.): configura un tema de webhook en la instancia. También puede salir si, tras quitar los temas de pedidos o de productos no activados, no queda ninguno.La sincronización del pedido de Shopify falló para …: …(Shopify order sync failed for …: …): tras «para» va el dominio de la tienda y tras los dos puntos el error recibido. Lee el error que aparece tras los dos puntos y corrige la causa antes de repetir.
Coste y ayuda
El módulo cuesta 9 € por versión de Odoo, para 17, 18, 19 y 20, sin IVA, y necesita la suscripción a FlexigoTech Cloud: el plan Conector es de 49 €/mes o 490 €/año, sin IVA.
Si estás implantando Odoo y quieres dejar la sincronización de Shopify afinada, FlexigoTech implanta Odoo 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_connector 20.0 (c7078cd8): wizard/shopify_sync_wizard_views.xml
- Código del módulo: flexigobe_shopify_connector 20.0 (c7078cd8): wizard/shopify_sync_wizard.py
- Código del módulo: flexigobe_shopify_connector 20.0 (c7078cd8): models/shopify_instance.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_connector
- 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
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
