Par [VotreNom], consultant ERP/développeur Dolibarr, 2025
1. Introduction
Dolibarr, l’ERP cloud open‑source : open‑source, modulaire, flexible.
Depuis la version 12 (2022), la gestion d’un système multi‑entrepôts est officielle (module Stock + Warehouse).
Pour un e‑commerce, une PME, ou une chaîne de sup évènements, la capacité de suivre, réserver et déplacer des stocks d’un dépôt à un autre sans perdre de temps est cruciale.
Cet article passe en revue :
- Le concept de multi‑entrepôts dans Dolibarr
- Les basiques de configuration, opération et reporting
- Les bonnes pratiques recommandées par les experts Dolibarr
- Des astuces concrètes (scripts, automatisations, connecteurs)
2. Les fondements du multi‑entrepôt dans Dolibarr
2.1 Le module Stock (ou Multi‑warehouse)
Activer ➜ Modules → Modules/Extensions → Stock → Warehouse.
Le module ajoute deux tables :
| Table | Description |
|---|---|
llx_stock_location |
Gère les entrepôts (nom, local, zone, statut) |
llx_stock_det |
Enregistre les mouvements (entrée, sortie, transfert) |
2.2 Ajout d’un entrepôt
Accueil > Produits et services > Entreprises > Gestion des stocks > Entreprises > N° 1 Entreprise > Entrepôt- Remplir :
- Code (
WH01) →identifiant unique - Nom (
Entrepôt - Gare de Paris) - Pays, ville, ZIP, adresse → géolocalisation
- Capacité (en kilos / en pièces)
- Point de référence – type “Point de vente” ou “Département logistique” (si vous utilisez le module Eshop ou Classified Ads, on pourra le relier).
- Code (
2.3 Affectation des produits
Chaque produit (type article) possède un champ privé fk_stock_location.
Par défaut : tous les articles sont placés dans l’entrepôt par défaut (WH00).
Pour multis‑entrepôts :
- Assignation par type (
type=> : “Matière première” → “Entrepôt des matières” ; “Produit fini” → “Entrepôt des finis”). - Workflow : dans l’onglet Stock, cliquez sur Ajouter une réserve → Entrée – Entrepôt[WH02].
3. Configurer son environnement multi‑entrepôt
| Étape | Configuration | Astuce |
|---|---|---|
| 1. Démarrage | Vérifier Réglage > Environnement > Stock | Sélectionner Autoriser multiples entrepôts |
| 2. Définir les règles de Stock | « À la réception » ou « Automatiser la conservation» | Régler la Date de péremption pour les produits périssables |
| 3. Paramétrer les mouvements | Temps, quantité ≤ stock disponible | Utiliser Réservations de stock (reserve_article) |
| 4. Désactiver les alias | llx_socpeople pour éviter doublons |
DROP VIEW llx_socpeople_stock si vous avez des alias inutiles |
4. Gestion opérationnelle : Réception, Stockage, Expédition
4.1 Réception
- Clic « Réception d’un bon de livraison (BL) »
- Sélectionner Entrepôt → le BL est créé de façon accrétive.
- Quand le fournisseur livre à un entrepôt différent, le créer dans un mvt de type “Import” vers ce dépôt.
4.2 Stockage
- Zone de stockage : dans Entrepôt > Stock, associer chaque produit à un numéro de zone (A‑1, B‑2…).
- Transfert : bouton Transférer -> entrepôt destination (nécessite la réservation).
Remarque : drivers warehouse de Dolibarr gèrent la CO₂ si vous activez le module Energy (bonus fort dans la gestion de la chaîne logistique).
4.3 Expédition
- Réservation: Créer une réservation sur le dépôt qui contient le produit.
- Livraison: dans Facture → séries (CO1) > Livraison > Expédition
- Suivi : accéder à Statut page d’un dépôt (Sommaire des incidents).
5. Optimisation de la gestion des stocks
| Meilleure pratique | Objectif | Méthode |
|---|---|---|
| FIFO / FEFO | Réduire rupture & périssable | Utiliser Réservation par date de péremption |
| Répartition automatique | Équilibrer les stocks | Script MySQL ou PHP ($sql="UPDATE ...") |
| Remontée manuelle | Modifier les entrées sans ouvrir BL | Créer un Fonction du(s) |
5.1 Script de transfert automatique (PHP)
// Exemple d’automatisation du transfert depuis 'WH01' à 'WH02'
$products = $db->query("SELECT rowid,pid,qty FROM llx_stock_det
WHERE fk_destination=1 AND fk_source=1");
while ($product = $db->fetch_array($products)) {
$qty = $product['qty'];
// Créer un enregistrement de transfert
$sql = "INSERT INTO llx_stock_det (fk_source, fk_destination, qty, fk_product)
VALUES (1,2,{$qty}, {$product['pid']})";
$db->query($sql);
}
Astuce: Programmez ce script sur cron 12h. Utilisez la fonction d’
api/digitalapi/core/pour un job fiable.
6. Rapports, statistiques, KPI
| Rapport | Objectif |
|---|---|
Stock vs VE/Feasible |
Avalier une marge suffisante |
Qté par zone |
Identifier les hotspots de stockage |
Mouvements peudos |
Contrôler les erreurs de tri |
Alertes |
Stocks en dessous du seuil de sécurité (threshold) |
Pour créer vos propres rapports :
- Module Business Intelligence (BI) – créez un Dashboard multi‑entrepôts.
- Tableau de bord Power‑BI (export CSV) – simulation de DAX.
7. Intégration avec un site e‑commerce
| Connecteur | Avantages | Comment ça marche ? |
|---|---|---|
| Prestashop | Synchronisation temps réel | Mappage des entrepôts via DOLIBARR_RACK |
| Magento 2 | Gestion de la zone « Stock on hand » | API REST (/api/stock?warehouse=WH01) |
| Shopify | Gestion multi‑depot via Shopify-Stock | Webhooks pour la mise à jour instantanée |
Astuce d’expert : Cachez le champ « Stock disponible » en boutique – l’utilisateur ne voit que le quota strictement disponible, évitant les ruptures de stock sur le front.
8. Astuces d’experts
8.1 Gestion des erreurs de stock
- Commandes sur stocks avec manque : activez le bouton “Réservation de stock” et configurer l’alert script qui met à jour la colonne
qty_reserve. - Mouvements non confirmé : rappelez‑vous que le module
receipt_warningscrée des tickets automatiques.
8.2 Sécurité & Multilangue
- Limites d’accès :
Access Groups-> “Warehouse Manager”. - Localisation : crées deux sous‑sites Dolibarr (en + fr) et mappage unique
fk_product_multilang.
8.3 Performance
- Index sur
fk_parent_location-> vitesse 2‑4×. - Cache PDO dans le fichier
config.php:$PDO_OPTIONS['attributes'][PDO::ATTR_EMULATE_PREPARES] = false;.
8.4 Intégration manuelle (exports)
- Utilisez le format CSV :
Export > Entrepôtet importez viaSQL Dump > Import.
8.5 Précision des stocks (physical & digital)
- Programme de recompte (clé & barcode) – balayage de la zone – > mise à jour via
stock->update. - Cross‑check : Webhook de scan de QR dans l’entrepôt (App
phone) – mise à jour du stock numérique.
9. Check‑list de mise en place
| ✅ | Item | Recap |
|---|---|---|
| 1 | Activer modules Stock & Warehouse | ✔️ |
| 2 | Créer les entrepôts (WH01, WH02…) | ✔️ |
| 3 | Assigner chaque produit à un entrepôt | ✔️ |
| 4 | Configurer seuil de sécurité & alertes | ✔️ |
| 5 | Mettre en place les zones logistiques | ✔️ |
| 6 | Connecter les e‑commerce via API | ✔️ |
| 7 | Tester les mouvements (entrée, sortie, transfert) | ✔️ |
| 8 | Générer un rapport de vérification interne | ✔️ |
| 9 | Former le personnel aux workflows | ✔️ |
10. FAQ
| Q | R |
|---|---|
| Mon stock ne s’actualise pas après un retour de produit | Vérifiez l’édition correcte de la réservations et l’événement warehouse_stock_recalc. |
| Comment gérer les produits périssables entre 2 entrepôts? | Instruisez votre script de sortie pour gérer FEFO (first expiring). |
| Le module BI n’affiche pas les quantités par dépôt | Assurez vous d’avoir fk_warehouse correctement renseigné dans llx_stock_location. |
| Réduction de coût d’impression | Optez pour l’export Excel CSV → Terme DataImport pour importer par masse. |
11. Conclusion
Dolibarr multi‑entrepôts n’est plus un désir – c’est une réalité robuste et flexible. En tant qu’experts, nous recommandons :
- Une planification détaillée – chaque dépôt doit avoir un rôle clair.
- Des automatisations – scripts SQL/PHP, cron jobs, API, pour diminuer l’intervention humaine.
- Des KPIs dédiés – pour surveiller la liquidité, la capacité d’efficacité et la synchronisation e‑commerce.
- Une formation continue – les utilisateurs doivent être à l’aise avec le flux « entrée → stockage → expédition → sortie ».
En appliquant les astuces ci‑dessus, votre chaîne d’approvisionnement deviendra plus rapide, plus précise et enfin, plus rentable.
12. Ressources & Liens Utiles
| Sujet | Ressource |
|---|---|
| Documentation officielle | https://wiki.dolibarr.org/index.php/Stock |
| Forum experts | https://forum.dolibarr.org |
| Module Custom – Stock | https://github.com/Dolibarr/modules |
| Plugin Warehouse Export | https://marketplace.dolibarr.org |
Bonne mise en place !