Vai al contenuto principale
Amazon

«Impossibile costruire orderItems per confirmShipment» in Amazon e Odoo: causa e soluzione

Compare quando premi Invia tracking Amazon e nessuna riga dell'ordine Amazon si può abbinare a ciò che hai consegnato in Odoo; si risolve facendo coincidere gli SKU e premendo di nuovo il pulsante.

FlexigoTech · Responsabile: Víctor Gómez · Aggiornato il 5 novembre 2026

In breve

Modulo
Amazon
Versioni
Odoo 17, 18, 19 e 20
Verificato
nel codice del connettore, versione 20.0 · nelle fonti collegate in fondo
Lettura
5 min

Il messaggio e il pulsante che lo provoca

Il messaggio Impossibile costruire orderItems per confirmShipment (ordine …). (Could not build orderItems for confirmShipment (order …).) compare quando premi il pulsante Invia tracking Amazon, nella scheda del trasferimento (documento di trasporto). Quel pulsante si vede solo quando il trasferimento è nello stato Completato (Done) e riguarda un ordine Amazon (il modulo lo segna con un campo, Ordine Amazon (Amazon Order), che non è visibile in nessuna vista). I puntini di sospensione del messaggio vengono sostituiti dall'identificativo dell'ordine su Amazon.

È un errore che interrompe l'azione. Ciò che il messaggio ti dice è che il modulo non è riuscito a costruire l'elenco di righe (orderItems) che confirmShipment trasporta.

Schema realizzato con codice, non una schermata di Odoo: in alto il pulsante Invia tracking Amazon e sotto il messaggio di errore, con le etichette in inglese del codice del modulo
Schema del pulsante e del messaggio che può comparire premendolo (Odoo 17, 18, 19 e 20). Non è uno screenshot di Odoo.

Come lo vedi in base alla lingua di Odoo

Il modulo include il messaggio tradotto. Con Odoo in italiano lo vedi come Impossibile costruire orderItems per confirmShipment (ordine …).; lo schema seguente mostra anche come appare in spagnolo, tedesco, francese e portoghese.

Schema realizzato con codice a partire dalle traduzioni pubblicate del modulo: lo stesso messaggio in spagnolo, tedesco, francese, italiano e portoghese
Schema, non una schermata di Odoo: il testo del messaggio in base alla lingua di Odoo, con … al posto dell'ordine.
Your Odoo doesn't talk to Amazon, Temu or Shopify?
Video: Your Odoo doesn't talk to Amazon, Temu or Shopify? (video in inglese)

Quando compare esattamente

Il codice di Odoo 20.0 lancia il messaggio in un punto molto preciso: proprio quando l'elenco delle righe da confermare resta vuoto. Il messaggio esiste anche nel codice pubblicato di Odoo 17, 18 e 19. Ecco cosa fa il modulo, in ordine, fino ad arrivare lì:

  • Calcola, a partire dal trasferimento, quale quantità è stata completata per ogni SKU e la quantità totale completata. Dà la preferenza alle quantità delle righe di vendita, quindi con un kit conta lo SKU commerciale e non quello dei componenti.
  • Chiede ad Amazon le righe dell'ordine.
  • Se Odoo ha quantità completate per SKU, scorre le righe di Amazon e annota quelle che riesce ad abbinare. Questo messaggio compare solo percorrendo questa strada.
  • Se non ne ha annotata nessuna, prova una risorsa pensata per gli ordini di una sola riga.
  • Se nemmeno così esce alcuna riga, lancia il messaggio.

Una riga di Amazon viene saltata quando non ha un identificativo di riga, quando il suo SKU è vuoto, o quando il suo SKU non coincide con nessuno SKU consegnato in Odoo che abbia ancora quantità da assegnare. Basta che una sola riga corrisponda perché questo messaggio non compaia.

La risorsa a riga singola funziona solo se Amazon restituisce esattamente una riga con identificativo e, in ciò che è stato consegnato in Odoo, c'è un solo SKU con quantità. Con più righe su Amazon, o con più SKU consegnati, non si applica.

Come il modulo confronta gli SKU

Prima di confrontare, il modulo normalizza lo SKU da entrambi i lati: lo converte in maiuscolo, toglie gli spazi agli estremi, trasforma i trattini speciali in un trattino normale ed elimina tutto ciò che non è una lettera dalla A alla Z (senza accenti né lettere speciali) o una cifra. Per questo taza-azul, TAZA AZUL e Taza–Azul danno la stessa chiave. Tieni presente che una lettera accentata o una ñ viene eliminata dalla chiave invece di essere conservata. Se due SKU restano diversi dopo questa pulizia, significa che differiscono davvero per lettere o cifre.

