Les achats Odoo, pour une PME, ne se résument pas à une demande de prix. Le module enchaîne fournisseurs, listes de prix, conventions, règles de réapprovisionnement et contrôle des factures. Un intégrateur Odoo pour les achats d'une PME sert à choisir un document par type de besoin, pas à activer toutes les cases. La fabrication et le MTO sont déjà traités dans le guide fabrication et MRP : ici, on s'arrête à ce qui part chez un fournisseur.
Les chemins sont ceux de la documentation Purchase 19.0, en anglais. Une base française traduit les libellés. Le public visé est le dirigeant ou le responsable des approvisionnements qui veut arrêter les commandes par e-mail, sans ouvrir un second stock dans un tableur.
Quel document d'achat pour quel besoin ?
La question « quels sont les quatre types d'achats » n'a pas de réponse unique dans Odoo. Le logiciel ne classe pas les dépenses en quatre familles juridiques. Il propose quatre documents, et les mélanger sur le même article double les commandes. JAIKIN écrit le document retenu dans le cadrage, article par article, avant d'activer le planificateur.
| Besoin | Document Odoo 19 | Ce qu'il ne fait pas |
|---|---|---|
| Comparaison ponctuelle de prix et de délais | Request for Quotation | Ne réapprovisionne pas le stock tout seul |
| Même fournisseur, quantités variables, prix négocié | Blanket Order (Purchase Agreements) | Ne copie pas le prix catalogue : il reste à zéro |
| Article stocké, seuil minimum et plafond | Reordering rule, route Buy | Ne réserve pas la pièce pour une commande client précise |
| Facture reçue sans bon de commande (loyer, abonnement) | Facture fournisseur directe | Le contrôle à trois voies ne s'applique pas : il n'y a pas de réception |
La sous-traitance n'est pas une cinquième ligne de ce tableau. Elle part d'une nomenclature, pas d'une simple demande de prix. Le flux qui envoie les composants au façonnier est décrit dans le guide fabrication. Le poser ici, en plus d'une règle de minimum sur les mêmes composants, commande deux fois.
Comment poser un fournisseur et sa liste de prix ?
La fiche article doit avoir la case Purchase cochée. Avec l'application Inventaire, l'onglet Inventory montre la route Buy. Dans l'onglet Purchase, Add a line reçoit le fournisseur, la quantité, le prix unitaire et le délai de livraison. D'autres colonnes, code article fournisseur ou remise, se dévoilent par l'icône de colonnes. Le même prix peut se saisir dans Purchase, Configuration, Vendor Pricelists.
L'ordre de la liste n'est pas décoratif. Quand une règle de réapprovisionnement déclenche une demande, Odoo prend le fournisseur en haut de la liste. Un ancien tarif laissé en première ligne, « pour mémoire », devient le prix commandé. JAIKIN n'y laisse qu'un fournisseur actif, ou désigne le fournisseur dans la colonne Vendor du rapport de réapprovisionnement quand plusieurs restent légitimes.
Le délai de la ligne fournisseur alimente la date prévue de la demande de prix. Le laisser à zéro fait arriver la marchandise « aujourd'hui » dans le prévisionnel, et le magasin découvre le retard sur le quai. Nous relevons le délai réel sur les trois dernières réceptions, pas la promesse du catalogue, avant de confirmer la règle de minimum.
Ce que la demande de prix ajoute
La création est dans Purchase, Orders, Requests for Quotation, puis New. On choisit le fournisseur, une date limite de confirmation, et les articles. Send by Email envoie le modèle de message. Confirm Order transforme la demande en commande. Avec l'inventaire installé, la confirmation crée un bon de réception. Receive Products enregistre l'arrivée. La référence fournisseur, Vendor Reference, sert ensuite à rapprocher le bon de livraison du fournisseur et la commande.
La date limite dépassée marque la demande en retard, elle ne l'annule pas. Les acheteurs qui « relancent dans leur boîte mail » perdent cette trace. JAIKIN fait vivre la relance dans le fil de la demande, pas à côté. Une demande jamais envoyée et une commande déjà confirmée ne se distinguent plus si tout le monde confirme sans envoi.
Besoin d'un accompagnement expert ?
Un diagnostic gratuit de 30 minutes pour analyser vos besoins et vous proposer une solution sur mesure.
Quand ouvrir une convention d'achat ?
La fonction s'active dans Purchase, Configuration, Settings, section Orders, case Purchase Agreements. Le menu Purchase, Orders, Purchase Agreements apparaît alors. On crée un accord, type Blanket Order, avec le fournisseur, l'acheteur, la devise et, si l'accord expire, les dates de validité. Les lignes d'articles portent une quantité et un prix unitaire saisi à la main. La documentation est explicite : le prix existant de la fiche n'est pas recopié. Oublier la saisie laisse le prix à zéro.
Une fois l'accord confirmé, New Quotation préremplit une demande. Les quantités commandées via les demandes liées remontent dans le champ Ordered. Une ligne fournisseur est aussi ajoutée sur l'onglet Purchase de l'article, avec le prix et l'accord. C'est cette ligne que le réapprovisionnement automatique lira. Une convention confirmée avec un prix à zéro alimente donc les prochaines commandes à zéro, pas seulement le PDF envoyé au fournisseur.
JAIKIN n'ouvre pas une convention pour un achat unique. Le document sert quand le même fournisseur livre souvent, en quantités variables, à un prix déjà négocié. Pour comparer trois offres sur un besoin ponctuel, la demande de prix suffit. La page des conventions indique que la case Purchase Agreements ouvre aussi les demandes alternatives. Nous ne les activons que si un acheteur compare vraiment, pas « au cas où ».
Comment régler le minimum et le maximum sans commander deux fois ?
Les règles se créent dans Inventory, Operations, Replenishment, puis New. L'article doit être un bien, avec le suivi de stock coché. Pour un achat, l'application Purchase est installée, la case Purchase est cochée, et au moins un fournisseur est sur la fiche. Le minimum est le prévisionnel en dessous duquel la règle part. Le maximum est le niveau visé. La quantité à commander est, par défaut, celle qui ramène le stock au maximum.
Le déclencheur se dévoile par l'icône de colonnes. Auto crée une demande de prix quand le planificateur quotidien tourne, ou quand une commande client fait passer le prévisionnel sous le minimum, si la route est Buy. Manual liste le besoin dans le rapport, et rien ne part tant qu'on n'a pas cliqué sur Order. JAIKIN laisse Manual sur les articles chers ou à délai long, et Auto seulement après un mois de rapport relu sans surprise.
Le champ Multiple arrondit au conditionnement du fournisseur. Des canettes suivies à l'unité, vendues par six, avec un multiple de 6, ne se commandent pas à l'unité. Si le calcul dépasse le maximum, un avertissement de stock excessif s'affiche. Le conditionnement doit exister sur la liste de prix fournisseur, sinon le multiple n'est pas proposé. Nous posons le conditionnement avant la règle, pas l'inverse.
La règle 0/0/1 n'est pas un stock de sécurité
Une règle minimum 0, maximum 0, quantité à commander 1 réapprovisionne à chaque commande client, sans garder de stock. Elle ressemble au MTO, avec une différence documentée : le MTO réserve la pièce pour la commande qui l'a déclenchée, la règle 0/0/1 non. La pièce reçue peut servir une autre commande. Le guide fabrication détaille le MTO. Ici, le point d'achat est simple : ne pas poser cette règle et une route MTO sur le même article.
Le rapport de réapprovisionnement, même menu, cache les règles automatiques par défaut. Snooze masque un besoin pour une période. Order to Max force une commande jusqu'au maximum même si le minimum n'est pas atteint, par exemple pour un franco de port.
Les jours d'horizon élargissent la fenêtre : une livraison prévue au-delà du délai fournisseur n'apparaît pas tant que l'horizon ne l'inclut pas. Le réglage se fait depuis le rapport, filtre Manual. Le laisser à zéro, c'est commander trop tard sur les délais longs.
Comment contrôler une facture fournisseur ?
La politique de contrôle est sur la fiche produit, onglet Purchase, section Vendor Bills. On ordered quantities prépare une facture brouillon dès la confirmation de la commande, même si rien n'est reçu. On received quantities attend qu'une partie soit réceptionnée, et ne facture que le reçu.
La documentation dit que les services partent par défaut sur les quantités commandées. Pour les biens, la phrase dit « On delivered quantities », le tableau dit « On received quantities ». JAIKIN suit le tableau. Une prestation facturée d'avance et une matière facturée à réception ne doivent pas partager la même case. C'est un arbitrage de cadrage.
Le rapprochement à trois voies s'active dans Purchase, Configuration, Settings, section Invoicing, case 3-way matching. La facture affiche alors Should Be Paid, dans l'onglet Other Info : Yes, No ou Exception. Créer la facture depuis la commande, bouton Create Bill, ne reprend que le reçu si la politique est à la réception.
Modifier le prix ou la quantité sur le brouillon passe le champ à Exception. Odoo signale l'écart et ne bloque pas la validation. C'est le point que les PME sous-estiment en pratique : l'alerte n'empêche pas de payer quand même.
JAIKIN fait traiter les exceptions par une personne nommée, pas par celui qui a saisi la facture. Une exception répétée sur le même fournisseur interroge la liste de prix, pas la compta. La lecture du PDF, le compte et la taxe proposés d'après l'historique relèvent d'un autre flux, décrit dans la saisie des factures fournisseurs. La facture fournisseur électronique, elle, arrive selon le calendrier de réception des factures fournisseurs, pas selon la date de la commande.
Ici, le contrôle commence quand la commande et la réception existent déjà. Le prix de l'intégration de ce contrôle, s'il est seul, reste dans la fourchette courte, entre 2 000 et 8 000 € hors licence. Le socle achats, stock et comptabilité ensemble se situe entre 8 000 et 25 000 €. Le détail est sur la page prix d'Odoo.
Ce que nous voyons en intégration
Le premier écart est une liste de prix héritée d'un tableur, avec trois fournisseurs dont deux ne livrent plus. La règle automatique prend le premier. Nous n'activons Auto qu'après avoir réduit la liste à ceux qui ont livré dans l'année. Le deuxième écart est la convention à prix zéro, confirmée parce que l'écran le permet. Nous ajoutons ce contrôle à la recette : aucune ligne d'accord confirmée à zéro.
Le troisième écart est le minimum posé en même temps qu'un plan directeur de production sur le même article. La documentation du plan directeur l'interdit : l'automatisme casse le pilotage manuel. Nous choisissons un seul moteur, et ce choix est écrit.
Le prélèvement et la valorisation, FIFO ou FEFO, ne se règlent pas dans les achats : ils sont dans le guide stock FIFO et FEFO. Un achat juste avec un prélèvement faux donne un stock comptable faux quand même.
La mise en production suit la même méthode que pour une migration Odoo : copie, recette d'une commande réelle jusqu'à la facture, bascule le week-end, rollback testé en 2 h. EBMC est client Odoo de JAIKIN. Cette phrase ne décrit pas ses fournisseurs.
Les commandes ouvertes au moment de la bascule se rejouent sur la copie, sinon le premier lundi double les réceptions. Une base avec des modules spécifiques ne peut pas être migrée tant qu'une version de ces modules n'existe pas pour la version cible : les achats restent dans le standard tant que le spécifique n'est pas justifié par une commande qu'Odoo ne sait pas faire.
Questions fréquentes
Quels types d'achats Odoo distingue-t-il ?
Odoo ne range pas les dépenses dans quatre catégories juridiques. Une PME y trouve quatre documents : la demande de prix pour comparer, la convention d'achat pour un prix négocié et des quantités variables, la règle de minimum pour le stock, et la facture directe quand il n'y a ni commande ni réception. JAIKIN n'en active qu'un par article. En cumuler deux sur la même référence commande deux fois, sans que l'écran ne le dise clairement.
Où se règle le prix fournisseur dans Odoo ?
Sur la fiche article, onglet Purchase, une ligne par fournisseur : quantité, prix, délai. Le même enregistrement se saisit dans Purchase, Configuration, Vendor Pricelists. La règle de réapprovisionnement prend le fournisseur en tête de liste, sauf si la colonne Vendor du rapport en désigne un autre. Un ancien prix laissé en première ligne est celui qui part en commande. Le délai à zéro fait croire à une livraison immédiate.
Quelle est la formule de la quantité économique, et Odoo la calcule-t-il ?
La quantité économique de commande (EOQ) est une formule : racine de deux fois la demande annuelle fois le coût de passation, divisé par le coût de possession. Odoo 19 ne calcule pas cette formule. Il commande de façon à rejoindre le maximum de la règle, arrondi au multiple du conditionnement. JAIKIN ne saisit pas un minimum « façon EOQ » sans le coût de passation et le coût de possession écrits, sinon le seuil est un souvenir.
Comment Odoo déclenche-t-il un réapprovisionnement min max ?
La règle se pose dans Inventory, Operations, Replenishment. Quand le prévisionnel passe sous le minimum, le déclencheur Auto crée une demande de prix ou un ordre de fabrication selon la route. Manual n'affiche que le besoin, jusqu'au bouton Order. Le planificateur tourne une fois par jour par défaut. Les commandes clients dont la date est au-delà de la date prévisionnelle de réception ne sont pas dans ce calcul : elles restent visibles dans le rapport de prévision.
Le contrôle à trois voies bloque-t-il le paiement ?
Non. Une fois la case 3-way matching activée, la facture porte Should Be Paid. Si le prix ou la quantité du brouillon s'écarte de la réception, le champ passe à Exception. Odoo signale l'écart et laisse confirmer. JAIKIN fait relire ces exceptions par une personne autre que le saisisseur. Sans commande ni réception, ce contrôle ne s'applique pas : un loyer se valide autrement, sur la facture directe.
Combien coûte Odoo pour une PME qui veut d'abord les achats ?
La licence éditeur du plan Standard est de 19,90 € par utilisateur et par mois la première année en annuel, puis 24,90 €. Le plan Une App Gratuite, à 0 €, ne couvre qu'une application : achats plus stock plus comptabilité en sortent. L'intégration d'un périmètre court se situe entre 2 000 et 8 000 € hors licence, et un socle entre 8 000 et 25 000 €. Le chiffrage suit le cadrage écrit, pas le nombre de clics.

