Quand il apparaît et qui peut l'utiliser
Le bouton Exécuter la synchronisation des expéditions externes se trouve sur l'écran Comptes du module et il est toujours visible : la vue ne lui impose aucune condition dans Odoo 17, 18, 19 ni 20. Vous y accédez depuis le menu Amazon › Configuration › Comptes (Amazon › Configuration › Accounts).
Les droits comptent à deux endroits. Dans le menu, l'entrée Amazon demande Lecteur (Viewer), mais Configuration et Comptes demandent Responsable (Manager) : sans ce droit, vous ne voyez pas ces entrées. Et quand vous cliquez sur le bouton, le module revérifie côté serveur que vous avez bien accès, comme vous le verrez plus bas.


Pas à pas : ce que fait le module, dans l'ordre
Odoo exécute cette même synchronisation de lui-même ; le bouton est le moyen de la lancer à la main. Voici le déroulement, en commençant par le chemin automatique.
- D'abord, Odoo le fait tout seul. La tâche planifiée
SP-API Amazon - Synchronisation du statut d'expédition externe(Amazon SP-API - Sync external shipping status) s'exécute toutes les 5 minutes et est active dès l'installation du module. Elle parcourt les comptes actifs dont la caseSynchroniser le statut d'expédition externe(Sync external shipment status) est cochée et lance la synchronisation sur chacun. - Elle vérifie la case. Elle est cochée par défaut. Elle se trouve sur la fiche de
Comptes, ongletCommandes et expédition(Orders & Fulfillment), groupeSynchronisation externe des expéditions (activée par défaut). Son aide dit : « Récupérer le statut des commandes expédiées depuis Amazon et mettre à jour les livraisons Odoo. » - Cliquez sur le bouton seulement si vous voulez la lancer maintenant, au lieu d'attendre le prochain passage de la tâche. Elle s'exécute alors avec une origine manuelle.
- Le module vérifie vos droits. Sauf si l'action s'exécute avec les privilèges de superutilisateur, vous devez être
Responsabled'Amazon Seller Connector ou avoir accès aux Paramètres ; sinon, elle s'arrête avec le message qui figure dans la section suivante. Ensuite, il vérifie que vous pouvez écrire sur le compte. - Il parcourt les comptes sur lesquels vous lancez le bouton. Si, sur l'un d'eux, la case
Synchroniser le statut d'expédition externeest décochée, la synchronisation de ce compte s'arrête là, sans interroger Amazon. - Il demande à Amazon les commandes de la place de marché du compte au statut
ShippedouPartiallyShipped, mises à jour à partir du début d'une fenêtre de temps calculée par le module. Il lit jusqu'à un nombre maximal de commandes ; si le paramètre du compte n'a pas de valeur, il utilise 200. Si Amazon n'en renvoie aucune, il s'arrête. - Il ne garde qu'un enregistrement par commande Amazon. Si la même commande apparaît plusieurs fois,
ShippedremplacePartiallyShipped. Les enregistrements sans identifiant de commande sont écartés. - Il cherche les commandes clients d'Odoo liées à ces commandes Amazon. S'il n'y en a aucune, il s'arrête.
- Il traite chaque commande client. Il prend son identifiant de commande Amazon (celui qui est enregistré ou, à défaut, celui que le module détermine) et cherche son statut ; s'il est vide, il passe à la suivante. Quand il y a un statut, il confie la commande à la fonction du module qui la traite. Selon son résultat, le module compte des livraisons validées ou des commandes simplement mises à jour ou ignorées.
Ce qui change et quoi vérifier ensuite
Ce qui change dans Odoo est résumé par l'aide de la case : on récupère le statut des commandes expédiées depuis Amazon et on met à jour les livraisons d'Odoo. Le module tient le compte des livraisons validées et des commandes simplement mises à jour ou ignorées.
La différence entre cliquer et attendre est la suivante : quand la synchronisation manuelle se termine plus tôt que prévu (case décochée, aucune commande expédiée dans la fenêtre ou aucune liée dans Odoo), elle laisse un message avec le résultat dans le chatter de la fiche du compte. La tâche planifiée travaille sans publier ce message. De plus, la tâche traite chaque compte séparément : si l'un échoue, elle laisse un avertissement dans le log du serveur, enregistre l'erreur sur ce compte et passe au suivant.
Le message de droits
Si vous cliquez sur le bouton sans le droit adéquat, l'action s'arrête avec ce message :
You need Amazon Seller Connector Manager (or Settings) access for this action. Ask a manager to grant Manager access.
On y arrive en cliquant sur Exécuter la synchronisation des expéditions externes. Cela signifie que votre utilisateur n'a ni le droit de responsable d'Amazon Seller Connector ni celui des Paramètres. La solution est celle que dit le message lui-même : demander à un responsable de vous donner cet accès. Rien de ce que la synchronisation allait modifier n'est enregistré.

Exécuter la synchronisation des expéditions externes.Coût et aide à la mise en route
Le module est à paiement unique par version d'Odoo et nécessite l'abonnement à FlexigoTech Cloud, plan Connecteur : 49 €/mois ou 490 €/an HT, pour jusqu'à 3 comptes de la plateforme. Il est publié sur Odoo Apps pour 17.0, 18.0, 19.0 et 20.0 ; vous pouvez le voir sur la fiche d'Odoo Apps ou sur la page du module. La connexion passe par FlexigoTech Cloud, qui conserve les identifiants chiffrés, surveille la synchronisation et prévient par e-mail en cas d'échec. Sans abonnement, ou avec le service suspendu, ce que permet l'abonnement s'arrête ; les données restent dans votre Odoo.
Si vous êtes en train de déployer Odoo et que vous voulez revoir les droits, les comptes et les paramètres avant de lancer la synchronisation, FlexigoTech déploie Odoo 17, 18, 19 et 20 et développe des connecteurs et des intégrations sur mesure.
À lire aussi
Vérifié dans le code du connecteur (version 20.0) et dans les sources citées
Sources
- Code du module : flexigobe_amazon_seller_connector 20.0 (8576afa5): views/amazon_spapi_account_views.xml
- Code du module : flexigobe_amazon_seller_connector 20.0 (8576afa5): models/amazon_spapi_account.py
- apps.odoo.com/apps/modules/20.0/flexigobe_amazon_seller_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
