Aller au contenu principal
Temu

L'erreur « Could not determine Temu regionId for this order. » dans Odoo

Le message Could not determine Temu regionId for this order. apparaît en cliquant sur Send Temu Tracking quand le module ne trouve pas la région de la commande Temu et que la correspondance de transporteur ne contient pas déjà d'identifiant Temu. Voici la condition exacte du code, un cas pour le voir et la marche à suivre pour le résoudre.

FlexigoTech · Responsable : Víctor Gómez · Mis à jour le 5 novembre 2026

L'essentiel

Module
Temu
Versions
Odoo 17, 18, 19 et 20
Vérifié
dans le code du connecteur, version 19.0 · dans les sources citées à la fin
Lecture
5 min

Quand le message apparaît

Le message Could not determine Temu regionId for this order. apparaît en cliquant sur le bouton Send Temu Tracking de la vue du transfert. Ce bouton n'est visible que lorsque le transfert correspond à une commande Temu et qu'il est à l'état Terminé (Fait en Odoo 17.0) ; la condition de la vue est la même dans Odoo 17, 18 et 19. Quand le message s'affiche, l'action s'arrête.

Schéma réalisé à partir du code : en haut le bouton pour envoyer le suivi à Temu et dessous le message d'erreur sur regionId
Schéma généré à partir du code publié du module (ce n'est pas une capture d'écran d'Odoo) : le bouton et, dessous, le message, dans Odoo 17, 18 et 19.

Le module lance le message en cherchant le transporteur Temu pour la commande, lorsqu'il ne parvient pas à obtenir une région. La condition du code est exactement celle-là : la région est vide.

Temu orders in Odoo every 15 minutes. Stock out every 5
Vidéo : Temu orders in Odoo every 15 minutes. Stock out every 5 (vidéo en anglais)

Ce que fait le module avant de le lancer

Voici l'ordre suivi par le code d'Odoo 19 lorsqu'on clique sur le bouton :

  1. Il détermine le transporteur Odoo : celui du transfert lui-même ou, à défaut, celui de la commande client.
  2. Il cherche dans l'instance Temu une correspondance de transporteur active pour ce transporteur. S'il n'y en a pas de spécifique mais qu'il n'existe qu'une seule correspondance active, il utilise celle-ci. Même chose s'il n'y a pas de transporteur : la correspondance active ne convient que si elle est unique.
  3. Si cette correspondance contient déjà un identifiant numérique du transporteur Temu, le module l'utilise et s'arrête là. Il ne regarde pas la région : par ce chemin, le message ne peut donc pas apparaître.
  4. Sinon, il cherche la région de la commande. C'est ici que se trouve la condition : s'il ne la trouve pas, il lance le message.
  5. S'il la trouve, il interroge Temu sur les entreprises de logistique de cette région et poursuit le choix du transporteur à partir de la réponse.

Où il cherche la région

Arrivé à l'étape quatre, le module cherche la région de la commande à deux endroits, dans cet ordre.

  • D'abord, dans les données de la commande telles qu'elles sont arrivées de Temu : celles de la commande elle-même, celles de sa commande parente et celles d'expédition (y compris les données d'expédition déchiffrées). Il cherche une clé regionId ou region_id, au premier niveau ou dans un bloc imbriqué, et la retient si sa valeur peut être convertie en nombre entier.
  • Si rien d'exploitable ne s'y trouve, il regarde le numéro de commande Temu (et, s'il est vide, l'identifiant de commande Temu). Il prend ce qui précède le premier tiret, ou le numéro entier s'il n'y a pas de tiret, et si ce ne sont que des chiffres, c'est la région.

Si aucun des deux endroits ne donne de région, le message apparaît, avant même que le module n'interroge Temu sur les entreprises de logistique.

Un cas pour le voir

Exemple Cas illustratif : l'entreprise et ses chiffres sont inventés pour expliquer le flux.

Imaginez une boutique fictive, Hogar Norte, qui vend des ustensiles de cuisine sur Temu et gère ses expéditions depuis Odoo. Un opérateur valide la livraison d'une commande Temu. Le transfert passe à Terminé, le bouton Send Temu Tracking apparaît et il clique dessus. Could not determine Temu regionId for this order. s'affiche et l'action s'arrête.

Ce qui s'est passé, étape par étape d'après le code :

  • Le transfert a un transporteur Odoo, mais la correspondance active qui lui correspond ne contient pas d'identifiant Temu. Le module ne peut donc pas conclure à l'étape trois.
  • Il passe à la recherche de la région. Dans les données de la commande, il n'y a ni clé regionId ni clé region_id avec une valeur entière, et ce qui précède le premier tiret du numéro de commande Temu (ou le numéro entier, s'il n'a pas de tiret) n'est pas composé uniquement de chiffres.
  • Sans région, le module lance le message et n'interroge plus Temu.

La cause ne se trouve donc ni dans le bouton ni dans l'état du transfert : la commande importée n'offre aucune région au module.

Ce que le cas enseigne

Le message parle de la région, pas du transporteur

Il apparaît avant que le module ne compare les transporteurs. Le transporteur Odoo peut être parfaitement choisi et le message apparaître quand même, car c'est la région qui manque.

Un identifiant déjà fixé évite le message

Si la correspondance de transporteur active pour ce transporteur contient déjà son identifiant numérique Temu, le module le renvoie à l'étape trois et ne vérifie pas la région. C'est le seul chemin que montre le code pour ne pas dépendre de la région.

Ce dont le module a besoin dans la commande

Pour obtenir une région, la commande doit contenir dans ses données une région numérique, ou un numéro de commande Temu dont la partie avant le premier tiret (ou le numéro entier, s'il n'a pas de tiret) ne comporte que des chiffres. Si aucune des deux conditions n'est remplie, le module n'a nulle part où la prendre.

Versions

L'ordre des vérifications décrit ici est celui du code d'Odoo 19. Le message est publié dans le code d'Odoo 17, 18 et 19, et le bouton a la même condition de vue dans les trois.

Comment le bouton s'affiche avec Odoo en français

Avec Odoo en français, le module n'a pas de traduction pour ce bouton : il s'affiche en anglais, Send Temu Tracking, et l'état dans lequel il apparaît est Terminé. C'est le texte à chercher dans le transfert.

Schéma réalisé à partir du code : le texte du bouton tel qu'on le lit avec Odoo en français, Send Temu Tracking
Schéma généré à partir des traductions publiées du module (ce n'est pas une capture d'écran d'Odoo) : voici comment se lit le bouton avec Odoo en français.

Comment FlexigoTech peut vous aider

FlexigoTech met en place Odoo 17, 18, 19 et 20 et développe des connecteurs et des intégrations sur mesure. Si vous travaillez avec Temu Connector for Odoo et que vos commandes n'offrent pas de région ou que vous devez ajuster la façon dont les transporteurs sont choisis, nous pouvons l'examiner avec vous.

À lire aussi

Ce que fait le bouton Execute de Temu Connector for Odoo, étape par étapeCe que fait le bouton Execute de Fulfillment dans Temu Connector for Odoo : ce qu'il vérifie, quels statuts il écrit et quels messages peuvent l'arrêter.
Vérifié dans le code du connecteur (version 19.0) et dans les sources citées

Sources

  • Code du module : flexigobe_temu_connector 19.0 (455b3f0f): models/stock_picking.py
  • Code du module : flexigobe_temu_connector 19.0 (455b3f0f): views/stock_picking_views.xml
  • flexigotech.com/en/services.html