Se rendre au contenu

Gestion des stocks dans Odoo : du point de commande à l'inventaire

Comment maîtriser vos stocks avec Odoo, sans commandes bloquées ni coûts de stockage inutiles
25 septembre 2026 par
Gestion des stocks dans Odoo : du point de commande à l'inventaire

Votre équipe commerciale promet une livraison sous cinq jours ouvrés, mais au moment du picking, l'article s'avère en rupture de stock. Le client attend, la vente est compromise, et personne ne sait pourquoi le réapprovisionnement n'a pas été fait à temps. Ou l'inverse : votre entrepôt est rempli d'articles qui bougent à peine, du capital immobilisé alors que vous en avez grand besoin ailleurs. Ces deux scénarios sont les symptômes d'un même problème : une gestion des stocks déconnectée de la réalité de votre activité.

Odoo propose un module de stock entièrement intégré qui enregistre tout, de la commande d'achat au comptage physique. Mais paramétrer le système est une chose ; le faire fonctionner comme fonctionne votre entreprise en est une autre. Dans cet article, je parcours toute la chaîne : comment paramétrer les points de commande pour qu'ils fonctionnent, quelles règles de réapprovisionnement utiliser et quand, comment configurer les routes pour une distribution multi-niveaux, et comment réaliser des inventaires sans paralyser vos opérations quotidiennes.

Points de commande : quand le réapprovisionnement automatique fonctionne, et quand il ne fonctionne pas

Un point de commande (reorder rule) déclenche automatiquement une commande d'achat ou un ordre de fabrication dès que le stock descend sous un niveau défini. Simple en théorie ; en pratique, son efficacité dépend de trois variables : le délai de livraison de votre fournisseur, la variabilité de vos volumes de vente, et le coût d'une rupture de stock par rapport au coût d'un surstock.

Supposons que vous vendiez des panneaux LED avec une demande constante de vingt unités par semaine. Votre fournisseur livre sous deux semaines, et vous ne voulez jamais tomber à court. Vous fixez alors le minimum à quarante unités (deux semaines de couverture) et le maximum à quatre-vingts (quatre semaines). Dès que le stock passe sous quarante, Odoo génère une proposition de réapprovisionnement jusqu'à quatre-vingts unités. Cette logique fonctionne très bien pour les articles A à la demande prévisible.

Mais prenez un article que vous vendez de façon ponctuelle : un connecteur spécial dont vous vendez dix unités, puis rien pendant trois mois, puis quinze. Le réapprovisionnement automatique échoue ici, car le système extrapole de manière linéaire. Vous obtenez soit un surstock chronique, soit des pénuries chroniques. Pour ces articles B et C, la validation manuelle des propositions d'achat est plus efficace qu'un réapprovisionnement entièrement automatisé. Odoo gère les deux : vous marquez la règle comme automatique ou comme « manual », auquel cas l'approvisionneur examine chaque jour les propositions.

Comment paramétrer précisément une règle de réapprovisionnement ?

Les règles de réapprovisionnement se trouvent sous Inventaire > Configuration > Règles de réapprovisionnement. Pour chaque produit, vous pouvez créer plusieurs règles, chacune pour un emplacement précis. Les champs les plus importants sont Minimum Quantity, Maximum Quantity, Quantity Multiple (des multiples pratiques, par exemple des palettes complètes) et la Route, qui détermine si l'on achète, fabrique ou transfère entre entrepôts.

Le Lead Time est crucial : si votre fournisseur a besoin de quatorze jours et que vous indiquez sept, le système commandera trop tard. Odoo reprend cette valeur des informations fournisseur de la fiche produit, mais vous pouvez la modifier règle par règle. Attention : le planificateur tourne par défaut une fois par jour. Si vous avez besoin d'un réapprovisionnement en temps réel — par exemple en drop-shipping — vous pouvez aussi lancer le planificateur manuellement, mais cela augmente sensiblement la charge du système.

La Route détermine ce qui se passe : « Buy » génère une Request for Quotation, « Manufacture » crée un ordre de fabrication, et « Resupply from [emplacement] » un transfert interne. Si vous disposez de plusieurs entrepôts, vous pouvez paramétrer des routes en cascade : si l'entrepôt B passe sous le minimum, il se réapprovisionne depuis l'entrepôt A, et l'entrepôt A se réapprovisionne auprès du fournisseur. Cela ne fonctionne bien que si vous paramétrez aussi correctement les délais entre emplacements.

Ce qui coince dans la pratique

Des délais de livraison erronés dans les données de référence

