Saltar para o conteúdo principal
Temu

O erro «Could not determine Temu regionId for this order.» no Odoo

A mensagem Could not determine Temu regionId for this order. aparece ao clicar em Send Temu Tracking quando o módulo não encontra a região da encomenda da Temu e a correspondência de transportadora ainda não traz um identificador da Temu. Aqui tens a condição exata do código, um caso para o ver e por onde se resolve.

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

O essencial

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

Quando aparece a mensagem

A mensagem Could not determine Temu regionId for this order. aparece ao clicar no botão Send Temu Tracking da vista da transferência. Esse botão só é visível quando a transferência é de uma encomenda da Temu e está no estado Concluído; a condição da vista é a mesma no Odoo 17, 18 e 19. Quando a mensagem surge, a ação para.

Esquema feito com código: em cima o botão para enviar o tracking à Temu e por baixo a mensagem de erro sobre regionId
Esquema gerado a partir do código publicado do módulo (não é uma captura do Odoo): o botão e, por baixo, a mensagem, no Odoo 17, 18 e 19.

O módulo lança a mensagem ao procurar a transportadora da Temu para a encomenda, quando não consegue obter uma região. A condição do código é exatamente essa: a região está vazia.

Temu orders in Odoo every 15 minutes. Stock out every 5
Vídeo: Temu orders in Odoo every 15 minutes. Stock out every 5 (vídeo em inglês)

O que faz o módulo antes de a lançar

A ordem que o código do Odoo 19 segue ao clicar no botão é esta:

  1. Descobre a transportadora do Odoo: a da própria transferência ou, se não tiver, a da ordem de vendas.
  2. Procura na instância da Temu uma correspondência de transportadora ativa para essa transportadora. Se não houver uma específica mas existir apenas uma correspondência ativa, usa essa. O mesmo acontece se não houver transportadora: a correspondência ativa só serve se for única.
  3. Se essa correspondência já traz um identificador numérico da transportadora da Temu, o módulo usa-o e termina aí. Nem chega a olhar para a região, pelo que por este caminho a mensagem não pode aparecer.
  4. Se não, procura a região da encomenda. Aqui está a condição: se não a encontrar, lança a mensagem.
  5. Se a encontrar, consulta a Temu sobre as empresas de logística dessa região e continua a escolher a transportadora a partir da resposta.

Onde procura a região

Quando o módulo chega ao passo quatro, procura a região da encomenda em dois sítios, por esta ordem.

  • Primeiro, nos dados da encomenda tal como chegaram da Temu: os da própria encomenda, os da encomenda principal e os de envio (incluindo os de envio decifrados). Procura uma chave regionId ou region_id, no primeiro nível ou dentro de um bloco aninhado, e dá-a por boa se o seu valor se puder converter num número inteiro.
  • Se aí não houver nada utilizável, olha para o número de encomenda da Temu (e, se estiver vazio, para o identificador de encomenda da Temu). Toma o que houver antes do primeiro hífen, ou o número inteiro se não tiver hífen, e se forem só algarismos, essa é a região.

Se nenhum dos dois sítios der uma região, aparece a mensagem, antes de o módulo consultar a Temu sobre as empresas de logística.

Um caso para o ver

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

Imagina uma loja inventada, Casa Norte, que vende utensílios domésticos na Temu e gere os envios a partir do Odoo. Um operador valida a entrega de uma encomenda da Temu. A transferência passa a Concluído, aparece o botão Send Temu Tracking e ele clica. Surge Could not determine Temu regionId for this order. e a ação para.

O que aconteceu, passo a passo segundo o código:

  • A transferência tem uma transportadora do Odoo, mas a correspondência ativa que lhe corresponde não traz um identificador da Temu. O módulo não consegue resolver o assunto no passo três.
  • Passa a procurar a região. Nos dados da encomenda não há uma chave regionId nem region_id com um valor que seja número inteiro, e o que há antes do primeiro hífen do número de encomenda da Temu (ou o número inteiro, se não tiver hífen) não são só algarismos.
  • Sem região, o módulo lança a mensagem e não consulta mais nada à Temu.

A causa, portanto, não está no botão nem no estado da transferência: está no facto de a encomenda importada não oferecer nenhuma região ao módulo.

O que aprender com o caso

A mensagem fala da região, não da transportadora

Aparece antes de o módulo comparar transportadoras. Pode acontecer que a transportadora do Odoo esteja perfeitamente escolhida e, mesmo assim, a mensagem apareça, porque o que falta é a região.

Um identificador já definido evita a mensagem

Se a correspondência de transportadora ativa para essa transportadora já traz o seu identificador numérico da Temu, o módulo devolve-o no passo três e não verifica a região. É o único caminho que o código mostra para não depender da região.

O que o módulo precisa da encomenda

Para obter uma região, a encomenda tem de trazer nos seus dados uma região numérica, ou um número de encomenda da Temu cujo troço antes do primeiro hífen (ou o número inteiro, se não tiver hífen) sejam só algarismos. Se nenhuma das duas coisas se verificar, o módulo não tem de onde a tirar.

Versões

A ordem de verificações que leste é a do código do Odoo 19. A mensagem está publicada no código do Odoo 17, 18 e 19, e o botão tem a mesma condição de vista nas três.

Como se vê o botão com o Odoo em português de Portugal

Com o Odoo em português de Portugal, o botão aparece como Send Temu Tracking (o módulo não o traduz) e o estado em que aparece é Concluído. É o texto que deves procurar na transferência.

Esquema feito com código: o texto do botão tal como se lê com o Odoo em português de Portugal, Send Temu Tracking
Esquema gerado a partir das traduções publicadas do módulo (não é uma captura do Odoo): assim se lê o botão com o Odoo em português de Portugal.

Como ajuda a FlexigoTech

A FlexigoTech implementa Odoo 17, 18, 19 e 20 e desenvolve conectores e integrações à medida. Se trabalhas com o Temu Connector for Odoo e as tuas encomendas não oferecem região ou precisas de ajustar a forma como as transportadoras são escolhidas, podemos revê-lo contigo.

Continue a ler

O que faz o botão Execute do Temu Connector for Odoo, passo a passoO que faz o botão Execute de Fulfillment no Temu Connector for Odoo: o que verifica, que estados escreve e que mensagens o podem travar.
Verificado no código do conector (versão 19.0) e nas fontes indicadas

Fontes

  • Código do módulo: flexigobe_temu_connector 19.0 (455b3f0f): models/stock_picking.py
  • Código do módulo: flexigobe_temu_connector 19.0 (455b3f0f): views/stock_picking_views.xml
  • flexigotech.com/en/services.html