La tarea en pocas palabras
La tarea corre una vez al día y viene activa al instalar el módulo. Está en las ramas 17.0, 18.0, 19.0 y 20.0. En Odoo 17 la tarea se repite sin fin.


Qué hace en cada pasada
La tarea no toca todas las cuentas de Amazon: busca las que están activas y tienen activada la sincronización del inventario reservado. Una cuenta que no esté activa, o que no tenga activada esa sincronización, no entra en la pasada (el nombre de la tarea lleva opt-in). Con las cuentas que sí entran, trabaja de una en una:
- Lanza la sincronización de esa cuenta marcándola como venida de la tarea; con esa marca, el texto de resultado que se guarda en la cuenta no se publica además como mensaje en ella.
- Crea en Amazon un informe de inventario reservado y toma su identificador.
- Consulta el estado del informe y espera entre consulta y consulta, hasta que Amazon lo da por
DONE,CANCELLEDoFATAL, o hasta que se acaban los intentos. Si la cuenta no define cuántos intentos ni cuánto esperar, el código usa doce intentos con diez segundos de espera. - Si el informe está en
DONEy trae documento, pide a Amazon el documento del informe y pasa su contenido a la importación de líneas de inventario reservado, cuyos recuentos se añaden al texto de resultado. - Cuando el informe llega a ese punto o se queda en alguno de los casos que se cuentan más abajo, escribe en la cuenta la fecha de la pasada y el texto de resultado.
Si la sincronización de una cuenta termina en error y ese error llega hasta la tarea, la tarea deja un aviso en el log del servidor con el nombre de la cuenta y el error, y sigue con la siguiente cuenta.
Dónde están las cuentas
Las fichas de las cuentas se abren desde el menú Amazon › Configuración › Cuentas (Amazon › Configuration › Accounts). Cada tramo pide un permiso y, si no lo tienes, no ves ese tramo: Amazon pide Lector (Viewer), y Configuración (Configuration) y Cuentas (Accounts) piden Responsable (Manager). El campo Nombre (Name) está en la ficha de Cuentas, pestaña Identidad (Identity), grupo Cuenta (Account), y también en la lista de cuentas. Ese nombre es el que aparece en el aviso del log.
Caso ilustrativo: una cuenta, varios días distintos
Ejemplo Caso ilustrativo: la empresa y sus datos son inventados para explicar el flujo.
Hogar Levante es una empresa inventada que vende en Amazon y tiene una cuenta conectada a su Odoo. Su responsable de sistemas deja la cuenta activa y con la sincronización del inventario reservado activada. Desde ese momento la cuenta entra en la pasada diaria. Estos son los días que puede vivir.
El día en que todo sale bien
La tarea crea el informe, lo consulta hasta que Amazon lo da por DONE, pide el documento y lo importa. El texto de resultado que se guarda en la cuenta lleva, en este orden, Sincronización del inventario reservado FBA de Amazon finalizada. (Amazon FBA reserved inventory sync finished.), Cuenta: … (Account: …) con el nombre de la cuenta, Origen: … (Source: …) con el valor CRON, ID del informe: … (Report ID: …) y Estado reporte: … (Report status: …). Detrás vienen los recuentos de la importación: Filas reporte: … (Report rows: …), Filas procesadas: … (Processed rows: …), Creadas: … (Created: …), Actualizadas: … (Updated: …), Saltadas: … (Skipped: …) y Con error: … (With error: …).
El día en que Amazon no termina el informe
Si tras las consultas el estado no es DONE, no se importa nada ese día. Si Amazon lo marca como CANCELLED o FATAL, el texto añade Amazon no generó un informe de inventario reservado utilizable. (Amazon did not generate a usable reserved inventory report.). Si el estado sigue sin ser final cuando se acaban los intentos, añade Timeout haciendo polling del reporte. Reintenta en unos minutos. (Report polling timed out. Try again in a few minutes.). Con cualquiera de esos textos la cuenta guarda la fecha y el texto, y la tarea sigue con la siguiente cuenta. No vuelve a pedir el informe de esa cuenta en esa pasada: la siguiente es al día siguiente, porque corre una vez al día.
El día en que el informe llega sin documento
Si el informe está en DONE pero Amazon no da su documento, el texto añade Reporte DONE sin reportDocumentId. (DONE report without reportDocumentId.). Tampoco se importa nada, y la cuenta guarda la fecha y el texto.
El día en que algo falla
Si un error llega hasta la tarea, queda el aviso en el log con el nombre de la cuenta, el que Hogar Levante ve en el campo Nombre. La tarea pasa a las demás cuentas y no se detiene.
Qué aprender del caso
La tarea no es un botón ni una pantalla: es una pasada diaria con un resultado por cuenta. Cuando parece que no hace nada, conviene mirar en este orden:
- La tarea. Viene activa al instalar y corre una vez al día. Comprueba que sigue activa.
- La cuenta. Tiene que estar activa y con la sincronización del inventario reservado activada; si no, la tarea no la recoge. Localízala por su
NombreenAmazon › Configuración › Cuentas. - El estado del informe. La línea
Estado reporte: …dice qué contestó Amazon. Si no esDONE, ese día no se importó nada. - El texto de resultado. En los casos descritos arriba, la cuenta guarda la fecha de la pasada y este texto; como la tarea marca la sincronización como suya, el texto no se publica además como mensaje en la cuenta.
- El log del servidor. Si un error llegó hasta la tarea, ahí está el aviso con el nombre de la cuenta.
Para reconocer la tarea en tu Odoo, este es su nombre en cada idioma:

Qué necesita el módulo y cómo te ayuda FlexigoTech
El módulo es de pago único por versión de Odoo y está publicado para 17.0, 18.0, 19.0 y 20.0; el precio de cada una está en la ficha de Odoo Apps y en la página del módulo. Necesita además la suscripción a FlexigoTech Cloud, plan Conector: 49 € al mes o 490 € al año sin IVA, con 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. Sin suscripción, o con el servicio suspendido, se para lo que da la suscripción; los datos se quedan en tu Odoo.
Si estás implantando Odoo y quieres revisar cómo queda la conexión con Amazon, FlexigoTech implanta Odoo 17, 18, 19 y 20 y desarrolla conectores e integraciones a medida.
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_amazon_seller_connector 20.0 (8576afa5): data/ir_cron_data.xml
- Código del módulo: flexigobe_amazon_seller_connector 17.0 (165f66af): data/ir_cron_data.xml
- Código del módulo: flexigobe_amazon_seller_connector 20.0 (8576afa5): models/amazon_spapi_account.py
- apps.odoo.com/apps/modules/20.0/flexigobe_amazon_seller_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
