Depuis la version 15, Odoo a supprimé la notion d'inventaire en tant que document : on ajuste les quantités une par une, sans campagne, sans validation globale, sans trace d'ensemble.
Quatorze modules communautaires rétablissent un inventaire exploitable — et y ajoutent ce qui manquait déjà : les écarts, le comptage tournant, et le verrouillage pendant le comptage.
Résumé
stock_inventory réintroduit le groupe d'ajustement d'inventaire — un document regroupant un comptage, avec son état et sa validation. Six modules l'enrichissent : écart en pourcentage entre théorique et compté, verrouillage de l'emplacement pendant le comptage, filtres de sélection des produits à compter, restriction aux utilisateurs assignés, vérification que tous les emplacements ont été comptés, et des demandes de vérification d'emplacement pour tracer la résolution des écarts importants.
stock_cycle_count ajoute le comptage cyclique : plutôt qu'un inventaire annuel complet, le système propose chaque jour les emplacements à compter selon des règles, avec un indicateur de précision de l'inventaire tournant.
Le reste encadre les ajustements ponctuels : un motif obligatoire au changement de quantité, l'interdiction de modifier le stock sans confirmation depuis l'écran des quantités, un bouton « Tout appliquer » masqué, un comptage à zéro proposé par l'assistant, l'interdiction d'archiver un produit ou un emplacement encore en stock, et un filtre de valorisation isolant les régularisations d'inventaire.
L'essentiel
- Le groupe d'ajustement d'inventaire réintroduit — il avait disparu avec Odoo 15.
- L'écart en pourcentage entre quantité théorique et quantité comptée.
- Le verrouillage d'un emplacement pendant son comptage : plus d'entrée ni de sortie.
- Le comptage cyclique : les emplacements à compter proposés chaque jour.
- Un motif obligatoire à tout changement manuel de quantité.
- La modification directe du stock bloquée depuis l'écran des quantités.
- L'archivage interdit d'un produit ou d'un emplacement encore en stock.
- Les régularisations isolées dans l'écran de valorisation.
Ce que ces modules ajoutent à l'instance
| Famille | Modules | Nombre |
|---|---|---|
| Document d'inventaire | stock_inventory, stock_inventory_discrepancy, stock_inventory_lockdown, stock_inventory_preparation_filter, stock_inventory_restriction, stock_inventory_location_state, stock_inventory_verification_request | 7 |
| Comptage tournant | stock_cycle_count | 1 |
| Encadrement des ajustements | stock_change_qty_reason, stock_restrict_immediate_adjustment, stock_inventory_hide_apply_all, stock_inventory_count_to_zero | 4 |
| Garde-fous et analyse | stock_archive_constraint, stock_valuation_layer_inventory_filter | 2 |
Les menus ajoutés : Inventaire ▸ Opérations ▸ Ajustements ▸ Ajustements de stock, Inventaires tournants et Slot Verification Request ; Inventaire ▸ Configuration ▸ Règles des inventaires tournants et Raisons de changement de quantité ; Inventaire ▸ Analyse ▸ Précision de l'inventaire tournant.
Rétablir un inventaire qui soit un document
Avant Odoo 15, un inventaire était un document : on le créait, on le préparait, on comptait, on validait. Depuis, il n'y a plus que des quantités modifiables une par une — ce qui convient à une correction ponctuelle et pas du tout à une campagne annuelle.
stock_inventory réintroduit le groupe d'ajustement d'inventaire : un document regroupant un comptage, avec un état et une validation d'ensemble. Six modules le complètent :
| Module | Ce qu'il ajoute |
|---|---|
stock_inventory_discrepancy | L'écart en pourcentage entre théorique et compté, ligne par ligne |
stock_inventory_lockdown | Le verrouillage de l'emplacement pendant que le comptage est en cours |
stock_inventory_preparation_filter | Des filtres de sélection des produits à inclure dans le comptage |
stock_inventory_restriction | La restriction des modifications aux utilisateurs assignés |
stock_inventory_location_state | La vérification que tous les emplacements ont bien été comptés |
stock_inventory_verification_request | Des demandes de vérification d'emplacement pour tracer la résolution des écarts importants |
Le verrouillage est le module dont l'absence ruine un inventaire : compter un emplacement pendant qu'un préparateur y prélève produit un écart que personne ne pourra expliquer.
Le dernier structure l'après-comptage : un écart important ne se corrige pas, il s'explique. La demande de vérification trace cette recherche — qui a recompté, quand, avec quelle conclusion.
Le comptage tournant plutôt que l'inventaire annuel
stock_cycle_count installe la méthode que pratiquent les entrepôts matures : au lieu d'arrêter l'activité une fois par an pour tout compter, on compte chaque jour quelques emplacements, selon des règles.
- Définir des règles de comptage dans Inventaire ▸ Configuration ▸ Règles des inventaires tournants — par zone, par rotation, par valeur.
- Le système propose chaque jour les emplacements à compter.
- Les comptages produisent des ajustements tracés, avec leurs écarts.
- Un indicateur de précision de l'inventaire tournant mesure la qualité du stock dans la durée.
L'intérêt n'est pas d'éviter l'arrêt annuel — beaucoup d'entreprises y restent tenues — mais de connaître la fiabilité de son stock toute l'année. Un entrepôt qui découvre ses écarts en décembre les a subis pendant douze mois.
La classification ABC, qui sert souvent de base aux règles de comptage, est traitée dans étiquetage et classification ABC.
Encadrer les ajustements ponctuels
stock_change_qty_reasonimpose un motif — texte libre ou valeur d'un référentiel configurable — à tout changement manuel de quantité. Sans motif, un ajustement est une correction anonyme ; avec, il devient analysable.stock_restrict_immediate_adjustmentempêche la modification immédiate et sans confirmation des quantités depuis l'écran des quantités disponibles, accessible depuis la fiche produit.stock_inventory_hide_apply_allmasque le bouton « Tout appliquer » de la liste d'ajustement — celui qui valide tout d'un coup, y compris ce qu'on n'a pas regardé.stock_inventory_count_to_zeroajoute à l'assistant de demande de comptage l'option de compter à zéro, utile pour vider un emplacement.
Les trois premiers traitent le même risque : un stock modifié en deux clics, sans trace et sans contrôle. Dans la plupart des entreprises, c'est ainsi que disparaît la fiabilité de l'inventaire — pas lors de la campagne annuelle, mais au fil des corrections quotidiennes.
Deux garde-fous complètent :
stock_archive_constraintinterdit d'archiver un produit ou un emplacement qui porte encore du stock — le meilleur moyen de faire disparaître des quantités sans écriture.stock_valuation_layer_inventory_filterpermet de filtrer la valorisation pour isoler les mouvements issus de régularisations d'inventaire : combien d'argent nos ajustements ont-ils créé ou détruit ce trimestre ?
Cette dernière question est celle que pose un commissaire aux comptes, et elle n'a pas de réponse simple sans ce filtre.
Limites connues
- Ces modules réintroduisent une notion supprimée par l'éditeur : leur maintenance suit le dépôt communautaire, pas Odoo.
- Le verrouillage d'emplacement arrête les mouvements : à planifier avec l'exploitation, hors des heures de préparation.
- Le comptage cyclique demande des règles réfléchies : sans critère pertinent, il propose des emplacements au hasard.
- Un motif obligatoire ralentit les corrections : c'est le but, et il faut une liste de motifs courte pour que cela reste praticable.
stock_inventory_restrictionetstock_inventory_hide_apply_allsont peu documentés dans le relevé : comportement à vérifier sur le dépôt.- L'interdiction d'archiver bloque des nettoyages légitimes : il faut d'abord solder le stock.
Identité technique
Les quatorze modules viennent du dépôt OCA stock-logistics-warehouse, branche 18.0 — 85 modules au total —, en licence AGPL-3 sauf stock_inventory et stock_valuation_layer_inventory_filter (LGPL-3). Six dépendent du document d'inventaire réintroduit, et le comptage cyclique s'appuie en plus sur la valorisation comptable du stock.
Les familles voisines : mouvements de stock, routage et valorisation et stock : négatif, zones et rangement.
Questions fréquentes
Odoo 18 permet-il de faire un inventaire complet ?
Pas comme document : depuis la version 15, l'éditeur a supprimé le groupe d'ajustement d'inventaire, et il ne reste que des quantités modifiables une par une. stock_inventory le réintroduit — un document regroupant un comptage, avec son état et sa validation d'ensemble.
Comment éviter qu'un emplacement bouge pendant son comptage ?
stock_inventory_lockdown verrouille l'emplacement tant que l'ajustement est en cours : plus d'entrée ni de sortie. Sans lui, compter un emplacement pendant qu'un préparateur y prélève produit un écart que personne ne pourra expliquer ensuite.
Qu'est-ce que le comptage cyclique ?
Une méthode où l'on compte chaque jour quelques emplacements selon des règles configurables, au lieu d'arrêter l'activité une fois par an. stock_cycle_count propose les emplacements à compter et mesure la précision de l'inventaire dans la durée — un entrepôt qui découvre ses écarts en décembre les a subis douze mois.
Comment tracer les corrections de stock ?
stock_change_qty_reason impose un motif à chaque changement manuel de quantité, libre ou choisi dans un référentiel. En complément, stock_restrict_immediate_adjustment empêche de modifier le stock sans confirmation depuis l'écran des quantités, et stock_inventory_hide_apply_all masque le bouton qui valide tout d'un coup.
Peut-on archiver un produit qui a encore du stock ?
Odoo le permet, et c'est le meilleur moyen de faire disparaître des quantités sans écriture. stock_archive_constraint l'interdit tant que le produit ou l'emplacement porte du stock. Le nettoyage du catalogue suppose donc de solder les quantités d'abord.
Se faire accompagner
La fiabilité d'un stock ne se joue pas pendant l'inventaire annuel : elle se joue dans les corrections quotidiennes, faites en deux clics, sans motif et sans contrôle. C'est pourquoi les modules qui encadrent les ajustements valent souvent mieux que ceux qui outillent la campagne.
Nous commençons donc par le motif obligatoire et le blocage des modifications directes, puis nous mesurons : combien d'ajustements par mois, pour quel montant. La décision d'installer le comptage cyclique découle de ce chiffre. Voir les prestations d'Atalios Consulting, notre méthode ou demander un rappel.
Pour aller plus loin
- Mouvements de stock : dates, lots et relocalisation
- Stock : interdire le négatif, organiser les emplacements
- La gestion des stocks et de la traçabilité dans Odoo
En résumé
Le document d'inventaire que l'éditeur a supprimé en version 15, rétabli et complété : écarts en pourcentage, emplacement verrouillé pendant le comptage, demandes de vérification. Et surtout l'encadrement des corrections quotidiennes, où se perd réellement la fiabilité d'un stock. Parlons de vos écarts d'inventaire.