Nel calcolo per righe di vendita, lo SKU di Odoo deriva dal prodotto della riga. Se quel prodotto non ha SKU, non apporta alcuna quantità all'abbinamento.

Un caso illustrativo

Esempio Caso illustrativo: l'azienda e i suoi dati sono inventati per spiegare il flusso.

Casa Ficticia, un negozio inventato, vende ceramiche e candele su Amazon. Un cliente compra una tazza e una candela nello stesso ordine, quindi Amazon restituisce due righe, ciascuna con il suo identificativo. In Odoo, i prodotti hanno gli SKU TAZAAZUL e VELA; su Amazon, il venditore ha pubblicato le offerte come TAZA-AZUL-GRANDE e VELA-LAVANDA.

Il trasferimento viene convalidato e passa a Completato. Premendo Invia tracking Amazon, il modulo normalizza gli SKU: da Amazon risultano TAZAAZULGRANDE e VELALAVANDA; da Odoo, TAZAAZUL e VELA. Nessuno coincide, quindi non annota alcuna riga. Nemmeno la risorsa a riga singola serve, perché Amazon ha restituito due righe con identificativo. Risultato: Impossibile costruire orderItems per confirmShipment (ordine …).

Casa Ficticia uniforma gli SKU, in modo che quello di ogni prodotto in Odoo e quello della sua riga su Amazon dicano la stessa cosa, e preme di nuovo il pulsante. Con gli SKU uguali, ogni riga di Amazon può abbinarsi al suo SKU consegnato e l'elenco non resta più vuoto.

Ciò che si impara dal caso: l'errore non riguarda il trasferimento in sé, ma il fatto che gli SKU dei due lati non si riconoscono. Un trattino o una maiuscola non lo provocano; lettere in più, sì.

Cosa fare, passo per passo

  1. Annota l'identificativo dell'ordine Amazon che compare nel messaggio e apri il trasferimento corrispondente.
  2. Guarda quali prodotti hai consegnato in esso e quale SKU ha ciascuno in Odoo. Verifica che nessuno sia privo di SKU.
  3. Confronta ogni SKU con quello della riga dell'ordine su Amazon. Ignora maiuscole, spazi, trattini e segni: cerca lettere o cifre diverse.
  4. Correggi lo SKU dal lato sbagliato, in modo che coincidano.
  5. Premi di nuovo Invia tracking Amazon.

Domande su questo messaggio

Compare in tutte le versioni?

Il messaggio è nel codice pubblicato di Odoo 17, 18, 19 e 20. La descrizione qui sopra, ordine dei passaggi compreso, corrisponde al codice di Odoo 20.0.

E se l'ordine ha più righe e ne corrisponde solo una?

Allora questo messaggio non compare: basta una riga abbinata perché l'elenco non resti vuoto. Se poi appare un messaggio diverso, si tratta di un altro controllo del modulo.

Perché la risorsa a riga singola non aiuta?

Perché richiede che Amazon restituisca esattamente una riga con identificativo e che ciò che è stato consegnato in Odoo abbia un solo SKU con quantità. Se l'ordine ha più righe o sono stati consegnati più SKU, quella risorsa restituisce un elenco vuoto.

Che succede con i kit?

Il modulo preferisce contare in base alle righe di vendita, quindi conta lo SKU commerciale venduto e non quelli dei componenti. Lo SKU che deve coincidere con Amazon è quello del prodotto venduto.

Come ti aiuta FlexigoTech

Se vendi su Amazon e lavori con Odoo, possiamo rivedere con te come sono registrati gli SKU prima di inviare il tracking. FlexigoTech implementa Odoo 17, 18, 19 e 20 e sviluppa connettori e integrazioni su misura. Puoi vedere il connettore sulla sua pagina di flexigotech.com o nella scheda di Odoo Apps.

Continua a leggere

Cosa fa il pulsante «Anteprima su Amazon» di Amazon Connector for OdooCosa fa il pulsante «Anteprima su Amazon» del connettore Amazon per Odoo: quando compare, cosa controlla, cosa salva e quali errori può dare.
Verificato nel codice del connettore (versione 20.0) e nelle fonti collegate

Fonti