Ce que dit le message et ce qu'il signifie
Quand vous cliquez sur Remboursement dans Mirakl sur une commande, Odoo s'arrête et affiche ce texte (avec Odoo en français) :
La commande … est déjà entièrement remboursée (… remboursés le …). La rembourser à nouveau enverrait un second remboursement au marketplace. (Order … is already fully refunded (… refunded on …). Refunding it again would send a second refund to the marketplace.)
Les blancs se remplissent avec trois données. La première est le nom de la commande ou, à défaut, son identifiant Mirakl. La deuxième est le montant déjà remboursé. La troisième est la date du remboursement, ou un tiret - si aucune n'est enregistrée.
La signification est directe : la commande figure comme entièrement remboursée et le module n'envoie pas à nouveau le remboursement. C'est une erreur qui interrompt l'action, donc ce que ce clic allait modifier n'est pas enregistré.

Le message figure dans le code publié de toutes les branches : Odoo 17, 18, 19 et 20.

Quand il apparaît exactement
La condition est unique : que l'État du remboursement (Refund State) de la commande soit Remboursé (Refunded). Ce champ se voit dans la fiche de Commandes Mirakl (Mirakl Orders), dans le groupe Remboursement (Refund), et aussi dans la liste de ce même menu. Ses valeurs sont En attente, Remboursé, Partiel, Erreur et Non demandé, qui est la valeur par défaut. Avec n'importe laquelle des autres, la vérification ne se déclenche pas.
Le bouton Remboursement dans Mirakl est toujours visible dans Odoo 17, 18, 19 et 20, y compris quand la commande est déjà remboursée. C'est le message qui bloque le second clic.
Dans Odoo 20.0, la méthode du bouton procède dans cet ordre : elle vérifie d'abord que votre utilisateur appartient au groupe Mirakl Manager ; ensuite, commande par commande, elle regarde si l'état est Remboursé et, si c'est le cas, affiche le message. Ce n'est que s'il ne l'est pas qu'elle envoie le remboursement.
Le code explique pourquoi cette garde existe : un remboursement, c'est de l'argent et l'appel à Mirakl n'est pas idempotent. Sans la vérification, un second clic aurait renvoyé un remboursement complet, car lorsque la commande n'a pas de montant demandé, le module utilise le total de la commande.

Comment le résoudre, pas à pas
- Ouvrez
Mirakl › Opérations › Commandes(Mirakl › Operations › Orders) et entrez dans la commande que nomme le message. Son nom, ou son identifiant, est le premier blanc. - Regardez
État du remboursementdans le groupeRemboursementde la fiche. S'il indiqueRemboursé, le message est celui attendu : c'est exactement la condition qui le déclenche. - Comparez le montant et la date du message avec le remboursement que vous pensiez avoir effectué.
- S'ils coïncident, ne cliquez pas à nouveau. La commande figure déjà comme entièrement remboursée et le répéter enverrait un second remboursement au marketplace.
- S'ils ne coïncident pas, votre clic n'a rien envoyé de nouveau : l'avertissement arrête l'action. Vérifiez ce remboursement avant de faire quoi que ce soit d'autre.
- Pour d'autres commandes, consultez l'état dans la liste des
Commandes Miraklavant de cliquer sur le bouton : il y est aussi visible.
Si l'état est En attente, Partiel, Erreur ou Non demandé, ce message ne vous bloquera pas : la vérification ne regarde que si l'état est Remboursé.
Que se passe-t-il quand le message n'apparaît pas
Avec la commande dans n'importe quel autre état, la méthode d'Odoo 20.0 envoie le remboursement à Mirakl via l'instance de la commande. Le montant est celui demandé dans la commande et, s'il n'y en a aucun, le total de la commande. Les champs de cette instance sont expliqués dans Les champs d'Instance Mirakl.
Si l'envoi réussit, le module enregistre l'état Remboursé, ou Partiel si le montant envoyé est inférieur au total de la commande, avec le montant et la date. Ce sont les données que ce message vous montre ensuite.
Si l'envoi échoue, Odoo vous affiche l'erreur et le remboursement n'est pas marqué comme effectué. Il en va de même si c'est FlexigoTech Cloud qui ne laisse pas passer l'envoi : la commande n'est pas marquée comme remboursée. La connexion avec Mirakl passe par ce service, qui conserve les identifiants chiffrés et surveille la synchronisation.
Que vérifier ensuite
Une fois une commande vérifiée, retournez à la liste des Commandes Mirakl et regardez l'État du remboursement des autres : ce champ figure aussi dans la liste. Vous savez ainsi, avant de cliquer sur Remboursement dans Mirakl, si l'avertissement va se déclencher ou si le module va envoyer le remboursement.
Rappelez-vous que le bouton ne change pas d'aspect et ne disparaît pas quand la commande est déjà remboursée : il est toujours visible, et c'est l'avertissement qui le bloque. Si un autre message s'affiche lors du clic, ce n'est pas celui-ci : celui-ci n'apparaît qu'avec l'état Remboursé.
Comment FlexigoTech vous aide
FlexigoTech met en place Odoo 17, 18, 19 et 20 et développe des connecteurs et des intégrations sur mesure. Si vous souhaitez revoir le flux de remboursements dans votre Odoo, écrivez-nous depuis la page du module ou consultez sa fiche sur Odoo Apps.
À 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): models/mirakl_order.py
- Code du module : flexigobe_mirakl_connector 20.0 (aa05e537): views/mirakl_order_views.xml
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
