Documentation9 min de lecture

Déplacements en masse, volumes et unités d'achat en réception

Quinze modules OCA du dépôt `stock-logistics-warehouse` closent la description de l'entrepôt dans Odoo 18 Community : `stock_move_location` déplace **en masse le stock d'un emplacement vers un autre** par un assistant, sans créer de transfert à la main, et `stock_picking_volume` calcule le **volume total d'un transfert**. Les treize autres, de l'unité d'achat imposée en réception à la remise à zéro des quantités faites.

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

Réorganiser une zone, vider une allée, basculer un stock d'un dépôt à l'autre : ces opérations se font à la main dans Odoo, transfert par transfert, ligne par ligne.

Quinze modules communautaires les industrialisent — et ajoutent deux informations que l'entrepôt réclame : le volume d'un transfert, et la quantité exprimée en colis.

Résumé

stock_move_location ouvre un assistant « Déplacer depuis l'emplacement… » qui transfère en masse tout ou partie du stock d'un emplacement vers un autre. Deux modules de colle l'articulent avec l'unité d'achat.

Quatre calculent les volumes : le volume d'un type de colis depuis ses dimensions, le volume d'un transfert et de ses mouvements depuis les dimensions produit, la prise en compte du volume des emballages dans ce calcul, et un module de transition vers le calculateur de colisage.

Le reste agit sur les mouvements et les transferts : l'unité d'achat imposée par type d'opération, la quantité exprimée en colisage sur les mouvements et sur les quantités disponibles, la remise à zéro des quantités faites, un lien cliquable vers le transfert depuis une ligne de mouvement, l'entité commerciale sur le transfert, la méthode d'approvisionnement forcée depuis un transfert en brouillon, les produits restreints à un assortiment, et la référence du bon de livraison fournisseur.

L'essentiel

  • Un assistant de déplacement en masse d'un emplacement vers un autre.
  • Le volume d'un transfert calculé depuis les dimensions produit, emballages compris.
  • L'unité d'achat imposée en réception, par type d'opération.
  • Les quantités exprimées en colis sur les mouvements et le stock disponible.
  • La remise à zéro des quantités faites d'un transfert, en un clic.
  • La méthode d'approvisionnement forcée depuis un transfert en brouillon.
  • La référence du bon de livraison fournisseur sur la réception.
  • Les produits restreints à l'assortiment autorisé, jusque dans les transferts.

Ce que ces modules ajoutent à l'instance

FamilleModulesNombre
Déplacement en massestock_move_location, stock_move_location_purchase_uom2
Volumes et colisagestock_package_type_volume, stock_picking_volume, stock_picking_volume_packaging, stock_packaging_calculator, stock_product_qty_by_packaging, stock_move_packaging_qty6
Unités et quantitésstock_move_purchase_uom, stock_move_reset_quantity, stock_move_line_reference_link3
Transfertsstock_picking_commercial_partner, stock_picking_procure_method, stock_picking_product_assortment, stock_picking_supplier_ref4

Un menu ajouté : Inventaire ▸ Opérations ▸ Déplacer depuis l'emplacement…, l'assistant de déplacement en masse.

Déplacer du stock sans créer de transfert à la main

Vider une allée pour travaux, basculer une famille de produits vers une nouvelle zone, regrouper des restes de stock : ces opérations supposent, dans Odoo standard, de créer un transfert interne et d'y ajouter les lignes une par une — en relevant d'abord ce qui se trouve dans l'emplacement.

stock_move_location ouvre un assistant depuis Inventaire ▸ Opérations ▸ Déplacer depuis l'emplacement… : on choisit l'emplacement d'origine, l'assistant liste ce qu'il contient, on sélectionne tout ou partie, et le transfert est créé et rempli.

stock_move_location_purchase_uom est le module de colle qui fait respecter, dans cet assistant, l'unité d'achat quand elle est imposée pour le type d'opération concerné.

C'est un outil de réorganisation qui transforme une demi-journée de saisie en quelques minutes — et supprime les oublis, puisque l'assistant part de ce qui est réellement en stock.

Les volumes : ce que pèse et occupe une expédition

ModuleCe qu'il calcule
stock_package_type_volumeLe volume d'un type de colis depuis ses dimensions déjà saisies
stock_picking_volumeLe volume total d'un transfert et de chacun de ses mouvements, depuis les dimensions produit
stock_picking_volume_packagingLe même calcul en tenant compte du volume des emballages utilisés

Le volume est l'information qui manque pour deux décisions quotidiennes : choisir un véhicule et constituer une vague de préparation réalisable. Le second usage est d'ailleurs une dépendance directe — la création de vagues par volume s'appuie sur ce calcul.

Comme pour le poids, le volume calculé sur le seul produit sous-estime systématiquement : un carton de visserie occupe plus que la somme des vis. Le module d'emballages corrige en intégrant le volume des contenants réellement utilisés.

Trois modules complètent côté colisage :

  • stock_product_qty_by_packaging ajoute aux mouvements, lignes et quantités disponibles la quantité décomposée par conditionnement — « 1 palette, 4 bacs, 25 unités ».
  • stock_move_packaging_qty ajoute une quantité faite exprimée en colis sur les mouvements et leurs lignes, en plus de la quantité en unité de mesure.
  • stock_packaging_calculator n'est pas un module fonctionnel : c'est un module de transition qui installe le calculateur de colisage du dépôt produit. Il n'a d'autre rôle que de faciliter une montée de version.

Le calculateur de colisage lui-même et les niveaux d'emballage sont traités dans emballages, poids et unités.

Les unités en réception, et trois gestes du quotidien

L'unité d'achat

stock_move_purchase_uom permet d'imposer, par type d'opération, que les mouvements utilisent l'unité d'achat du produit plutôt que son unité de stock.

