Préparer les commandes une par une est le mode par défaut et le moins efficace : un préparateur traverse l'entrepôt autant de fois qu'il y a de commandes. La préparation par lots — ou par vagues — regroupe les transferts pour ne faire le trajet qu'une fois.
Odoo a un module de base pour cela. Quatre modules communautaires le rendent exploitable : le regroupement automatique, la réouverture d'un transfert annulé par erreur, le lien avec les factures, et l'information de déblocage de la chaîne.
Résumé
stock_picking_batch_extended apporte ce qui manque au module de base : nommer un lot, limiter le nombre de transferts par lot, et surtout créer plusieurs lots automatiquement en les regroupant par champ — par transporteur, par zone de préparation. S'y ajoutent des boutons pour retirer les transferts non finalisés, imprimer les bons en bloc et réserver en masse.
Attention à deux points : le module active une approche de validation « OCA » par un réglage de société, appliqué automatiquement à toutes les sociétés existantes à l'installation ; et stock_picking_invoice_link est un socle technique dont le lien reste vide sans les modules de remplissage côté vente ou achat, absents de nos packs.
L'essentiel
- Regroupement automatique en plusieurs lots par un ou plusieurs champs du transfert — c'est l'apport principal.
- Limiter le nombre de transferts par lot, pour qu'une vague reste réalisable par une personne.
- Retirer les transferts non finalisés d'un lot, et imprimer les bons en bloc.
stock_picking_back2draft: zéro champ ajouté, un seul bouton — rouvrir un transfert annulé par erreur.stock_picking_completion_info: un bandeau qui dit si finir ce transfert débloque la suite de la chaîne. À activer type d'opération par type d'opération.stock_picking_invoice_link: le lien croisé transfert ↔ facture, mais rien ne le remplit sans module complémentaire.
Ce que ces modules ajoutent à l'instance
| Module | Modèles créés | Champs | Vues | Version |
|---|---|---|---|---|
stock_picking_batch_extended | 2 | 28 | 11 | 18.0.1.0.0 |
stock_picking_invoice_link | 0 | 8 | 3 | 18.0.2.0.1 |
stock_picking_completion_info | 0 | 2 | 2 | 18.0.1.0.0 |
stock_picking_back2draft | 0 | 0 | 1 | 18.0.1.0.0 |
stock_picking_back2draft est le module le plus économe de tout notre catalogue : zéro champ, zéro modèle, une vue. Il ajoute un bouton, et ce bouton répond à une situation que tout magasinier a vécue.
Aucun des quatre n'ajoute de menu : ils enrichissent les écrans de transfert existants.
Le regroupement automatique : l'apport qui compte
Le module de base d'Odoo permet de mettre des transferts dans un lot. Ce module permet de créer les lots, en les constituant selon une logique.
Créer plusieurs lots regroupés par champ
- Depuis la liste des transferts, sélectionner ceux à traiter.
- Lancer l'assistant de mise en lot.
- Renseigner le nom du lot, des notes libres, et le nombre maximum de transferts par lot.
- Choisir un ou plusieurs champs de regroupement — par exemple le transporteur, ou la zone.
- Valider : le module crée autant de lots que de valeurs distinctes.

Le regroupement par transporteur est le cas le plus courant : les colis d'un même transporteur partent ensemble, et le bon de collecte est unique. Le regroupement par zone suppose d'avoir marqué les zones, ce que fait un autre module.
La limite de transferts par lot est le réglage qu'on oublie et qui décide de l'utilisabilité : un lot de quatre-vingts transferts n'est pas réalisable par une personne en une fois.
Voir structurer un entrepôt en zones.
Les boutons de la fiche de lot
| Bouton | Ce qu'il fait | Quand il sert |
|---|---|---|
| Remove Undone | Retire du lot les transferts non finalisés | Clôturer une vague partiellement traitée sans attendre les retards |
| Print Pickings | Imprime les bons de transfert du lot en bloc | Donner au préparateur sa pile de bons en une impression |
| Opérations détaillées / groupées par mouvement | Deux vues des lignes du lot | Préparer article par article plutôt que commande par commande |