Vous avez paramétré des points de commande, mais le planificateur commande systématiquement trop tard. Cause : le délai de livraison du fournisseur est fixé à sept jours, alors qu'en réalité il faut quatorze jours, douane et transport compris. Odoo calcule avec la valeur saisie, pas avec la réalité. Corrigez cela en indiquant pour chaque fournisseur un délai de livraison réaliste sous Achats > Configuration > Fournisseurs, et vérifiez pour chaque produit que le bon fournisseur est désigné comme fournisseur principal.

Trop de règles de réapprovisionnement pour les variantes

Vous vendez des T-shirts en cinq tailles et dix couleurs, soit cinquante variantes. Vous créez une règle de réapprovisionnement pour chaque variante et, en un mois, vous avez deux cents règles qui se contredisent parce que le planificateur n'est pas assez intelligent pour regrouper les variantes. Solution : travaillez avec une seule règle sur le produit principal et utilisez des nomenclatures de type kit ou fantôme pour assembler les variantes en juste-à-temps, ou acceptez de piloter manuellement les variantes les plus importantes et de commander le reste à la demande.

Aucune prise en compte de la saisonnalité

Votre point de commande est calé sur les ventes moyennes, mais en décembre vous réalisez trois fois plus de chiffre d'affaires qu'en février. Le planificateur ne voit la demande qu'au moment où elle apparaît, si bien qu'en novembre vous êtes malgré tout en rupture. Odoo n'a pas de correction saisonnière intégrée ; vous devez l'anticiper en relevant manuellement et temporairement vos niveaux minimum avant la haute saison, ou en utilisant un outil externe de prévision de la demande qui envoie la demande prévue dans Odoo via une API.

Routes et structure des emplacements pour une distribution multi-niveaux

Dès que vous avez plus d'un entrepôt, ou que vous travaillez avec du stock en consignation ou du dropshipping, les routes deviennent le système nerveux de votre processus de stock. Une route est une suite d'étapes que parcourt un produit, du fournisseur au client final. Odoo prend en charge les routes en plusieurs étapes : par exemple réception > contrôle qualité > stockage, ou vente > pick > pack > expédition.

Pour une boutique en ligne avec un entrepôt central et deux hubs régionaux, vous paramétrez trois emplacements, chacun avec son propre stock. La commande en ligne déclenche un picking dans le hub le plus proche. S'il n'y a pas de stock, Odoo se replie sur l'entrepôt central (ce que vous configurez via la route « Resupply Subcontractors »). L'entrepôt central se réapprovisionne lui-même auprès du fournisseur. Cela ne fonctionne que si chaque emplacement dispose des bonnes règles de réapprovisionnement et si les routes sont correctement priorisées : sinon, le système expédie tout depuis l'entrepôt central, même lorsque le hub régional est plein.

Dans la pratique, je vois souvent des entreprises créer trop d'emplacements. Chaque emplacement supplémentaire signifie plus d'administration, plus de comptages et un risque accru d'incohérences. Commencez avec trois emplacements au maximum : réception, stock et expédition. Ce n'est que lorsque vous subissez des pertes démontrables dues à un manque de clarté que vous ajoutez des sous-emplacements, comme des étagères, des emplacements palettes ou des zones de quarantaine.

Fait : Les entreprises qui ont plus de cinq emplacements de stock dans Odoo consacrent en moyenne 40 % de temps en plus aux corrections de stock que celles qui en ont trois, sans que la précision des stocks soit significativement meilleure.

Inventaire sans interruption : inventaires tournants et comptages complets

Un grand comptage annuel pour lequel l'entrepôt ferme un week-end coûte cher et perturbe vos engagements envers les clients. Odoo prend en charge les inventaires tournants : vous comptez chaque semaine une petite partie de votre stock, de sorte que sur l'année, vous avez tout passé en revue sans jamais vous arrêter. Définissez une fréquence de comptage par produit — articles A tous les mois, articles C tous les trimestres — et le système génère automatiquement les tâches de comptage.

Vous lancez un inventaire tournant via Inventaire > Opérations > Inventaire physique. Odoo affiche le stock théorique et demande le comptage physique. Si le comptage diffère, vous enregistrez l'écart et choisissez un motif : vol, casse, erreur administrative. Vous pourrez analyser ce motif par la suite pour repérer des problèmes structurels. Ce n'est que lorsque vous confirmez l'écart qu'Odoo comptabilise définitivement la correction.

