Cosa dice il messaggio e dove compare
Con Odoo in italiano vedi Gli orderItems Amazon non possono essere costruiti senza uno SKU affidabile quando l'ordine ha più righe o più prodotti. (Amazon orderItems cannot be built without a reliable SKU when the order has multiple lines or multiple products.).

Compare quando premi il pulsante Invia tracking Amazon, che si trova nella vista del documento di consegna. Il pulsante è visibile solo quando il documento di consegna è nello stato Completato (Done) ed è un ordine Amazon tramite SP-API; in tutti gli altri casi è nascosto. Questo vale per Odoo 17, 18, 19 e 20, e il messaggio è presente nel codice pubblicato di tutte e quattro le versioni.

È un errore che blocca l'azione.

Cosa significa in pratica
Per comunicare la spedizione ad Amazon, il modulo deve indicare quali righe dell'ordine Amazon sono state spedite e in quale quantità. Lo fa abbinando lo SKU di ciò che hai consegnato nel documento di consegna con lo SKU delle righe restituite da Amazon. Il messaggio compare quando dal documento di consegna non riesce a ricavare nessuno SKU con quantità e, inoltre, non può applicare il suo ripiego per gli ordini a riga singola. Non si tratta quindi di un guasto di connessione, ma del fatto che il modulo non ha uno SKU su cui appoggiarsi per sapere cosa inviare.
Quando compare esattamente
Premendo il pulsante, il modulo arriva a un metodo che costruisce le righe (orderItems) da comunicare ad Amazon. In ordine, fa questo:
- Calcola quale quantità è stata completata per ogni SKU nel documento di consegna e qual è la quantità totale completata.
- Chiede ad Amazon le righe dell'ordine.
- Se il calcolo per SKU risulta vuoto, prova un ripiego pensato per gli ordini a riga singola.
- Se quel ripiego non restituisce nulla, lancia il messaggio.
Il messaggio compare quindi quando si verificano due cose insieme: il documento di consegna non fornisce nessuno SKU con quantità e il ripiego a riga singola non è applicabile. Se il calcolo restituisce almeno uno SKU con quantità, questa condizione non si verifica e il metodo prosegue per un'altra strada: abbina ogni SKU alle righe restituite da Amazon.
Quando il calcolo per SKU risulta vuoto
La via principale parte dai movimenti del documento di consegna che non sono annullati, che hanno un prodotto e che provengono da una riga di vendita. Contano solo quelli con quantità completata maggiore di zero, e come SKU viene preso il codice interno del prodotto di quella riga di vendita. Se quel codice è vuoto, quella riga non somma nulla.
Prima di confrontare, il modulo normalizza lo SKU: lo converte in maiuscolo, toglie gli spazi, unifica i trattini di altro tipo e scarta ogni carattere che non sia una lettera dalla A alla Z o una cifra. Per questo maiuscole, spazi o trattini diversi non impediscono che due SKU coincidano, ma un codice che resta vuoto dopo questo filtro (per esempio uno formato solo da simboli) non apporta nulla.
Esiste inoltre un'altra via, pensata per i kit, che parte dall'ordine di vendita quando ha una sola riga commerciale con codice.
Quando il ripiego a riga singola non è applicabile
Con il calcolo vuoto, il modulo guarda le righe restituite da Amazon. Il ripiego è valido solo se:
- Amazon ha restituito esattamente una riga con il suo identificativo di riga;
- è soddisfatto anche un altro controllo interno del modulo sul documento di consegna;
- la quantità totale completata del documento di consegna, arrotondata, è maggiore di zero.
Se è tutto soddisfatto, il modulo usa quell'unica riga di Amazon, con una quantità che non supera quella ordinata lì, e lascia un avviso nel log del server. Se Amazon restituisce più di una riga, o se una delle altre condizioni non è soddisfatta, compare il messaggio. Per questo il testo parla di più righe o più prodotti, ma può comparire anche con un ordine a riga singola se il documento di consegna non ha una quantità utilizzabile.
Come risolverlo passo dopo passo
- Conferma di essere in questo caso: il documento di consegna è nello stato
Completato(Done), hai premutoInvia tracking Amazone il testo dell'errore è quello riportato sopra, per intero. - Controlla quali prodotti sono stati consegnati nel documento di consegna e da quale riga di vendita provengono. La via principale conta solo movimenti non annullati, con prodotto, collegati a una riga di vendita e con quantità completata maggiore di zero.
- Verifica che ogni prodotto venduto abbia un codice interno che faccia da SKU e che non resti vuoto dopo la normalizzazione della sezione precedente.
- Verifica che quel codice coincida con lo SKU del venditore che Amazon ha nella riga dell'ordine. Quando il documento di consegna fornisce SKU con quantità, il modulo li abbina alle righe di Amazon applicando la stessa normalizzazione.
- Guarda quante righe ha l'ordine su Amazon. Con una sola riga, il ripiego a riga singola può salvare l'invio se le sue condizioni sono soddisfatte. Con più righe, lo SKU del documento di consegna è indispensabile.
- Correggi ciò che manca e premi di nuovo
Invia tracking Amazon.
Come aiuta FlexigoTech
Il modulo è pubblicato su Odoo Apps per Odoo 17, 18, 19 e 20, e puoi vedere la sua pagina su flexigotech.com. Se l'origine del problema sta nel modo in cui sono codificati i prodotti o nel modo in cui vendi su Amazon dal tuo Odoo, FlexigoTech implementa Odoo 17, 18, 19 e 20 e sviluppa connettori e integrazioni su misura, quindi possiamo rivedere con te la codifica degli SKU e il flusso dei documenti di consegna.
Continua a leggere
Verificato nel codice del connettore (versione 20.0) e nelle fonti collegate
Fonti
- Codice del modulo: flexigobe_amazon_seller_connector 20.0 (8576afa5): models/stock_picking.py
- Codice del modulo: 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
