Aller au contenu principal
ManoMano

Comment publier et retirer des offres ManoMano depuis Odoo

Avec le connecteur ManoMano, les offres se publient avec l'assistant « Publish offers » : vous choisissez le contrat, le prix et les produits, et Odoo les envoie avec le prix TTC et, comme stock, la quantité disponible à ce moment-là. Les ventes que vous enregistrez ensuite dans Odoo ne diminuent pas le stock de l'offre : si vous vendez le même produit par un autre canal, vous pouvez donc vendre sur ManoMano plus que ce que vous avez. Pour retirer une offre, Odoo l'envoie avec un stock de 0 et ne la considère comme retirée que lorsque ManoMano cesse de l'afficher.

FlexigoTech · Responsable : Víctor Gómez · Mis à jour le 5 novembre 2026

L'essentiel

Module
ManoMano
Versions
Odoo 17, 18, 19 et 20
Vérifié
dans le code du connecteur, version 17.0, 18.0, 19.0 et 20.0 · dans les sources citées à la fin
Lecture
6 min

Une offre relie un produit Odoo à un contrat de vendeur ManoMano. Il y en a une par produit et par contrat. Si vous republiez un produit qui avait déjà une offre, l'assistant la met à jour.

Avant la première offre

Trois données sont indispensables, sans quoi aucune offre ne part :

  • La référence interne du produit. C'est le SKU de l'offre. Si un produit n'en a pas, l'assistant s'arrête sans créer aucune offre et l'indique avec The following products have no Internal Reference (SKU) and cannot be published to ManoMano. Please set one first: suivi de la liste de ces produits.
  • La grille de transport du contrat. Dans ManoMano › Configuration › Contracts, le champ « Carrier grid » reprend le nom de la grille tel qu'il figure dans la Toolbox de ManoMano. Elle accompagne chaque offre, avec « Delivery days (min) » et « Delivery days (max) », qui valent 2 et 5 jours. L'assistant ne la vérifie pas : si elle manque, l'offre est créée et passe en erreur avec le motif.
  • Un prix supérieur à zéro. Si le prix d'un produit sort à 0, l'assistant s'arrête avec Product '…' has a price of 0. ManoMano requires a positive price., avec le nom du produit, et avec un prix manuel de 0 il s'arrête avec Manual price must be greater than zero. Il ne crée alors aucune offre non plus.

Une offre qui existe déjà passe ses propres contrôles à chaque envoi : si elle perd ensuite sa référence ou son prix, elle passe en erreur avec The product has no Internal Reference: it is the SKU of the offer. ou avec ManoMano requires a price greater than zero.

Si le produit a un code-barres, il part comme EAN, et le poids du produit accompagne l'offre.

Publier pas à pas

  1. Ouvrez une liste de variantes de produit. Dans Odoo 17, 18, 19 et 20, il y a Inventory › Reporting › Stock, que seuls voient les administrateurs de l'Inventaire ; dans les versions 17, 18 et 19, également les menus « Product Variants » des Ventes, de l'Inventaire et des Achats, si les variantes sont activées. Dans la liste « Products » des Ventes ou de l'Inventaire, l'action n'apparaît pas.
  2. Cochez au moins un produit, pour que le menu des actions s'affiche, et choisissez « Publish on ManoMano ». L'assistant « Publish offers » s'ouvre.
  3. Dans « Products », ajoutez les produits que vous voulez vendre sur ManoMano. L'assistant ne reprend pas ceux que vous avez cochés dans la liste : si vous le laissez vide, la publication s'arrête avec Select at least one product to publish.
  4. Choisissez le contrat et, si vous le souhaitez, la catégorie. La catégorie est indicative : ManoMano la reprend de son catalogue, par l'EAN, ou du flux produits que vous chargez dans la Toolbox.
  5. Choisissez l'origine du prix : « Sales price, plus the product taxes », qui est la valeur par défaut, « Public price, plus the product taxes » ou « Manual, VAT included ». Avec les deux premières, l'assistant ajoute au prix les taxes du produit pour la société du contrat, car ManoMano reçoit le prix payé par le client.
  6. Cliquez sur « Publish ». Odoo crée ou met à jour les offres, avec la quantité disponible de chaque produit comme stock, et les envoie à ManoMano 20 par 20.
Liste des offres ManoMano dans Odoo avec produit, contrat, catégorie, prix, quantité et état
ManoMano › Offers › Offers : chaque offre avec son contrat, sa catégorie, son prix TTC, sa quantité et son état, publiée, en brouillon ou en erreur. Capture d'écran d'Odoo avec des données de démonstration.

L'état de chaque offre

ÉtatCe qui s'est passéCe que vous faites
DraftCréée et non envoyéeRien : la tâche quotidienne l'envoie, ou publiez-la vous-même
PublishedManoMano l'a acceptéeRegardez « Online » pour savoir si les clients la voient
ErrorUne donnée manque ou ManoMano l'a refuséeLisez le message : les motifs de ManoMano suivent ManoMano refused it:
UnpublishedRetirée de la venteRepubliez-la si vous voulez la vendre à nouveau

