Un cas pour le voir : des commandes qui attendent leur acceptation
Exemple Cas illustratif : l'entreprise et ses chiffres sont inventés pour expliquer le flux.
Almazara Home est une boutique fictive qui vend des articles de maison sur une place de marché Mirakl et a connecté son compte à Mirakl Connector. Un matin, la personne qui gère les commandes se demande si Odoo accepte tout seul les commandes qui l'exigent ou si elle doit le faire elle-même. Voici son parcours : elle regarde d'abord ce qu'Odoo fait de son côté, puis elle clique sur le bouton.

D'abord, ce qu'Odoo fait sans que vous cliquiez sur rien
Le bouton n'est pas le seul chemin. La méthode qui accepte les commandes est aussi appelée par deux tâches planifiées, et les deux tournent sans que personne n'ait à cliquer :
- La tâche
Mirakl - Synchroniser les commandes(Mirakl - Sync Orders) s'exécute toutes les dix minutes et est active dès l'installation. Quand elle a fini d'importer les commandes, si les deux casesAccepter automatiquement les commandes(Auto Accept Orders) etAccepter les commandes en attente à l'import(Accept Pending On Import) sont cochées dans l'instance, elle tente d'accepter les commandes en attente, dans la limite de tentatives de cette instance. - La tâche
Mirakl - Accepter les commandes(Mirakl - Accept Orders) s'exécute aussi toutes les dix minutes et est active dès l'installation. Elle appelle la même méthode d'acceptation avec la limite de tentatives de chaque instance.
Les deux cases sont décochées par défaut dans le code. L'aide de Accepter automatiquement les commandes dit : «Accepter automatiquement les commandes importées qui nécessitent l'acceptation du vendeur dans Mirakl.» Celle de Accepter les commandes en attente à l'import dit : «Essayer d'accepter les commandes en attente juste après chaque import de commandes manuel ou planifié.»
Pas à pas avec le bouton
- Ouvrez
Mirakl › Configuration › Marketplaceset entrez dans la fiche de l'instance, sur l'écranInstances Mirakl(Mirakl Instances). - Allez dans l'onglet
Commandes et retours(Orders and Returns), groupePolitique de synchronisation(Sync Policy). Vous y trouvez les deux cases ci-dessus et le champLimite de tentatives d'acceptation(Accept Retry Limit), dont la valeur par défaut dans le code est100. - Cliquez sur
Accepter les commandes en attente. Le bouton est toujours visible sur cet écran, dans Odoo 17, 18, 19 et 20. Ce qui suit correspond à ce que fait le code d'Odoo 20. - Lisez l'avis qui s'affiche à la fin. Il a pour titre
Mirakl, ne reste pas figé à l'écran et son texte estAcceptées : … | Erreurs : …(Accepted: … | Errors: …). S'il y a eu au moins une erreur, l'avis apparaît comme un avertissement. - Regardez la fiche de l'instance : le bouton y laisse aussi un message avec le résultat.
- Si aucune commande n'a été acceptée et qu'il y a eu des erreurs, le message de la fiche vous renvoie aux journaux des commandes Mirakl ; s'il y a eu des erreurs mais aussi des commandes acceptées, vous le verrez dans le décompte « Erreurs » de l'avis. Cliquez de nouveau sur le bouton quand vous voulez réessayer.

