Saltar para o conteúdo principal
Amazon

«Não foi possível construir orderItems para confirmShipment» na Amazon e no Odoo: causa e solução

Surge ao premir Enviar tracking Amazon quando nenhuma linha da encomenda da Amazon se consegue emparelhar com o que entregou no Odoo; resolve-se fazendo coincidir os SKU e voltando a premir o botão.

FlexigoTech · Responsável: Víctor Gómez · Atualizado em 5 de novembro de 2026

O essencial

Módulo
Amazon
Versões
Odoo 17, 18, 19 e 20
Verificado
no código do conector, versão 20.0 · nas fontes indicadas no fim
Leitura
6 min

A mensagem e o botão que a provoca

A mensagem Não foi possível construir orderItems para confirmShipment (encomenda …). (Could not build orderItems for confirmShipment (order …).) surge ao premir o botão Enviar tracking Amazon, na ficha da transferência (guia de remessa). Esse botão só se vê quando a transferência está no estado Concluído (Done) e pertence a uma encomenda da Amazon (o módulo assinala-o com um campo, Encomenda Amazon (Amazon Order), que não aparece em nenhuma vista). As reticências da mensagem são substituídas pelo identificador da encomenda na Amazon.

É um erro que interrompe a ação. O que a mensagem lhe diz é que o módulo não conseguiu montar a lista de linhas (orderItems) que o confirmShipment leva.

Esquema feito com código, não um ecrã do Odoo: em cima o botão Enviar tracking Amazon e por baixo a mensagem de erro, com os rótulos em inglês do código do módulo
Esquema do botão e da mensagem que pode surgir ao premi-lo (Odoo 17, 18, 19 e 20). Não é uma captura do Odoo.

Como a vê consoante o idioma do Odoo

O módulo traz a mensagem traduzida. Com o Odoo em português de Portugal vê-a como Não foi possível construir orderItems para confirmShipment (encomenda …).; o esquema seguinte mostra também como fica em castelhano, alemão, francês e italiano.

Esquema feito com código a partir das traduções publicadas do módulo: a mesma mensagem em castelhano, alemão, francês, italiano e português
Esquema, não um ecrã do Odoo: o texto da mensagem consoante o idioma do Odoo, com … onde vai a encomenda.
Your Odoo doesn't talk to Amazon, Temu or Shopify?
Vídeo: Your Odoo doesn't talk to Amazon, Temu or Shopify? (vídeo em inglês)

Quando surge exatamente

O código do Odoo 20.0 lança a mensagem num ponto muito concreto: precisamente quando a lista de linhas a confirmar fica vazia. A mensagem existe também no código publicado do Odoo 17, 18 e 19. Isto é o que o módulo faz, por ordem, até chegar aí:

  • Calcula, a partir da transferência, que quantidade se concluiu de cada SKU e a quantidade total concluída. Prefere as quantidades das linhas de venda, pelo que, com um kit, conta o SKU comercial e não o dos componentes.
  • Pede à Amazon as linhas da encomenda.
  • Se o Odoo tem quantidades concluídas por SKU, percorre as linhas da Amazon e regista as que consegue emparelhar. Esta mensagem só surge por este caminho.
  • Se não registou nenhuma, tenta um recurso pensado para encomendas de uma única linha.
  • Se mesmo assim não sai nenhuma linha, lança a mensagem.

Uma linha da Amazon é ignorada quando não traz identificador de linha, quando o seu SKU está vazio, ou quando o seu SKU não coincide com nenhum SKU entregue no Odoo que ainda tenha quantidade por atribuir. Basta que uma única linha coincida para que esta mensagem não surja.

O recurso de uma única linha só funciona se a Amazon devolver exatamente uma linha com identificador e, no que foi entregue no Odoo, houver um só SKU com quantidade. Com várias linhas na Amazon, ou com vários SKU entregues, não se aplica.

Como o módulo compara os SKU

Antes de comparar, o módulo normaliza o SKU dos dois lados: passa para maiúsculas, remove espaços das extremidades, converte os hífenes especiais num hífen normal e elimina tudo o que não seja uma letra de A a Z (sem acentos nem ñ) ou um algarismo. Por isso taza-azul, TAZA AZUL e Taza–Azul dão a mesma chave. Tenha em conta que uma letra com acento ou um ñ é eliminada da chave em vez de se conservar. Se dois SKU continuam diferentes após essa limpeza, é porque diferem realmente em letras ou algarismos.

