Ejemplo Caso ilustrativo: la empresa y sus datos son inventados para explicar el flujo.
Taller Aralar es una empresa inventada que vende en un marketplace Mirakl y acaba de instalar Mirakl Connector en su Odoo. Pasan los días y en Odoo no aparece ninguna factura del marketplace. Antes de tocar nada, la persona que lleva Odoo repasa qué hace la tarea Mirakl - Sincronizar facturas y en qué puntos puede quedarse sin hacer nada. Ese repaso es lo que sigue.
Qué hace la tarea en cada pasada
La tarea no mira un marketplace concreto: recorre uno detrás de otro todos los que cumplen la condición. En Odoo 20, cuando corre, hace lo siguiente y en este orden:
- Comprueba que quien la ejecuta es administrador. Si no lo es, se detiene con
Solo un administrador puede ejecutar esta acción planificada.(Only an administrator can run this scheduled action.) y no hace nada más. - Busca los marketplaces que estén activos y tengan habilitada la sincronización de facturas.
- De esos, deja fuera los que no puede llamar: los que van por FlexigoTech Cloud sin clave guardada y, si el permiso que el módulo tiene guardado no incluye el servicio del módulo, todos los de esa ruta (esa comprobación no sale a la red). Los marketplaces que se conectan de forma directa van primero.
- Para cada marketplace que queda, pide sus facturas. Si algo falla en uno, el módulo intenta anotar el error y sigue con el siguiente. La excepción es una pausa de FlexigoTech Cloud, que corta el recorrido.

Mirakl › Configuración › Marketplaces.
Qué hace con las facturas de cada marketplace
Cuando le toca a un marketplace, la tarea hace esto:
- Usa el endpoint de facturas que tenga el marketplace o, si está vacío,
/invoices. - Pide las facturas por páginas, con un tamaño de página y un máximo de páginas (como mínimo una). Para cuando una página llega vacía, cuando trae menos facturas que el tamaño de página, cuando ya se ha alcanzado el total que informa Mirakl o cuando llega al máximo de páginas.
- Procesa cada factura recibida. Si una falla, anota el error con esa factura y continúa con las demás.
Si el operador no expone /invoices, el módulo anota el aviso Endpoint de facturas no disponible (HTTP 404). Este operador no expone /invoices. (Invoices endpoint not available (HTTP 404). This operator does not expose /invoices.), apunta el momento actual como fecha de la última sincronización de facturas y termina con ese marketplace. Con cualquier otro error en la petición anota el error y deja de leer páginas de ese marketplace.
Si FlexigoTech Cloud no deja pasar la llamada (sin suscripción o con una pausa del relé), la pasada se corta: no se marca ni se borra nada y la siguiente pasada sigue. El módulo solo cuenta la pausa, con su código, en el informe de salud de FlexigoTech Cloud. Como los marketplaces directos van primero, ninguno de ellos se queda sin llamar por esa pausa.
Cada cuánto corre y desde cuándo
La tarea corre una vez al día y viene desactivada al instalar: hasta que alguien la active, no hace nada. En Odoo 17 la tarea se repite sin fin. Está en las ramas publicadas 17, 18, 19 y 20.
Las fichas de los marketplaces se abren desde el menú Mirakl › Configuración › Marketplaces (Mirakl › Configuration › Marketplaces).

Mirakl - Sincronizar facturas; en alemán, Mirakl - Rechnungen synchronisieren; en francés, Mirakl - Synchroniser les factures; en italiano, Mirakl - Sincronizza fatture; en portugués, Mirakl - Sincronizar Faturas.El repaso de Taller Aralar, paso a paso
- Confirma que la tarea está activada, porque viene desactivada al instalar.
- Tiene en cuenta que la tarea corre una vez al día, así que no espera ver las facturas al momento.
- Se asegura de que la tarea la ejecuta un administrador. Si no, se detiene con
Solo un administrador puede ejecutar esta acción planificada.. - Tiene presente que la tarea solo coge marketplaces activos y con la sincronización de facturas habilitada: si el suyo no cumple las dos cosas, no entra en la pasada. Sus fichas se abren desde
Mirakl › Configuración › Marketplaces. - Si el marketplace va por FlexigoTech Cloud, tiene presente que sin clave guardada no se llama, y que tampoco se llama a ninguno de esa ruta si el permiso guardado no incluye el servicio del módulo.
- Si el operador no expone
/invoices, el módulo anota el avisoEndpoint de facturas no disponible (HTTP 404). Este operador no expone /invoices., apunta el momento actual como fecha de la última sincronización de facturas y termina con ese marketplace. - Si hay otros errores, recuerda que el módulo intenta guardar una fila de registro asociada al marketplace y que también escribe el error en el log del servidor.
Qué enseña el caso
Si la tarea no trae nada, conviene revisar, por este orden: primero que esté activada, porque viene desactivada al instalar y, mientras lo esté, no corre. Después, en el orden en que el código las aplica: administrador, marketplace que cumpla las condiciones, ruta de FlexigoTech Cloud y, por último, los errores anotados.
Sobre los errores, el módulo intenta escribir una fila de registro con el nivel, la operación, el método, la dirección llamada, el estado de la respuesta y el mensaje de error. Si al crear la fila se produce un error, deja un aviso en el log del servidor.
Cómo ayuda FlexigoTech
FlexigoTech implanta Odoo 17, 18, 19 y 20 y desarrolla conectores e integraciones a medida. Mirakl Connector está publicado en Odoo Apps para 17, 18, 19 y 20: puedes ver la ficha de Odoo Apps o la página del módulo.
Sigue leyendo
Comprobado en el código del conector (versión 17.0 y 20.0) y en las fuentes enlazadas
Fuentes
- Código del módulo: flexigobe_mirakl_connector 20.0 (aa05e537): data/ir_cron_data.xml
- Código del módulo: flexigobe_mirakl_connector 17.0 (e430de3e): data/ir_cron_data.xml
- Código del módulo: flexigobe_mirakl_connector 20.0 (aa05e537): models/mirakl_instance.py
- Código del módulo: flexigobe_mirakl_connector 20.0 (aa05e537): models/mirakl_ai.py
- apps.odoo.com/apps/modules/20.0/flexigobe_mirakl_connector
- flexigotech.com/en/services.html