Ce que fait le bouton en interne
Le bouton agit sur l'instance que vous avez ouverte. D'après le code d'Odoo 20, il fait ceci, dans cet ordre :
- Il cherche les commandes de cette instance qui nécessitent une acceptation et dont l'état d'acceptation est en attente ou en erreur.
- Il écarte les commandes retenues par rapport aux commandes clients. Le commentaire du code l'explique ainsi : les accepter reviendrait à s'engager à expédier ce qu'Odoo n'expédiera jamais.
- Il les trie par date de commande, de la plus ancienne à la plus récente, et en garde autant que l'indique
Limite de tentatives d'acceptation. - Il tente d'accepter chacune. Si elle est acceptée, il ajoute un aux acceptées. Si elle n'est pas acceptée et que la commande reste avec l'état d'acceptation en erreur, il ajoute un aux erreurs.
- Il publie un message dans la fiche de l'instance et affiche l'avis avec les deux décomptes. L'avis s'affiche comme un avertissement s'il y a eu au moins une erreur et comme un succès s'il n'y en a eu aucune.
Un détail sur le décompte : une commande qui n'est pas acceptée mais ne reste pas non plus en état d'erreur ne s'ajoute à aucun des deux totaux.
Quel message vous obtenez
Le texte du message de la fiche dépend du résultat :
| Message | Quand il apparaît | Ce qu'il signifie |
|---|---|---|
Acceptation des commandes en attente terminée : … commandes acceptées. (Accept Pending Orders completed: … orders accepted.) | Au moins une commande a été acceptée | À la place des points de suspension figure le nombre de commandes acceptées. |
Acceptation des commandes en attente terminée avec des erreurs. Vérifiez les journaux des commandes Mirakl. (Accept Pending Orders completed with errors. Check Mirakl order logs.) | Aucune commande n'a été acceptée et il y a eu des erreurs | Des commandes sont restées avec l'état d'acceptation en erreur. |
Acceptation des commandes en attente terminée : aucune commande ne nécessitait d'acceptation. (Accept Pending Orders completed: no orders required acceptance.) | Aucune commande n'a été acceptée et il n'y a pas eu d'erreurs non plus | Aucune commande n'a été acceptée et aucune n'est restée avec l'état d'acceptation en erreur. |
Notez que, si certaines commandes sont acceptées et d'autres échouent, le message de la fiche est le premier, mais l'avis s'affiche comme un avertissement et son texte montre les deux décomptes.
Ce qu'il faut retenir du cas
Almazara Home vérifie trois choses, dans cet ordre : si les deux cases de la politique de synchronisation sont cochées, quelle limite de tentatives a l'instance et ce que lui dit le bouton quand elle clique dessus. Comme les commandes en erreur entrent de nouveau dans la recherche, cliquer une nouvelle fois sur le bouton les retente. Les commandes retenues par rapport aux commandes clients restent exclues, quel que soit le moment où vous cliquez.
Le bouton change de nom selon la langue de votre Odoo :

Accepter les commandes en attente ; en allemand, Ausstehende Bestellungen annehmen ; en italien, Accetta ordini in sospeso ; en portugais, Aceitar Encomendas Pendentes.Pour poursuivre la mise en route, le bouton Tester la connexion a son propre parcours.
Versions et coût
Le bouton Accepter les commandes en attente existe dans les quatre branches publiées, la 17, la 18, la 19 et la 20, et il est toujours visible dans chacune. Le code que je décris est celui d'Odoo 20. Mirakl Connector est un module à paiement unique par version d'Odoo, publié sur Odoo Apps pour ces versions (consultez la fiche ou la page du module), et il nécessite l'abonnement FlexigoTech Cloud, plan Connecteur : 49 €/mois ou 490 €/an HT. La connexion passe par FlexigoTech Cloud, qui conserve les identifiants chiffrés et prévient par e-mail si la synchronisation échoue.
Si vous voulez de l'aide pour la mise en route
FlexigoTech met en place Odoo 17, 18, 19 et 20 et développe des connecteurs et des intégrations sur mesure. Si vous voulez revoir avec nous la politique de synchronisation de votre instance Mirakl, écrivez-nous depuis la page du module.
À lire aussi
Vérifié dans le code du connecteur (version 20.0) et dans les sources citées
Sources
- Code du module : flexigobe_mirakl_connector 20.0 (aa05e537): views/mirakl_instance_views.xml
- Code du module : flexigobe_mirakl_connector 20.0 (aa05e537): models/mirakl_instance.py
- Code du module : flexigobe_mirakl_connector 20.0 (aa05e537): models/mirakl_ai.py
- apps.odoo.com/apps/modules/20.0/flexigobe_mirakl_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