No cálculo por linhas de venda, o SKU do Odoo vem do artigo da linha. Se esse artigo não tem SKU, não contribui com nenhuma quantidade para o emparelhamento.

Um caso ilustrativo

Exemplo Caso ilustrativo: a empresa e os seus dados são inventados para explicar o fluxo.

A Casa Ficticia, uma loja inventada, vende cerâmica e velas na Amazon. Um cliente compra uma caneca e uma vela na mesma encomenda, pelo que a Amazon devolve duas linhas, cada uma com o seu identificador. No Odoo, os artigos têm os SKU TAZAAZUL e VELA; na Amazon, o vendedor publicou as ofertas como TAZA-AZUL-GRANDE e VELA-LAVANDA.

A transferência é validada e passa a Concluído. Ao premir Enviar tracking Amazon, o módulo normaliza os SKU: da Amazon saem TAZAAZULGRANDE e VELALAVANDA; do Odoo, TAZAAZUL e VELA. Nenhum coincide, pelo que não regista nenhuma linha. O recurso de uma única linha também não serve, porque a Amazon devolveu duas linhas com identificador. Resultado: Não foi possível construir orderItems para confirmShipment (encomenda …).

A Casa Ficticia iguala os SKU, de modo que o de cada artigo no Odoo e o da sua linha na Amazon digam o mesmo, e volta a premir o botão. Com os SKU iguais, cada linha da Amazon pode emparelhar com o seu SKU entregue e a lista já não fica vazia.

O que se aprende com o caso: o erro não fala da transferência em si, mas de que os SKU dos dois lados não se reconhecem. Um hífen ou uma maiúscula não o provocam; umas letras a mais, sim.

O que fazer, passo a passo

  1. Anote o identificador da encomenda da Amazon que surge na mensagem e abra a transferência correspondente.
  2. Veja que artigos entregou nela e que SKU tem cada um no Odoo. Confirme que nenhum está sem SKU.
  3. Compare cada SKU com o da linha da encomenda na Amazon. Ignore maiúsculas, espaços, hífenes e sinais: procure letras ou algarismos diferentes.
  4. Corrija o SKU no lado que estiver errado, para que coincidam.
  5. Volte a premir Enviar tracking Amazon.

Perguntas sobre esta mensagem

Surge em todas as versões?

A mensagem está no código publicado do Odoo 17, 18, 19 e 20. A descrição acima, ordem dos passos incluída, corresponde ao código do Odoo 20.0.

E se a encomenda tem várias linhas e só uma coincide?

Então esta mensagem não surge: basta uma linha emparelhada para que a lista não fique vazia. Se depois aparecer uma mensagem diferente, trata-se de outra verificação do módulo.

Porque não ajuda o recurso de uma única linha?

Porque exige que a Amazon devolva exatamente uma linha com identificador e que o que foi entregue no Odoo tenha um só SKU com quantidade. Se a encomenda tem várias linhas ou foram entregues vários SKU, esse recurso devolve uma lista vazia.

O que acontece com os kits?

O módulo prefere contar pelas linhas de venda, pelo que conta o SKU comercial vendido e não os dos componentes. O SKU que deve coincidir com a Amazon é o do artigo vendido.

Como a FlexigoTech o ajuda

Se vende na Amazon e trabalha com o Odoo, podemos rever consigo como estão registados os SKU antes de enviar o tracking. A FlexigoTech implementa o Odoo 17, 18, 19 e 20 e desenvolve conectores e integrações por medida. Pode ver o conector na sua página em flexigotech.com ou na ficha do Odoo Apps.

Continue a ler

O que faz o botão «Pré-visualizar na Amazon» do Amazon Connector for OdooO que faz o botão «Pré-visualizar na Amazon» do conector da Amazon para Odoo: quando aparece, o que verifica, o que guarda e que erros pode dar.
Verificado no código do conector (versão 20.0) e nas fontes indicadas

Fontes