Un cas du début à la fin : une boutique connecte Shopee
Exemple Cas illustratif : l'entreprise et ses chiffres sont inventés pour expliquer le flux.
Papeterie Arrecife est une entreprise fictive qui vend des fournitures de bureau et travaille déjà avec Odoo. Son responsable installe Shopee Marketplace Connector (APAC) et le met en route en un après-midi. En chemin, il rencontre presque tous les avertissements du module. Nous les voyons dans l'ordre où ils apparaissent, avec ce que signifie chacun et ce qu'il fait pour avancer.
Première étape : le compte marketplace
La première chose est de créer le compte. Comme l'équipe vend aussi ailleurs, il essaie de choisir une autre marketplace que Shopee et Odoo répond %s is not available: this connector only connects Shopee. Le module a un autre avertissement dans le même sens : Only Shopee accounts can be connected. Les deux disent la même chose : ce connecteur ne connecte que Shopee. Ce qu'il fait : il laisse le compte sur Shopee.
Ensuite, sans s'en rendre compte, il crée un second compte avec le même shop_id que le premier dans la même société. À l'enregistrement apparaît Each marketplace account (shop_id) must be unique per company. La règle est dans le texte : dans chaque société, un shop_id ne peut figurer que sur un seul compte. Ce qu'il fait : il supprime le brouillon et travaille sur le compte qui existait déjà.
Sur ce même compte, il saisit une fréquence de synchronisation inférieure au minimum et tombe sur Sync frequency must be between 5 and 60 minutes. Il corrige avec une valeur dans cette plage, entre 5 et 60 minutes. En saisissant le seuil de détection des conflits, il se trompe de chiffre et voit Conflict detection threshold must be between 0 and 100%. Il met une valeur entre 0 et 100% et enregistre.
Deuxième étape : catégories, attributs et produits
Le compte prêt, il passe aux mappages. Il commence par les catégories : il associe une catégorie Odoo à une catégorie Shopee puis, plus tard, essaie d'associer la même catégorie Odoo à une autre catégorie Shopee sur le même compte. Apparaît Each Odoo category maps to one marketplace category per account. Ce qu'il fait : il modifie le mappage existant au lieu d'en créer un autre.

Même chose avec les attributs. En répétant un attribut Odoo pour le même compte, l'avertissement est Each Odoo attribute maps to one marketplace attribute per account. La solution est la même : un attribut Odoo, un attribut marketplace par compte.

Il mappe ensuite les produits. Il duplique par erreur le mappage d'une variante sur le même compte et reçoit One mapping per product per account. En corrigeant, il copie l'ID produit Shopee d'une autre ligne et obtient Marketplace product ID must be unique per account. Deux règles distinctes : chaque produit a un seul mappage par compte et chaque ID produit de la marketplace ne peut apparaître qu'une fois par compte. Il revoit la liste et garde un mappage par produit avec son propre ID.

Troisième étape : l'import des commandes
En important la première commande apparaît No product of the order %s is mapped to the account %s: map them in Product Mappings and try again. Le message donne déjà le chemin : aucun produit de cette commande n'est mappé à ce compte. Ce qu'il fait : il va dans Product Mappings, mappe les produits de cette commande et réessaie.
Lors d'une autre tentative, il obtient %s did not return the order %s: %s. Le texte indique que la commande n'a pas été renvoyée et ajoute un détail à la fin. Ce qu'il fait : il lit ce détail en entier avant de réessayer et le conserve pour la personne qui assure son support.
Enfin, une collègue supprime un compte de test qui avait une commande en attente. À l'import apparaît The account of the order %s no longer exists: create its sales order by hand, or delete the hold so that the next import of the company makes it. Ici le message propose deux solutions et Papeterie Arrecife en choisit une : créer la commande client à la main, ou supprimer la mise en attente (hold) pour que le prochain import de la société la crée.
Quatrième étape : le journal de synchronisation
En consultant le journal de synchronisation, le responsable essaie de corriger une ligne et obtient Sync logs are immutable after creation. You cannot edit them. Il tente alors de la supprimer et l'avertissement est Sync logs cannot be deleted. They are part of the immutable audit trail. Le module ne permet ni de modifier ni de supprimer ces enregistrements : ils font partie de la piste d'audit. Ce qu'il fait : il les laisse tels quels et corrige la donnée à la source.
L'avertissement de société qui apparaît à plusieurs endroits
Un message revient dans plusieurs types d'enregistrements : The company of a %s is the one of its marketplace account. Il signifie que la société de cet enregistrement est celle de son compte marketplace. Si vous le voyez, n'essayez pas de donner à cet enregistrement une société différente de celle de son compte : vérifiez à quelle société appartient le compte marketplace et travaillez à partir de là.

Ce qu'il faut retenir du cas
Les avertissements de Papeterie Arrecife se regroupent selon le moment où ils apparaissent :
- Compte : Shopee uniquement, un
shop_idpar société, fréquence entre 5 et 60 minutes et seuil de conflits entre 0 et 100%. - Mappages : une catégorie Odoo et un attribut Odoo par compte, un mappage par produit et par compte, et un ID produit de la marketplace unique par compte.
- Commandes : sans produits mappés, pas d'import ; si le compte de la commande n'existe plus, le message lui-même vous donne les deux solutions.
- Journal : les journaux de synchronisation ne se modifient pas et ne se suppriment pas.
- Société : la société de chaque enregistrement est celle de son compte marketplace.
Pour voir quels champs remplir avant d'arriver à ces avertissements, consultez la mise en route du connecteur, et pour comprendre le parcours de chaque enregistrement, son fonctionnement interne.
Comment FlexigoTech vous aide
Le connecteur est proposé gratuitement (HT) sur Odoo Apps pour Odoo 17, 18, 19 et 20 ; vous le trouverez sur la fiche Odoo Apps et sur sa page sur flexigotech.com. Si vous préférez que quelqu'un le mette en service avec vous, chez FlexigoTech nous implémentons Odoo 17, 18, 19 et 20 et développons des connecteurs et intégrations sur mesure quand votre besoin dépasse ce que fait le module.
À lire aussi
Vérifié dans le code du module (version 20.0) et dans les sources citées
Sources
- Code du module : flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_attribute_mapping.py
- Code du module : flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_category_mapping.py
- Code du module : flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_config.py
- Code du module : flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_order_hold.py
- Code du module : flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_product_mapping.py
- Code du module : flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_sync_conflict.py
- Code du module : flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_sync_log.py
- Code du module : flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_sync_queue.py
- apps.odoo.com/apps/modules/20.0/flexigo_apac_e_commerce_marketplaces_bundle
- apps.odoo.com/apps/modules/17.0/flexigo_apac_e_commerce_marketplaces_bundle
- apps.odoo.com/apps/modules/18.0/flexigo_apac_e_commerce_marketplaces_bundle
- apps.odoo.com/apps/modules/19.0/flexigo_apac_e_commerce_marketplaces_bundle
- flexigotech.com/en/services.html
