Documentation9 min de lecture

Inventaires : ajustements, écarts, comptage tournant et verrouillage

Quatorze modules OCA du dépôt `stock-logistics-warehouse` rendent l'inventaire gérable dans Odoo 18 Community : `stock_inventory` **réintroduit le groupe d'ajustement d'inventaire**, disparu du cœur du logiciel depuis la version 15, et `stock_cycle_count` propose chaque jour les emplacements à compter selon des **règles configurables**. Les douze autres, de l'écart en pourcentage au verrouillage d'un emplacement pendant son comptage.

Entrepôt organisé en zones avec emplacements identifiés

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

FamilleModulesNombre
Document d'inventairestock_inventory, stock_inventory_discrepancy, stock_inventory_lockdown, stock_inventory_preparation_filter, stock_inventory_restriction, stock_inventory_location_state, stock_inventory_verification_request7
Comptage tournantstock_cycle_count1
Encadrement des ajustementsstock_change_qty_reason, stock_restrict_immediate_adjustment, stock_inventory_hide_apply_all, stock_inventory_count_to_zero4
Garde-fous et analysestock_archive_constraint, stock_valuation_layer_inventory_filter2

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 :

ModuleCe qu'il ajoute
stock_inventory_discrepancyL'écart en pourcentage entre théorique et compté, ligne par ligne
stock_inventory_lockdownLe verrouillage de l'emplacement pendant que le comptage est en cours
stock_inventory_preparation_filterDes filtres de sélection des produits à inclure dans le comptage
stock_inventory_restrictionLa restriction des modifications aux utilisateurs assignés
stock_inventory_location_stateLa vérification que tous les emplacements ont bien été comptés
stock_inventory_verification_requestDes 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.

  1. Définir des règles de comptage dans Inventaire ▸ Configuration ▸ Règles des inventaires tournants — par zone, par rotation, par valeur.
  2. Le système propose chaque jour les emplacements à compter.
  3. Les comptages produisent des ajustements tracés, avec leurs écarts.
  4. 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_reason impose 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_adjustment empê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_all masque 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_zero ajoute à 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_constraint interdit 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_filter permet 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_restriction et stock_inventory_hide_apply_all sont 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

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.

Documentation OCALogistiqueInventaire

Partager

Fiches connexes

Équipe au travail sur des ordinateurs portables autour d'une table
Le module OCA `account_invoice_en16931` (dépôt `fr-einvoicing`, version 18.0.1.0.0, licence AGPL-3) est le socle qui fabrique le fichier de facture électronique conforme à la norme européenne **EN 16931** : Factur-X (PDF/A-3 avec XML CII embarqué), XML UBL, XML CII ou PDF accompagné d'un UBL — et il ajoute des **contrôles bloquants à la validation** d'une facture client. Les quatre modules qui s'y greffent pour la France, et ce que le socle ne fait pas.
Lire la suite
Documentation OCA, Facturation électronique
Réunion d'approbation autour d'un document de travail
Relevé sur une instance Odoo 18 Community, le module OCA `base_tier_validation` (dépôt `server-ux`, version 18.0.3.5.1, licence AGPL-3) ajoute 1 modèle, 101 champs et 3 menus, mais ne s'active sur aucun document métier par lui-même : il lui faut un module d'implémentation. C'est le point qui surprend le plus — voici ce qu'il fait réellement, et comment le mettre en service.
Lire la suite
Documentation OCA, Odoo