Pour une clôture annuelle complète, vous générez une seule fois un comptage de tous les produits. Odoo ne bloque alors aucun mouvement — vous devez le faire manuellement en reportant les transferts entrants et sortants — mais le système signale bien les produits qui ont bougé depuis le début du comptage. Vous devez les recompter ou accepter l'écart. En pratique, vous faites expédier tout ce qui doit partir la veille du comptage et vous bloquez les nouvelles réceptions jusqu'à la fin du comptage.

Intégration avec les achats, les ventes et la production

La gestion des stocks ne fonctionne pas en vase clos. Une commande client déclenche une livraison, qui peut à son tour activer une règle de réapprovisionnement. Un ordre de fabrication consomme des matières premières et ajoute des produits finis. Une commande d'achat augmente le stock prévu avant même la réception des marchandises, de sorte qu'Odoo tient compte du stock en transit dans le calcul des points de commande.

Ce lien est puissant, mais exige des règles claires. Par exemple : un commercial peut-il confirmer une commande si le stock n'est pas disponible ? Dans Odoo, vous le réglez avec l'option « Prevent sales order confirmation if not enough inventory ». Si vous l'activez, un commercial ne peut pas confirmer tant que le stock n'est pas physiquement présent ou déjà acheté. Si vous la désactivez, le commercial peut confirmer et le système part du principe que le stock sera là à temps — une promesse de livraison que vos achats doivent tenir.

Il en va de même pour la production : Odoo vérifie que tous les composants sont disponibles avant qu'un ordre de fabrication puisse démarrer. S'ils ne le sont pas, le système génère automatiquement des propositions d'achat pour les composants manquants, à condition que les règles de réapprovisionnement soient correctement paramétrées. Dans les entreprises aux nomenclatures complexes, cela conduit vite à des centaines de petites commandes d'achat. Il est plus efficace de travailler avec une stratégie de production à la commande pour les produits finis et une stratégie de production sur stock pour les produits semi-finis fréquemment utilisés.

Reporting : les chiffres dont vous avez vraiment besoin

Odoo propose des dizaines de rapports de stock, mais quatre sont essentiels. Premièrement, l'Inventory Valuation : que vaut votre stock selon la méthode FIFO, LIFO ou du coût moyen ? Cette valeur doit concorder chaque mois avec votre bilan. Deuxièmement, les Stock Moves : un journal de tous les mouvements, de l'achat à la vente en passant par les corrections. C'est là que vous retracez les écarts.

Troisièmement, le Forecasted Inventory : de quel stock disposerez-vous dans deux semaines, compte tenu des commandes clients, commandes d'achat et ordres de fabrication en cours ? Ce rapport est crucial pour la planification, mais n'est fiable que si vos délais de livraison et vos règles de réapprovisionnement sont justes. Quatrièmement, l'analyse ABC : classez vos articles selon leur rotation et leur contribution à la marge. Vous automatisez entièrement les articles A ; les articles C, vous les commandez manuellement ou sur commande client.

L'indicateur Inventory Accuracy est également important : quel pourcentage de vos produits présente un stock exact ? Mesurez-le après chaque inventaire tournant en divisant les écarts par le nombre total de produits comptés. Visez une précision d'au moins 95 %. En dessous, votre processus est trop fragile et chaque règle de réapprovisionnement vous coûte plus qu'elle ne rapporte.

Démarrer la gestion des stocks dans Odoo

Commencez par un stock d'ouverture propre. Importez votre stock actuel via un fichier CSV avec produit, emplacement et quantité. Vérifiez que chaque produit a un coût de revient ; sans coût, Odoo ne peut pas calculer la valeur du stock. Paramétrez ensuite, pour vos dix produits les plus importants — vos articles A —, des règles de réapprovisionnement avec des niveaux minimum et maximum réalistes. Laissez tourner le planificateur pendant une semaine et vérifiez si les propositions sont logiques.

Ce n'est qu'ensuite que vous étendez la démarche aux articles B. Pour les articles C et les ventes ponctuelles, vous travaillez sans réapprovisionnement automatique ; vous les commandez au moment où une commande client arrive. Mettez en place en parallèle votre premier inventaire tournant : choisissez dix produits par semaine et faites-les compter par l'entrepôt. En un mois, vous avez une idée de la précision de vos stocks et savez où se situent les écarts les plus importants.

La gestion des stocks dans Odoo n'est pas un paramétrage ponctuel, mais un processus continu de mesure, d'ajustement et d'affinage. Le logiciel fournit les instruments ; tout l'art consiste à les accorder à votre assortiment, à vos fournisseurs et à votre promesse client.

Photo : Markus Winkler sur Unsplash

Consultant Odoo spécialisé en finance : qu'est-ce que cela apporte ?
Pourquoi l'expertise financière fait la différence dans votre implémentation Odoo