Documentation9 min de lecture

Shopfloor : conduire un entrepôt à la douchette, scénario par scénario

Le module OCA `shopfloor` (dépôt `stock-logistics-shopfloor`, version 18.0.1.4.1, licence AGPL-3) fournit une **interface de programmation pour conduire les opérations d'entrepôt à la douchette**, et déclare **dix-sept dépendances** — ce qui en fait la brique la plus exigeante du catalogue communautaire logistique. Vingt-deux autres modules ajoutent l'interface mobile et les scénarios de terrain.

Opérateur utilisant un terminal portable en entrepôt

Odoo 18 a son application d'inventaire sur terminal. Elle convient à un entrepôt simple. Dès que les opérations se spécialisent — réception avec mesure des colis, prélèvement groupé avec remballage, expédition par avis d'expédition —, elle ne suffit plus.

Vingt-trois modules communautaires composent Shopfloor : une application de terminal à scénarios, et terminent le dépôt stock-logistics-shopfloor.

Résumé

Deux modules forment le socle : une interface de programmation pour les opérations à la douchette — avec ses dix-sept dépendances —, et l'interface mobile qui la consomme.

Quatre modules fournissent les scénarios : la réception, le transfert d'un article d'un emplacement à un autre, le remballage en fin de prélèvement groupé, et l'expédition par avis d'expédition. Chacun a son module mobile.

Trois modules traitent l'amont du prélèvement groupé : la création automatique de lots de transfert, la synchronisation du point de contrôle, et la lecture des codes-barres GS1.

Six modules traitent la mesure et les emballages à la réception : les dimensions du colis, les dimensions du conditionnement, l'usage d'un appareil de mesure, les conditionnements fournisseur — en général et à la réception —, et l'affichage du fabricant du produit.

Deux modules enfin traitent les matières dangereuses, en reliant Shopfloor au référentiel de marchandises dangereuses du stock.

L'essentiel

  • Une application de terminal à scénarios, pas un écran unique.
  • Un scénario de réception avec mesure des colis.
  • Le remballage en fin de prélèvement groupé.
  • L'expédition par avis d'expédition.
  • La lecture des codes-barres GS1.
  • L'usage d'un appareil de mesure à la réception.
  • Les conditionnements fournisseur reconnus au scan.
  • Les matières dangereuses signalées à l'opérateur.

Ce que ces modules ajoutent à l'instance

FamilleModulesNombre
Socleshopfloor, shopfloor_mobile2
Scénariosshopfloor_reception, shopfloor_reception_mobile, shopfloor_single_product_transfer, shopfloor_single_product_transfer_mobile, shopfloor_cluster_picking_repack, shopfloor_cluster_picking_repack_mobile, shopfloor_delivery_shipment, shopfloor_delivery_shipment_mobile8
Prélèvement groupéshopfloor_batch_automatic_creation, shopfloor_checkout_sync, shopfloor_gs13
Mesure et emballagesshopfloor_reception_package_dimension, shopfloor_reception_package_dimension_mobile, shopfloor_reception_packaging_dimension, shopfloor_reception_packaging_dimension_mobile, shopfloor_reception_measuring_device, shopfloor_vendor_packaging, shopfloor_reception_vendor_packaging, shopfloor_product_manufacturer8
Matières dangereusesshopfloor_dangerous_goods, shopfloor_dangerous_goods_mobile2

Le dépôt suit une règle constante : un module de logique, un module mobile. Installer le premier sans le second ne change rien sur le terminal.

Le socle, et ce qu'il coûte

Dix-sept dépendances déclarées pour un seul module. C'est le signal à lire avant tout : Shopfloor n'est pas une application qu'on installe, c'est une pile qu'on assemble — interface de programmation, champs creux, livraison, lots, dimensions de colis, progression des transferts, modification de lot sur ligne de mouvement.

shopfloor (version 18.0.1.4.1) fournit l'interface de programmation qui expose les opérations d'entrepôt à un terminal. Il ne fournit aucune interface : c'est la couche de service.

shopfloor_mobile (version 18.0.1.7.0) est l'interface mobile qui la consomme. Les deux ensemble donnent l'application ; séparément, rien d'utilisable.

Le découpage a une raison : un intégrateur peut brancher son propre terminal — un appareil industriel, une application interne — sur la même interface de programmation.

Les briques de stock dont il dépend sont traitées dans regrouper, scinder et suivre les transferts et emballages, poids et unités.

Les quatre scénarios

Shopfloor fonctionne par scénarios : un parcours guidé pour une opération donnée, et non un écran générique où l'opérateur choisit.