Une offre acceptée n'est pas toujours visible : « Online » reflète ce que dit ManoMano, et les avertissements qu'elle envoie sont conservés dans le message de l'offre. Si une offre publiée n'a pas changé depuis son dernier envoi, Odoo ne la renvoie pas.

Retirer une offre

ManoMano ne propose pas d'appel pour supprimer une offre. Lorsque vous cliquez sur « Unpublish », Odoo envoie l'offre avec un stock de 0 et ne la passe à Unpublished que lorsque ManoMano confirme qu'elle n'est plus en ligne. Si ManoMano l'affiche encore, l'offre garde son état, avec ce message : ManoMano took the stock at 0 but still shows the offer online: it is not unpublished yet.

Une offre qui n'a jamais été envoyée passe à Unpublished sans appeler ManoMano.

Schéma du cycle de vie d'une offre ManoMano dans Odoo, de l'assistant à la vérification quotidienne
De l'assistant à la vérification quotidienne, avec les libellés d'Odoo : les données contrôlées par l'assistant et celles vérifiées avant l'envoi, l'envoi 20 par 20, les états et le retrait avec un stock de 0. Schéma réalisé à partir du code du module.

Ce qui se passe seul chaque jour

  • « ManoMano: sync offers » publie les offres en Draft et renvoie les Published qui ont changé depuis leur dernier envoi. Il envoie le « Stock » enregistré sur l'offre, et non la quantité disponible du jour. Celles en Error attendent que vous les corrigiez et les publiiez vous-même.
  • « ManoMano: pull offer status » interroge ManoMano sur les offres envoyées, 50 références par 50. Celles que ManoMano liste passent à « Online », avec leur « ManoMano product ID », et à Published, sauf si leur dernière mise à jour s'est terminée en erreur. Celles qu'il ne liste pas sont marquées hors ligne.

D'où vient le stock de l'offre ?

C'est la quantité que le produit avait en stock au moment où vous l'avez publié avec l'assistant, et elle ne change pas toute seule : les ventes dans Odoo, y compris celles qui arrivent d'autres canaux, ne la diminuent pas. Pour envoyer le chiffre du jour, repassez le produit par l'assistant. Vous pouvez aussi modifier « Stock » sur l'offre : si elle est en Draft ou en Error, cliquez sur « Publish » ; si elle est déjà publiée, ce bouton n'apparaît pas et c'est la tâche quotidienne qui envoie la modification.

Puis-je vendre le même produit avec deux contrats ?

Oui. Il y a une offre par produit et par contrat, donc chaque contrat a la sienne, avec son prix et sa grille.

Pourquoi une offre publiée n'apparaît-elle pas sur ManoMano ?

Parce qu'acceptée ne veut pas dire visible. Vérifiez la case « Online » et le message de l'offre après la vérification quotidienne : c'est là que figurent les avertissements et les motifs donnés par ManoMano.

À lire aussi

ManoMano et Odoo : erreurs fréquentes et comment les corrigerLes erreurs les plus fréquentes en connectant ManoMano à Odoo 17, 18, 19 et 20 : clé API, sandbox, contrat, offres, expédition et remboursements, avec leur solution.Factures ManoMano depuis Odoo : questions et réponsesComment les factures et avoirs de chaque commande sont envoyés à ManoMano depuis Odoo 17, 18, 19 et 20 : états, format PDF, ordre d'envoi et erreurs.Faut-il un ERP pour vendre sur ManoMano ? Les signesCheck-list pour savoir si votre activité ManoMano a besoin d'un ERP, et ce que fait Odoo avec le connecteur : commandes, offres, stock, transport, traductions.
Vérifié dans le code du connecteur (version 17.0, 18.0, 19.0 et 20.0) et dans les sources citées

Sources

  • Code du module : flexigobe_manomano_connector · 17.0 af39294 · 18.0 ace8d3a · 19.0 57d3f8e · 20.0 093b2e3: wizard/offer_publish_wizard.py, wizard/offer_publish_wizard_views.xml, models/manomano_offer.py, views/manomano_offer_views.xml
  • Code du module : flexigobe_manomano_connector · 17.0 af39294 · 18.0 ace8d3a · 19.0 57d3f8e · 20.0 093b2e3: models/manomano_contract.py, models/manomano_offer.py (_build_payload), views/menu.xml
  • Code du module : flexigobe_manomano_connector · 17.0 af39294 · 18.0 ace8d3a · 19.0 57d3f8e · 20.0 093b2e3: models/manomano_offer.py (_payload_problem, _put, _row_outcome, action_publish)
  • Code du module : flexigobe_manomano_connector · 17.0 af39294 · 18.0 ace8d3a · 19.0 57d3f8e · 20.0 093b2e3: models/manomano_offer.py (action_unpublish)
  • Code du module : flexigobe_manomano_connector · 17.0 af39294 · 18.0 ace8d3a · 19.0 57d3f8e · 20.0 093b2e3: data/manomano_cron.xml, models/manomano_offer.py (_cron_sync_offers, _pull_status)
  • github.com/odoo/odoo/blob/20.0/addons/stock/views/product_views.xml