Exemple Cas illustratif : l'entreprise et ses chiffres sont inventés pour expliquer le flux.
Taller Aralar est une entreprise fictive qui vend sur une marketplace Mirakl et vient d'installer Mirakl Connector dans son Odoo. Les jours passent et aucune facture de la marketplace n'apparaît dans Odoo. Avant de toucher à quoi que ce soit, la personne qui gère Odoo passe en revue ce que fait la tâche Mirakl - Synchroniser les factures et à quels endroits elle peut ne rien faire. C'est cette revue qui suit.
Ce que fait la tâche à chaque passage
La tâche ne regarde pas une marketplace en particulier : elle parcourt l'une après l'autre toutes celles qui remplissent la condition. Dans Odoo 20, quand elle s'exécute, elle fait ceci, dans cet ordre :
- Elle vérifie que la personne qui l'exécute est administrateur. Si ce n'est pas le cas, elle s'arrête avec
Seul un administrateur peut exécuter cette action planifiée.(Only an administrator can run this scheduled action.) et ne fait rien d'autre. - Elle cherche les marketplaces actives pour lesquelles la synchronisation des factures est activée.
- Parmi celles-ci, elle écarte celles qu'elle ne peut pas appeler : celles qui passent par FlexigoTech Cloud sans clé enregistrée et, si l'autorisation que le module a enregistrée n'inclut pas le service du module, toutes celles de cette voie (cette vérification ne sort pas sur le réseau). Les marketplaces qui se connectent en direct passent en premier.
- Pour chaque marketplace restante, elle demande ses factures. Si quelque chose échoue sur l'une d'elles, le module tente de noter l'erreur et passe à la suivante. L'exception est une pause de FlexigoTech Cloud, qui interrompt le parcours.

Mirakl › Configuration › Marketplaces.
Ce qu'elle fait avec les factures de chaque marketplace
Quand vient le tour d'une marketplace, la tâche fait ceci :
- Elle utilise le endpoint de factures de la marketplace ou, s'il est vide,
/invoices. - Elle demande les factures page par page, avec une taille de page et un nombre maximal de pages (au minimum une). Elle s'arrête quand une page arrive vide, quand elle contient moins de factures que la taille de page, quand le total indiqué par Mirakl est atteint ou quand le nombre maximal de pages est atteint.
- Elle traite chaque facture reçue. Si l'une échoue, elle note l'erreur avec cette facture et continue avec les autres.
Si l'opérateur n'expose pas /invoices, le module note l'avertissement Point de terminaison des factures non disponible (HTTP 404). Cet opérateur n'expose pas /invoices. (Invoices endpoint not available (HTTP 404). This operator does not expose /invoices.), enregistre le moment présent comme date de la dernière synchronisation des factures et en a terminé avec cette marketplace. Pour toute autre erreur lors de la requête, il note l'erreur et cesse de lire les pages de cette marketplace.
Si FlexigoTech Cloud ne laisse pas passer l'appel (sans abonnement ou avec une pause du relais), le passage est interrompu : rien n'est marqué ni effacé et le passage suivant reprend. Le module ne fait que compter la pause, avec son code, dans le rapport de santé de FlexigoTech Cloud. Comme les marketplaces directes passent en premier, aucune d'entre elles ne reste sans appel à cause de cette pause.
Fréquence d'exécution et depuis quand
La tâche s'exécute une fois par jour et est désactivée à l'installation : tant que personne ne l'active, elle ne fait rien. Dans Odoo 17, la tâche se répète sans fin. Elle est présente dans les branches publiées 17, 18, 19 et 20.
Les fiches des marketplaces s'ouvrent depuis le menu Mirakl › Configuration › Marketplaces.

Mirakl - Sincronizar facturas ; en allemand, Mirakl - Rechnungen synchronisieren ; en français, Mirakl - Synchroniser les factures ; en italien, Mirakl - Sincronizza fatture ; en portugais, Mirakl - Sincronizar Faturas.La revue de Taller Aralar, pas à pas
- Elle confirme que la tâche est activée, car elle est désactivée à l'installation.
- Elle garde à l'esprit que la tâche s'exécute une fois par jour : elle ne s'attend donc pas à voir les factures immédiatement.
- Elle s'assure que la tâche est exécutée par un administrateur. Sinon, elle s'arrête avec
Seul un administrateur peut exécuter cette action planifiée.. - Elle garde en tête que la tâche ne prend que les marketplaces actives et avec la synchronisation des factures activée : si la sienne ne remplit pas les deux conditions, elle n'entre pas dans le passage. Ses fiches s'ouvrent depuis
Mirakl › Configuration › Marketplaces. - Si la marketplace passe par FlexigoTech Cloud, elle garde en tête que sans clé enregistrée elle n'est pas appelée, et qu'aucune marketplace de cette voie n'est appelée non plus si l'autorisation enregistrée n'inclut pas le service du module.
- Si l'opérateur n'expose pas
/invoices, le module note l'avertissementPoint de terminaison des factures non disponible (HTTP 404). Cet opérateur n'expose pas /invoices., enregistre le moment présent comme date de la dernière synchronisation des factures et en a terminé avec cette marketplace. - S'il y a d'autres erreurs, elle se rappelle que le module tente d'enregistrer une ligne de journal associée à la marketplace et qu'il écrit aussi l'erreur dans le log du serveur.
Ce que ce cas enseigne
Si la tâche ne ramène rien, il convient de vérifier, dans cet ordre : d'abord qu'elle est activée, car elle est désactivée à l'installation et, tant qu'elle l'est, elle ne s'exécute pas. Ensuite, dans l'ordre où le code les applique : administrateur, marketplace qui remplit les conditions, voie FlexigoTech Cloud et, enfin, les erreurs notées.
Concernant les erreurs, le module tente d'écrire une ligne de journal avec le niveau, l'opération, la méthode, l'adresse appelée, l'état de la réponse et le message d'erreur. Si une erreur survient lors de la création de la ligne, il laisse un avertissement dans le log du serveur.
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. Mirakl Connector est publié sur Odoo Apps pour 17, 18, 19 et 20 : vous pouvez consulter la fiche Odoo Apps ou la page du module.
À lire aussi
Vérifié dans le code du connecteur (version 17.0 et 20.0) et dans les sources citées
Sources
- Code du module : flexigobe_mirakl_connector 20.0 (aa05e537): data/ir_cron_data.xml
- Code du module : flexigobe_mirakl_connector 17.0 (e430de3e): data/ir_cron_data.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/en/services.html