La dernière ligne est le vrai gain de productivité en entrepôt : préparer par article et non par commande. Le préparateur passe une fois devant chaque emplacement et prélève la quantité totale, au lieu d'y revenir pour chaque commande.
Le réglage de validation « OCA », appliqué automatiquement
C'est le point qu'il faut connaître avant d'installer, parce qu'il modifie une configuration existante sans demander.
- Le module ajoute un réglage de société : « Apply OCA batch validation » (champ Use OCA approach to validate Picking Batch), dans Inventaire ▸ Configuration ▸ Paramètres, après l'activation des lots de transferts.
- À l'installation, un
post_init_hookactive ce réglage automatiquement pour toutes les sociétés existantes.

Ce que ce réglage commande : le comportement d'annulation en cascade, et l'affichage des boutons Remove Undone et Print Pickings sur la fiche du lot.
L'activation automatique est un choix défendable — le module serait inutile sans — mais c'est une modification de comportement silencieuse sur une instance en production. Si vos lots de transferts sont déjà utilisés, testez sur une copie avant.
Un réglage complémentaire, utile et souvent ignoré : un Default Picker se renseigne sur chaque entrepôt (Inventaire ▸ Configuration ▸ Entrepôts), pour désigner automatiquement le responsable des nouveaux lots.
Les trois modules de détail
stock_picking_back2draft : rouvrir un transfert annulé
Zéro champ ajouté. Un bouton sur le formulaire de transfert, actif uniquement lorsque le transfert est annulé, qui le remet à l'état Brouillon.
Le besoin est trivial et universel : une annulation faite par erreur, ou à corriger. Sans ce module, il faut recréer entièrement le transfert — avec ses lignes, ses quantités, son adresse.
C'est le genre de module à installer sans réfléchir : aucun effet de bord possible, et il évite une demi-heure de ressaisie à chaque occurrence.
stock_picking_completion_info : « est-ce que ça débloque la suite ? »
Deux champs, et une information que les opérateurs d'entrepôt réclament sur les flux chaînés — Réception → Stockage → Préparation → Expédition.
Le module affiche sur le formulaire d'un transfert un bandeau indiquant si le traitement de ce transfert va débloquer les opérations suivantes de la chaîne.
Le point de configuration à connaître : l'affichage doit être explicitement activé type d'opération par type d'opération. Installé sans cette configuration, le module ne montre rien — et l'on conclut qu'il ne fonctionne pas.
Sa dépendance, stock_move_common_dest, est ce qui lui permet de savoir quels mouvements partagent une destination — donc quelles opérations s'attendent.
stock_picking_invoice_link : un lien qui reste vide
Celui-ci demande une lecture attentive, parce que son nom promet plus que ce qu'il fait seul.
Il ajoute un lien croisé entre les transferts (stock.picking / stock.move) et les factures (account.move / account.move.line) : depuis une facture, voir les livraisons ou réceptions liées ; depuis un transfert, voir les factures.
C'est un module technique de fondation : il sert de base aux modules
sale_stock_picking_invoice_linketpurchase_stock_picking_invoice_link, qui seuls remplissent effectivement ce lien lors de la facturation des ventes ou des achats. Ces deux modules ne figurent pas dans nos packs.
Autrement dit : installé seul, le lien existe dans le modèle de données et personne ne l'alimente. C'est exactement le même motif que base_exception et base_tier_validation — un socle sans implémentation.
Si votre besoin est de retrouver les livraisons depuis une facture, il faut donc installer le module de remplissage correspondant à votre flux. C'est une information à avoir avant de promettre la fonction.
Dans quel ordre les installer
| Ordre | Module | Précaution |
|---|---|---|
| 1 | stock_picking_back2draft | Aucune — zéro champ, aucun effet de bord |
| 2 | stock_picking_batch_extended | Tester sur une copie si les lots sont déjà utilisés : le réglage de validation s'active automatiquement |
| 3 | stock_picking_completion_info | Penser à activer l'affichage par type d'opération |
| 4 | stock_picking_invoice_link | Prévoir le module de remplissage, sinon le lien reste vide |
Un préalable au deuxième : le module de base stock_picking_batch doit être installé et l'option Batch Transfers activée. Et le module dépend aussi de stock_delivery.
Identité technique
| Module | Dépôt OCA | Version | Dépend de |
|---|---|---|---|
stock_picking_batch_extended | stock-logistics-workflow | 18.0.1.0.0 | stock_delivery, stock_picking_batch |
stock_picking_back2draft | stock-logistics-workflow | 18.0.1.0.0 | stock |
stock_picking_invoice_link | stock-logistics-workflow | 18.0.2.0.1 | stock_account |
stock_picking_completion_info | stock-logistics-warehouse | 18.0.1.0.0 | stock_move_common_dest |
Tous sous licence AGPL-3, branche 18.0. Ils figurent dans nos packs négoce et industrie, au-delà du socle commun.
Questions fréquentes
Quel est l'apport réel de stock_picking_batch_extended ?
Le regroupement automatique : créer plusieurs lots d'un coup en regroupant les transferts par un ou plusieurs champs — par transporteur, par zone. Le module de base d'Odoo permet de mettre des transferts dans un lot ; celui-ci permet de constituer les lots selon une logique, avec une limite de transferts par lot.
Le module modifie-t-il une configuration existante ?
Oui : un post_init_hook active automatiquement le réglage « Apply OCA batch validation » pour toutes les sociétés existantes à l'installation. Ce réglage commande l'annulation en cascade et l'affichage des boutons Remove Undone et Print Pickings. Si vos lots sont déjà utilisés, testez sur une copie.
Comment rouvrir un transfert annulé par erreur ?
Avec stock_picking_back2draft : un bouton sur le formulaire, actif uniquement si le transfert est annulé, qui le remet en brouillon. Le module n'ajoute aucun champ et n'a aucun effet de bord — sans lui, il faut recréer le transfert entièrement.
Pourquoi le lien transfert-facture reste-t-il vide ?
Parce que stock_picking_invoice_link est un module de fondation : il crée le lien dans le modèle de données, mais ce sont sale_stock_picking_invoice_link et purchase_stock_picking_invoice_link qui le remplissent lors de la facturation. Ces deux modules ne figurent pas dans nos packs et doivent être ajoutés selon votre flux.
Pourquoi le bandeau de déblocage n'apparaît-il pas ?
Parce que l'affichage de stock_picking_completion_info doit être activé explicitement type d'opération par type d'opération. Installé sans cette configuration, le module ne montre rien — c'est la cause habituelle du « il ne fonctionne pas ».
Se faire accompagner
La préparation par vagues est l'un des rares chantiers logistiques dont le gain se mesure en semaines : le temps de déplacement d'un préparateur est son premier poste de temps, et le regroupement le réduit directement. Mais la logique de regroupement — par transporteur, par zone, par tournée — se décide en regardant votre entrepôt, pas un module.
Nous cadrons cette logique avec vos préparateurs, nous posons la limite de transferts par lot, et nous testons le réglage de validation sur une copie avant d'y toucher en production. Voir les prestations d'Atalios Consulting ou demander un rappel.
Pour aller plus loin
- Stock : interdire le négatif, organiser les emplacements
- La gestion des stocks et de la traçabilité dans Odoo
- Grossiste, négoce et distribution avec Odoo
En résumé
Le regroupement automatique en plusieurs lots est l'apport qui compte, avec la préparation par article plutôt que par commande. Trois précautions : le réglage de validation s'active tout seul à l'installation, le bandeau de déblocage se configure par type d'opération, et le lien transfert-facture reste vide sans module de remplissage. Parlons de vos préparations.