El botón está en la ficha de Enviar a Amazon (Send to Amazon), que se abre desde el menú Amazon › FBA › Entrada / Enviar a Amazon (Amazon › FBA › Inbound / Send to Amazon). Cada tramo de ese menú pide el permiso Lector (Viewer). El botón existe en Odoo 17, 18, 19 y 20; los mensajes y el orden de comprobaciones que ves aquí son los del código publicado para Odoo 20. Estas son las ideas que conviene corregir antes de pulsarlo, con lo que el código del módulo hace de verdad.

Ideas equivocadas sobre el botón de empaquetado
«El botón está en todas las fichas de envío»
La realidad es que el botón se oculta cuando la ficha no tiene Grupos de embalaje. Con los valores por defecto no se ve. La condición es la misma en Odoo 17, 18, 19 y 20: mientras el plan no tenga grupos de embalaje, no aparece.
Tampoco lo vas a ver con el mismo texto en todos los idiomas. Con Odoo en castellano se llama Establecer información de empaquetado; con otro idioma, según las traducciones publicadas del módulo:

Establecer información de empaquetado; en alemán, Verpackungsinformationen festlegen; en francés, Définir les informations d'emballage; en italiano, Imposta informazioni di imballaggio; en portugués, Definir Informação de Embalagem.«Pulsarlo envía lo que haya, esté completo o no»
Antes de hablar con Amazon, el código hace comprobaciones y se detiene en la primera que falla, en este orden:
- Permisos. Se explica en la siguiente idea.
- Plan de entrada. Si el campo
Plan de entrada(Inbound Plan) de la ficha está vacío, saleCrea primero el inbound plan en Amazon.(Create the inbound plan on Amazon first.). Ese campo es de solo lectura: no lo escribes tú, lo rellena el botónCrear plan de entrada(Create Inbound Plan). - Grupos activos. Solo cuentan los grupos de embalaje activos; los que no lo estén no se envían. Si no queda ninguno, sale
No hay packing groups activos.(There are no active packing groups.). - Cajas. Cada grupo activo necesita cajas. Si uno no las tiene, sale
El packing group … no tiene cajas configuradas.(Packing group … has no boxes configured.), con el grupo en lugar de los puntos suspensivos.
Superadas las comprobaciones, el módulo envía a Amazon, por la Cuenta (Account) del plan, un bloque por cada grupo activo con sus cajas.
«Con ver el menú basta para pulsarlo»
Ver el menú pide Lector, pero pulsar el botón pide más. El módulo comprueba en el servidor que tengas al menos acceso Operator de Amazon Seller Connector (Manager también vale) y, además, permiso de escritura sobre el plan. Si no, la acción se detiene con You need at least Amazon Seller Connector Operator access for this action. Ask a manager to grant Operator or Manager access.
Si la acción se ejecuta como superusuario, pasa esa comprobación de grupo sin más.
«Si Amazon responde, el empaquetado ya está hecho»
El código espera que Amazon devuelva un identificador de operación. Si no lo devuelve, la acción se detiene con Amazon no devolvio operationId al enviar packing information. (Amazon did not return an operationId when submitting packing information.).
Si lo devuelve, el código escribe en el plan el identificador de la operación, la petición enviada y la respuesta de Amazon, pone el estado Conjunto de embalaje y anota la fecha de sincronización. Antes de esa espera, el código ya ha escrito estos datos en el plan.
Después consulta a Amazon el estado de la operación y repite la consulta hasta agotar los intentos. En cada consulta anota en el plan el estado de la operación y los problemas que Amazon devuelva. La espera puede acabar de tres maneras:
- Si Amazon da la operación por correcta, la espera termina sin error.
- Si Amazon la da por fallida, con error o cancelada, la acción se detiene con
Establecer información de empaquetado falló en Amazon (…): …(Set packing information failed on Amazon (…): …). Entre paréntesis va el estado y después, los problemas que Amazon devolvió. - Si se agotan los intentos sin respuesta final, sale
Establecer información de empaquetado sigue pendiente tras … intentos. Último estado: …(Set packing information is still pending after … attempts. Last status: …). Si Amazon no dio ningún estado, en su lugar verássin estado(no status).
Por eso conviene no fiarse solo del estado de la ficha: en un reintento puede haber quedado en Conjunto de embalaje por el envío anterior aunque el nuevo haya fallado. Lee el mensaje entero para saber cómo acabó la operación.
«Si sale un error, Amazon no ha recibido nada»
Eso no se puede asumir. Los errores de operación (el de Amazon no devolvio operationId al enviar packing information., el de fallo y el de pendiente) salen después de que la petición haya salido hacia Amazon. Lee el mensaje antes de reintentar.
En los fallos, lo que va tras los dos puntos son los problemas que devolvió Amazon. En los pendientes, el último estado es el que Amazon devolvió en la última consulta. El botón sigue visible mientras la ficha tenga Grupos de embalaje, así que puedes volver a pulsarlo después de corregir lo que indique el mensaje.

Cómo ayuda FlexigoTech
Si estás implantando Odoo y quieres tener claro el circuito de entrada a Amazon antes de dar acceso Operator a tu equipo, FlexigoTech implanta Odoo 17, 18, 19 y 20 y desarrolla conectores e integraciones a medida. Puedes ver la ficha en Odoo Apps o la página del módulo.
El módulo es de pago único por versión y necesita la suscripción a FlexigoTech Cloud, plan Conector: 49 €/mes o 490 €/año, sin IVA. La conexión pasa por FlexigoTech Cloud, que guarda cifradas las credenciales y avisa por correo si la sincronización falla.
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_amazon_seller_connector 20.0 (8576afa5): views/amazon_spapi_inbound_plan_views.xml
- Código del módulo: flexigobe_amazon_seller_connector 20.0 (8576afa5): models/amazon_spapi_inbound_plan.py
- apps.odoo.com/apps/modules/20.0/flexigobe_amazon_seller_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
