Qué dice el mensaje y dónde sale
Con Odoo en castellano ves No se puede construir orderItems de Amazon sin un SKU fiable cuando el pedido tiene varias líneas o varios productos. (Amazon orderItems cannot be built without a reliable SKU when the order has multiple lines or multiple products.).

Sale al pulsar el botón Enviar tracking Amazon, que está en la vista del albarán. El botón solo se ve cuando el albarán está en estado Hecho (Done) y es un pedido de Amazon por SP-API; en cualquier otro caso está oculto. Eso vale para Odoo 17, 18, 19 y 20, y el mensaje está en el código publicado de las cuatro versiones.

Es un error que detiene la acción.

Qué significa en la práctica
Para comunicar el envío a Amazon, el módulo tiene que indicar qué líneas del pedido de Amazon se han enviado y en qué cantidad. Lo hace casando el SKU de lo que has entregado en el albarán con el SKU de las líneas que devuelve Amazon. El mensaje sale cuando del albarán no consigue sacar ningún SKU con cantidad y, además, no puede aplicar su recurso para pedidos de una sola línea. Es decir, no se trata de un fallo de conexión, sino de que el módulo no tiene un SKU en el que apoyarse para saber qué enviar.
Cuándo sale exactamente
Al pulsar el botón, el módulo llega a un método que construye las líneas (orderItems) que se van a comunicar a Amazon. En orden, hace esto:
- Calcula qué cantidad se ha hecho de cada SKU en el albarán y cuál es la cantidad total hecha.
- Pide a Amazon las líneas del pedido.
- Si el cálculo por SKU sale vacío, prueba un recurso pensado para pedidos de una sola línea.
- Si ese recurso no devuelve nada, lanza el mensaje.
Por tanto, el mensaje sale cuando se juntan dos cosas: que el albarán no aporte ningún SKU con cantidad y que el recurso de línea única no se pueda aplicar. Si el cálculo sí devuelve algún SKU con cantidad, esa condición no se cumple y el método sigue por otro camino: casa cada SKU con las líneas que ha devuelto Amazon.
Cuándo sale vacío el cálculo por SKU
La vía principal parte de los movimientos del albarán que no están cancelados, que tienen producto y que vienen de una línea de venta. Solo cuentan los que tienen cantidad hecha mayor que cero, y como SKU toma el código interno del producto de esa línea de venta. Si ese código queda vacío, esa línea no suma nada.
Antes de comparar, el módulo normaliza el SKU: lo pasa a mayúsculas, quita espacios, unifica los guiones de otros tipos y descarta todo carácter que no sea una letra de la A a la Z o una cifra. Por eso mayúsculas, espacios o guiones distintos no impiden que dos SKU coincidan, pero un código que quede vacío tras ese filtro (por ejemplo, uno formado solo por símbolos) no aporta nada.
Hay además otra vía, pensada para kits, que parte del pedido de venta cuando tiene una sola línea comercial con código.
Cuándo no se puede aplicar el recurso de línea única
Con el cálculo vacío, el módulo mira las líneas que ha devuelto Amazon. El recurso solo vale si:
- Amazon ha devuelto exactamente una línea con su identificador de línea;
- se cumple además otra comprobación interna del módulo sobre el albarán;
- la cantidad total hecha del albarán, redondeada, es mayor que cero.
Si se cumple todo, el módulo usa esa única línea de Amazon, con una cantidad que no supera la pedida allí, y deja un aviso en el registro del servidor. Si Amazon devuelve más de una línea, o falla alguna de las otras condiciones, sale el mensaje. Por eso el texto habla de varias líneas o varios productos, pero también puede salir con un pedido de una sola línea si el albarán no tiene cantidad utilizable.
Cómo resolverlo paso a paso
- Confirma que estás en este caso: el albarán está en estado
Hecho(Done), has pulsadoEnviar tracking Amazony el texto del error es el de arriba, entero. - Revisa qué productos se han entregado en el albarán y de qué línea de venta vienen. La vía principal solo cuenta movimientos no cancelados, con producto, enlazados a una línea de venta y con cantidad hecha mayor que cero.
- Comprueba que cada producto vendido tiene un código interno que sirva de SKU y que no quede vacío tras la normalización de la sección anterior.
- Comprueba que ese código coincide con el SKU del vendedor que Amazon tiene en la línea del pedido. Cuando el albarán aporta SKU con cantidad, el módulo los casa con las líneas de Amazon aplicando la misma normalización.
- Mira cuántas líneas tiene el pedido en Amazon. Con una sola línea, el recurso de línea única puede salvar el envío si se cumplen sus condiciones. Con varias, el SKU del albarán es imprescindible.
- Corrige lo que falte y vuelve a pulsar
Enviar tracking Amazon.
Cómo ayuda FlexigoTech
El módulo está publicado en Odoo Apps para Odoo 17, 18, 19 y 20, y puedes ver su página en flexigotech.com. Si el origen del problema está en cómo se codifican los productos o en cómo se vende en Amazon desde tu Odoo, FlexigoTech implanta Odoo 17, 18, 19 y 20 y desarrolla conectores e integraciones a medida, así que podemos revisar contigo la codificación de SKU y el flujo de albaranes.
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): models/stock_picking.py
- Código del módulo: flexigobe_amazon_seller_connector 20.0 (8576afa5): views/stock_picking_views.xml
- apps.odoo.com/apps/modules/20.0/flexigobe_amazon_seller_connector
- flexigotech.com/en/services.html