Le cas typique : on achète des cartons de 12 et on stocke à l'unité. À la réception, l'opérateur compte des cartons — pas 144 pièces. Lui demander de convertir, c'est demander une erreur.

Trois gestes

  • stock_move_reset_quantity ajoute un bouton de remise à zéro des quantités faites sur tout un transfert ou sur une ligne. Utile quand un comptage est repris de zéro, ou quand Odoo a pré-rempli des quantités qu'on ne veut pas valider.
  • stock_move_line_reference_link ajoute sur une ligne de mouvement un lien cliquable vers le transfert — ou vers le document d'origine quand il n'y a pas de transfert.
  • stock_picking_supplier_ref ajoute la référence du bon de livraison du fournisseur sur la réception : le numéro que porte le document papier reçu avec la marchandise.

Le dernier est précieux au moment du litige : le fournisseur parle de son numéro d'expédition, pas du vôtre. Sans ce champ, le rapprochement se fait par date et par contenu.

Trois contrôles sur le transfert

ModuleCe qu'il apporte
stock_picking_commercial_partnerL'entité commerciale — société mère — du partenaire, sur le transfert, pour analyser par groupe
stock_picking_procure_methodLa méthode d'approvisionnement forcée depuis un transfert en brouillon : prendre sur stock, ou déclencher un approvisionnement
stock_picking_product_assortmentLes produits restreints à l'assortiment autorisé, jusque dans les transferts

Le deuxième mérite une explication : la méthode d'approvisionnement d'un mouvement — servir depuis le stock existant ou déclencher un réapprovisionnement — se décide d'ordinaire par la route du produit. Pouvoir la forcer sur un transfert précis règle les cas particuliers sans tordre le paramétrage général.

Le troisième prolonge jusqu'à l'entrepôt la logique d'assortiment décrite côté commercial dans recommandation de produits et assortiments : un produit qu'un client n'a pas le droit d'acheter ne doit pas pouvoir lui être expédié non plus.

Limites connues

  • Le déplacement en masse crée de vrais mouvements : il est aussi rapide à exécuter qu'à regretter. À réserver à un rôle identifié.
  • Les calculs de volume supposent des dimensions produit renseignées : sans données, ils renvoient zéro.
  • Le volume sans les emballages est sous-estimé : installer le module d'emballages avec celui de transfert.
  • stock_packaging_calculator est un module de transition : il n'apporte rien par lui-même.
  • L'unité d'achat imposée change l'affichage des réceptions : à annoncer aux opérateurs avant activation.
  • La remise à zéro des quantités efface un comptage : utile, et sans retour en arrière.

Identité technique

Les quinze modules viennent du dépôt OCA stock-logistics-warehouse, branche 18.0, en licences AGPL-3 et LGPL-3 selon le module. Plusieurs dépendent de briques du dépôt product-attribute : dimensions produit, dimensions d'emballage, calculateur de colisage et assortiments.

Le dépôt stock-logistics-warehouse est désormais entièrement couvert : 85 modules en cinq fiches — les inventaires, emplacements et entrepôts, armoires automatisées et routes, catalogue de lots et réservations et celle-ci.

Questions fréquentes

Comment vider un emplacement sans saisir chaque ligne ?

stock_move_location ouvre un assistant « Déplacer depuis l'emplacement… » : on choisit l'origine, l'assistant liste ce qui s'y trouve, on sélectionne tout ou partie, et le transfert est créé et rempli. Une demi-journée de saisie devient quelques minutes — et les oublis disparaissent, puisque l'assistant part du stock réel.

Comment connaître le volume d'une expédition ?

stock_picking_volume le calcule depuis les dimensions des produits, et stock_picking_volume_packaging y ajoute le volume des emballages réellement utilisés. Sans ce second module, le volume est systématiquement sous-estimé — un carton de visserie occupe plus que la somme des vis.

Peut-on réceptionner en cartons un produit stocké à l'unité ?

Oui : stock_move_purchase_uom impose, par type d'opération, l'unité d'achat du produit plutôt que son unité de stock. L'opérateur compte des cartons, pas 144 pièces — lui demander de convertir revient à demander une erreur.

Comment noter le numéro de bon de livraison du fournisseur ?

stock_picking_supplier_ref ajoute ce champ sur la réception. C'est le numéro que porte le document papier arrivé avec la marchandise — et celui dont parlera le fournisseur en cas de litige. Sans lui, le rapprochement se fait par date et par contenu.

Peut-on forcer un transfert à prendre sur stock plutôt qu'à réapprovisionner ?

Oui, avec stock_picking_procure_method : la méthode d'approvisionnement se force depuis le transfert en brouillon. Cela règle les cas particuliers sans modifier la route du produit, qui est le réglage général.

Se faire accompagner

Ces quinze modules sont ceux dont on découvre l'utilité en regardant travailler un magasinier : il convertit des cartons en unités de tête, il recopie un numéro de bon fournisseur sur un papier, il crée un transfert interne ligne par ligne pour vider une allée.

Nous les choisissons donc après une demi-journée d'observation sur le terrain, pas sur catalogue. Les gains sont mesurables en gestes supprimés, et c'est l'argument qui convainc les équipes. Voir les prestations d'Atalios Consulting ou demander un rappel.

Pour aller plus loin

En résumé

Vider une allée par un assistant plutôt que ligne à ligne, connaître le volume réel d'une expédition emballages compris, réceptionner dans l'unité d'achat, et noter la référence du bon fournisseur. Quinze modules qui suppriment des gestes — ceux qu'on voit en regardant travailler un magasinier. Parlons de votre entrepôt.

Documentation OCALogistiqueEntrepôt

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