ScénarioModuleVersion
Réceptionshopfloor_reception18.0.1.11.0 — le plus travaillé du dépôt
Transfert d'un articleshopfloor_single_product_transfer18.0.1.6.0
Remballage après prélèvement groupéshopfloor_cluster_picking_repack18.0.1.3.0
Expédition par avis d'expéditionshopfloor_delivery_shipment18.0.1.2.0

Le parcours guidé est ce qui distingue un terminal utilisable d'un terminal abandonné : un opérateur qui doit choisir entre douze actions à chaque étape se trompe ; un opérateur à qui l'écran dit quoi scanner ensuite ne se trompe pas.

shopfloor_cluster_picking_repack dépend de quatre modules, dont le nombre de paquets par type de colis et le filtrage des types de colis — parce que remballer suppose de choisir un contenant valide.

shopfloor_delivery_shipment s'appuie sur les avis d'expédition : le scénario construit l'expédition, pas seulement le transfert.

  • shopfloor_batch_automatic_creation crée automatiquement les lots de transfert pour le prélèvement groupé — sans quoi quelqu'un les constitue à la main avant que l'équipe démarre.
  • shopfloor_checkout_sync est une colle synchronisant le point de contrôle avec le module de synchronisation de sortie.
  • shopfloor_gs1 intègre la lecture des codes-barres GS1 : un code qui encode à la fois la référence, le lot, la date et la quantité.

Le GS1 est décisif en agroalimentaire et en pharmacie : un seul scan renseigne le produit, son lot et sa date de péremption, là où trois saisies seraient nécessaires.

Mesurer et reconnaître à la réception

Un colis dont on ne connaît ni les dimensions ni le poids ne peut pas être rangé par un système de stockage, ni facturé au bon tarif de transport, ni palettisé correctement. Mesurer à la réception est le seul moment où c'est possible sans manipulation supplémentaire.

  • shopfloor_reception_package_dimension collecte les dimensions du colis pendant la réception. Il dépend du type de stockage, donc du rangement.
  • shopfloor_reception_packaging_dimension (version 18.0.1.4.0) collecte les dimensions du conditionnement — le carton type, non le colis reçu.
  • shopfloor_reception_measuring_device permet d'utiliser un appareil de mesure pour les relever automatiquement, au lieu de les saisir.

La distinction colis / conditionnement compte : le premier est l'objet reçu, le second la définition réutilisable. Mesurer un conditionnement une fois évite de mesurer mille colis.

  • shopfloor_vendor_packaging gère le comportement du terminal face aux conditionnements fournisseur, et shopfloor_reception_vendor_packaging l'applique au scénario de réception.
  • shopfloor_product_manufacturer (version 18.0.2.0.0) affiche le fabricant du produit sur le terminal.

Les conditionnements fournisseur répondent à un cas quotidien : le fournisseur livre par cartons de douze, l'entrepôt stocke à l'unité, et le code-barres scanné est celui du carton.

Le fabricant affiché sert au contrôle visuel : deux références proches, deux fabricants différents, et l'opérateur voit immédiatement s'il tient le bon article.

Les matières dangereuses

shopfloor_dangerous_goods et son module mobile relient Shopfloor au référentiel de marchandises dangereuses du stock.

L'enjeu est de signaler à l'opérateur, au moment du scan, qu'il manipule une matière réglementée — avant qu'il la place dans le mauvais contenant ou à côté d'un produit incompatible.

Les contrôles de conformité transporteur liés aux matières dangereuses sont traités dans expédier au quotidien.

Limites connues

  • Dix-sept dépendances pour le socle : Shopfloor est le projet le plus lourd à installer et à maintenir du catalogue logistique communautaire. À n'envisager qu'avec un entrepôt dont les opérations le justifient.
  • Chaque scénario exige son module mobile : installer la logique sans l'interface ne change rien sur le terminal.
  • La version 18.0 de l'application d'inventaire d'Odoo couvre les cas simples : comparer avant de s'engager, car l'écart de coût d'exploitation est considérable.
  • Les scénarios ne sont pas interchangeables : chacun impose son parcours. Un besoin qui ne rentre dans aucun demande un développement.
  • shopfloor_reception_measuring_device suppose un appareil de mesure compatible et son module de pilotage.
  • Le GS1 exige des codes GS1 conformes côté fournisseur : un code propriétaire ne se lit pas.
  • Les colles — synchronisation de sortie, matières dangereuses — supposent les modules cibles installés : vérifier la pile complète avant de commencer.
  • La montée de version d'une pile de vingt-trois modules se prépare : c'est le domaine où un dépôt communautaire coûte le plus en maintenance.

