El missatge i el botó que el provoca
El missatge Could not build orderItems for confirmShipment (order …). surt en prémer el botó Enviar tracking Amazon, a la fitxa de la transferència (albarà). Aquest botó només es veu quan la transferència està en estat Fet (Done) i és d'una comanda d'Amazon (el mòdul ho marca amb un camp, Amazon Order, que no es veu en cap vista). Els punts suspensius del missatge se substitueixen per l'identificador de la comanda a Amazon.
És un error que atura l'acció. El que el missatge et diu és que el mòdul no ha pogut muntar la llista de línies (orderItems) que porta confirmShipment.

Com el veus segons l'idioma d'Odoo
El mòdul porta el missatge traduït. Amb Odoo en castellà el veus com Could not build orderItems for confirmShipment (order …).; l'esquema següent mostra també com queda en alemany, francès, italià i portuguès.


Quan surt exactament
El codi d'Odoo 20.0 llança el missatge en un punt molt concret: just quan la llista de línies a confirmar es queda buida. El missatge existeix també al codi publicat d'Odoo 17, 18 i 19. Això és el que fa el mòdul, per ordre, fins a arribar-hi:
- Calcula, a partir de la transferència, quina quantitat s'ha fet de cada SKU i la quantitat total feta. Prefereix les quantitats de les línies de venda, de manera que amb un kit compta el SKU comercial i no el dels components.
- Demana a Amazon les línies de la comanda.
- Si Odoo té quantitats fetes per SKU, recorre les línies d'Amazon i apunta les que pot aparellar. Aquest missatge surt només per aquest camí.
- Si no n'ha apuntat cap, prova un recurs pensat per a comandes d'una sola línia.
- Si tampoc així surt cap línia, llança el missatge.
Una línia d'Amazon se salta quan no porta identificador de línia, quan el seu SKU queda buit, o quan el seu SKU no coincideix amb cap SKU lliurat a Odoo que encara tingui quantitat per assignar. N'hi ha prou que una sola línia encaixi perquè aquest missatge no surti.
El recurs d'una sola línia només funciona si Amazon retorna exactament una línia amb identificador i, en el que s'ha lliurat a Odoo, hi ha un sol SKU amb quantitat. Amb diverses línies a Amazon, o amb diversos SKU lliurats, no s'aplica.
Com compara els SKU el mòdul
Abans de comparar, el mòdul normalitza el SKU dels dos costats: el passa a majúscules, treu els espais dels extrems, converteix els guions especials en un guió normal i elimina tot el que no sigui una lletra de la A a la Z (sense accents ni eñes) o una xifra. Per això taza-azul, TAZA AZUL i Taza–Azul donen la mateixa clau. Tingues en compte que una lletra amb accent o una ñ s'elimina de la clau en lloc de conservar-se. Si dos SKU segueixen sent diferents després d'aquesta neteja, és que difereixen en lletres o xifres de debò.
En el càlcul per línies de venda, el SKU d'Odoo surt del producte de la línia. Si aquest producte no té SKU, no aporta cap quantitat a l'aparellament.
Un cas il·lustratiu
Exemple Cas il·lustratiu: l'empresa i les seves dades són inventades per explicar el flux.
Casa Ficticia, una botiga inventada, ven ceràmica i espelmes a Amazon. Un client compra una tassa i una espelma a la mateixa comanda, així que Amazon retorna dues línies, cadascuna amb el seu identificador. A Odoo, els productes tenen els SKU TAZAAZUL i VELA; a Amazon, el venedor va publicar les ofertes com TAZA-AZUL-GRANDE i VELA-LAVANDA.
La transferència es valida i passa a Fet. En prémer Enviar tracking Amazon, el mòdul normalitza els SKU: d'Amazon surten TAZAAZULGRANDE i VELALAVANDA; d'Odoo, TAZAAZUL i VELA. Cap no coincideix, així que no apunta cap línia. El recurs d'una sola línia tampoc serveix, perquè Amazon va retornar dues línies amb identificador. Resultat: Could not build orderItems for confirmShipment (order …).
Casa Ficticia iguala els SKU, de manera que el de cada producte a Odoo i el de la seva línia a Amazon diguin el mateix, i torna a prémer el botó. Amb els SKU iguals, cada línia d'Amazon es pot aparellar amb el seu SKU lliurat i la llista ja no queda buida.
El que s'aprèn del cas: l'error no parla de la transferència en si, sinó que els SKU dels dos costats no es reconeixen. Un guió o una majúscula no el provoquen; unes lletres de més, sí.
Què fer, pas a pas
- Anota l'identificador de la comanda d'Amazon que surt al missatge i obre la transferència corresponent.
- Mira quins productes has lliurat en ella i quin SKU té cadascun a Odoo. Comprova que cap no estigui sense SKU.
- Compara cada SKU amb el de la línia de la comanda a Amazon. Ignora majúscules, espais, guions i signes: busca lletres o xifres diferents.
- Corregeix el SKU al costat que estigui malament, perquè coincideixin.
- Torna a prémer
Enviar tracking Amazon.
Preguntes sobre aquest missatge
Surt a totes les versions?
El missatge és al codi publicat d'Odoo 17, 18, 19 i 20. La descripció de dalt, ordre de passos inclòs, correspon al codi d'Odoo 20.0.
I si la comanda té diverses línies i només n'encaixa una?
Llavors aquest missatge no surt: n'hi ha prou amb una línia aparellada perquè la llista no quedi buida. Si després apareix un missatge diferent, es tracta d'una altra comprovació del mòdul.
Per què no ajuda el recurs d'una sola línia?
Perquè exigeix que Amazon retorni exactament una línia amb identificador i que el que s'ha lliurat a Odoo tingui un sol SKU amb quantitat. Si la comanda té diverses línies o es van lliurar diversos SKU, aquest recurs retorna una llista buida.
Què passa amb els kits?
El mòdul prefereix comptar per les línies de venda, així que compta el SKU comercial venut i no els dels components. El SKU que ha de coincidir amb Amazon és el del producte venut.
Com t'ajuda FlexigoTech
Si vens a Amazon i treballes amb Odoo, podem revisar amb tu com estan donats d'alta els SKU abans d'enviar tracking. FlexigoTech implanta Odoo 17, 18, 19 i 20 i desenvolupa connectors i integracions a mida. Pots veure el connector a la seva pàgina de flexigotech.com o a la fitxa d'Odoo Apps.
Continua llegint
Comprovat al codi del connector (versió 20.0) i a les fonts enllaçades
Fonts
- Codi del mòdul: flexigobe_amazon_seller_connector 20.0 (8576afa5): models/stock_picking.py
- Codi del mòdul: 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