Identité technique

Les vingt-trois modules viennent du dépôt OCA stock-logistics-shopfloor, branche 18.0 — dont tous les modules sont désormais documentés ici —, tous en licence AGPL-3. Les dépendances externes notables : base_rest et jsonifier pour l'interface de programmation, stock_picking_batch et stock_picking_batch_creation pour les lots, shipment_advice pour les avis d'expédition, stock_dangerous_goods pour les matières réglementées, stock_measuring_device pour l'appareil de mesure, product_manufacturer, product_packaging_level et stock_storage_type pour les référentiels.

Voir aussi regrouper, scinder et suivre les transferts.

Questions fréquentes

Shopfloor remplace-t-il l'application d'inventaire d'Odoo 18 ?

Pas systématiquement. L'application d'Odoo 18 couvre les cas simples ; Shopfloor apporte des scénarios spécialisés — réception avec mesure, prélèvement groupé avec remballage, expédition par avis. Mais son socle déclare dix-sept dépendances : l'écart de coût d'exploitation est considérable, et la comparaison se fait avant de s'engager.

Pourquoi chaque module Shopfloor existe-t-il en deux versions ?

Le dépôt sépare systématiquement la logique et l'interface mobile. Installer le module de logique sans son module mobile ne change rien sur le terminal. Ce découpage permet aussi à un intégrateur de brancher son propre terminal — appareil industriel, application interne — sur la même interface de programmation.

Qu'apportent les codes-barres GS1 ?

Un code GS1 encode à la fois la référence, le lot, la date et la quantité : shopfloor_gs1 le lit en un seul scan, là où trois saisies seraient nécessaires. C'est décisif en agroalimentaire et en pharmacie. Il exige des codes conformes côté fournisseur — un code propriétaire ne se lit pas.

Peut-on mesurer les colis à la réception ?

Oui, par trois modules : dimensions du colis reçu, dimensions du conditionnement réutilisable, et usage d'un appareil de mesure pour les relever automatiquement. Un colis sans dimensions ni poids ne peut être ni rangé par un système de stockage, ni facturé au bon tarif de transport, ni palettisé.

Shopfloor gère-t-il les matières dangereuses ?

Oui : shopfloor_dangerous_goods et son module mobile relient le terminal au référentiel de marchandises dangereuses du stock. L'enjeu est de signaler la matière réglementée au moment du scan, avant un mauvais contenant ou un voisinage incompatible.

Se faire accompagner

Shopfloor est le seul projet communautaire où nous recommandons régulièrement de ne pas l'installer : dix-sept dépendances pour le socle, vingt-trois modules pour la pile complète, et une montée de version à préparer. Il se justifie à partir d'une certaine complexité d'opérations, pas d'une certaine taille.

Nous comparons donc d'abord vos opérations réelles avec ce que couvre l'application d'inventaire d'Odoo 18 — et nous ne proposons Shopfloor que si un scénario spécialisé est réellement en jeu. Voir les prestations d'Atalios Consulting ou demander un rappel.

Pour aller plus loin

En résumé

Odoo 18 a son application d'inventaire sur terminal, qui convient à un entrepôt simple. Shopfloor apporte des scénarios spécialisés — mais son socle déclare dix-sept dépendances, et la pile complète vingt-trois modules. C'est le projet qu'il faut parfois refuser. Parlons de vos opérations.

Documentation OCALogistiqueOdoo Community

Partager

Fiches connexes

Baies de serveurs dans une salle machine
Le module OCA `queue_job` (dépôt `queue`, version 18.0.3.4.1, licence LGPL-3) ajoute à Odoo une **file de travaux de fond** avec ses canaux, ses fonctions et ses tâches, sous le menu **File d'attente des tâches** : c'est la brique dont dépendent plus de quarante modules communautaires, et la première à surveiller en exploitation. Vingt-six autres modules traitent les composants, la configuration hors base, l'impression serveur et l'IoT.
Lire la suite
Documentation OCA, Exploitation
Câbles réseau branchés sur un commutateur
Le module OCA `endpoint` (dépôt `web-api`, version 18.0.1.1.4, licence LGPL-3) permet de **déclarer un point d'entrée HTTP depuis l'interface**, sous **Paramètres ▸ Technique ▸ Endpoints** : une adresse, une méthode, un traitement — sans écrire de module. Vingt-trois autres modules traitent le cache, les imports par sessions, les échanges de factures et l'agenda.
Lire la suite
Documentation OCA, Intégration