Les commandes sont le cœur de la chaîne d’approvisionnement et de la facturation dans Dolibarr. Meilleures pratiques → réduction des erreurs, auditabilité, gain de temps.
1. Préparer le terrain : configuration globale
| # | Action | Pourquoi ? | Comment |
|---|---|---|---|
| 1 | Activer le module Commandes | Sans module, la gestion est impossible. | Modules → Gestion → Commandes |
| 2 | Attribuer les droits d’accès | Sécuriser les données sensitives. | Contrôle d’accès → Commandes → niveaux : Création, Modification, Visualisation seulement, Supprimer |
| 3 | Définir les profils d’utilisateurs | Permet un paramétrage sans abus. | Utilisateurs → Profils (ex : commerciaux, trésorerie, logistique) |
| 4 | Configurer la gestion des stocks | Éviter les ventes surproduits. | Stock → Configuration → Méthode de valuation (FIFO/LIFO/EP). |
| 5 | Paramétrer les pipeline d’approbation | Pour un contrôle interne. | Travail -> Éditeur de workflows → création de statuts (PROJET, EN COURS, APPROUVÉE, CONCLUE) |
Astuce : Avant de lancer le module, vérifiez que votre base de données a l’extension PDO activée, et que vos tables sont à jour (sql upgrades de la version 13+).
2. L’éco‑définitions des produits et des lignes de commande
2.1 Stockage des références produits
| Champ | Astuce | Exemple |
|---|---|---|
| Référence | Choisir un format interne clair (article‑0001). | PHYS-0001 |
| Sous‑référence | Pour variantes (Taille, couleur). | TLS-P |
| Prix unitaire HT | Séparer le prix HT du prix TTC en fin de colonne. | 25.50 € |
| Taxe applicable | Table de taxe à jour. | TVA 20% |
Intégrité : utilisez les failles (champs « non nul ») de Dolibarr pour forcer une valeur (ex‑‐ un produit sans référence n’est pas enregistré).
2.2 Line‑items & taxes
| Ligne | Éléments |
|---|---|
qte |
Quantité (préciser unités). |
tva_tx |
% TVA |
discount |
Remise linewise (au besoin). |
description |
Texte synthétique (extraits de fiche produit). |
Rule : la remise doit être calculée en HT, puis la TVA appliquée sur montant réduit.
3. Le workflow de la commande : de la création à l’expédition
3.1 Création
-
Extraction de l’offre (proposition)
- Duplication du produit privé (
Dupliquer → *Commande*). - Vérifier le statut
Valideepour garantir les prix.
- Duplication du produit privé (
-
Validation du stock
- Activation de l’option “Vérifier le stock avant de la création”
- Fail‑over : Si il manque, ne pas passer en état
CONFIRMEDmais mettre enBLOCKEDet avertir l’équipe.
- Blocage de la commande (facultatif)
- Exemple :
Blocage par fournisseur - Chaîne
appraidequi exige un déclencheur externe (ex : mail de confirmation).
- Exemple :
3.2 Approbation
| Niveau | Action | Membre(s) | Outils |
|---|---|---|---|
| Commercial | Soumettre la commande | Commercial | Mail → Sujet : Approve Order #123 |
| Finance | Contrôle de solvabilité | Comptable | Script de vérification sur historique client |
Workflow dynactif : Vous pouvez concevoir les statuts de votre propre flux dans Workbench → Gestion des statuts.
3.3 Expédition
- Sélection du transporteur
- Idéalement connecté via l’API Shipment (Cdiscount, DHL, etc.)
- Conserver un lien dans le champ
shipping_method.
- Étiquette de livraison
- Générer via Étiquettes → PDF automatisé
- Intégration with Zoho Print pour quick‑print.
- Mise à jour du stock
- Option “Décrémenter le stock lors de l’expédition” activée afin d’éviter double comptage.
3.4 Facturation
- Auto‑création (option Invoice On Order Confirmation)
- Choix de la conversion de devis
Option: Copier les conditions de paiement(ex. 30 jours net)
Astuce :
Multi‑currency– Si vous facturez en devises différentes, activezconfig.phpMULTI_CURRENCY. Dolibarr gère la conversion via Vendeur→Liste de devises.
4. Gestion de l’historique & de la traçabilité
| Type | Contenu | Outil |
|---|---|---|
| Audit | Date, utilisateur, changement | Logs (« journal d’activité ») |
| Références | CIF, N° de facturation, embarquement | Annexes |
| Modifications | En temps réel via hooks |
Hook complétion (hook_order)` |
LP: Maitrise des hook – par exemple :
// Hook pour déclencher un e‑mail lorsque l’état change à CONFIRMED
function horde_orderOnStatusChanged($action,$object) {
if($action == 'confirmed'){
dol_send_email($object->customer->email, array(
'subject'=> 'Commande #'.$object->id.' confirmée',
'body'=> 'Nous vous remercions...',
'sendto'=> $object->customer->email,
'object'=> $object
));
}
}
5. Personnalisation produit et commande
5.1 Champs personnalisés
- Créer des Pools : Modules → Personnalisation → Champs
Ex.Code de proveniens,Condition de stockage.
5.2 Lignes d’activité supplémentaires (jeopardies)
- Un champ Promo code → s’assurer de sa validité
(relation avec Bon de réduction module).
6. Export/Import & Reporting
| Outil | Quand l’utiliser | Tips |
|---|---|---|
| CSV export | Rapports fournisseurs, bilan mensuel | Mappage, éviter de trier via ORDER BY. |
| ODBC | Intégration ERP | Réintroduire les erreurs log via ODBC errors.log. |
Widget d’analyse (Graphiques) |
KPI de vente | Pie chart Total Vente par Catégorie. |
Report KB :
report.php?report=order_monthlyinclut la macro:{{DATE_FORMAT:"%Y-%m"}}.
7. Sécurité & conformité
| Risque | Mesure | Exécution |
|---|---|---|
| Manipulation des prix | Limiter modification aux profils ADMIN & COMMERCE. |
manageright.php |
| Accès à la section clients | Mettre en place un segment de pays. | if ( $user->country != $customer->country) deny(); |
| Sauvegarde | Snapshots hebdomadaires | php shell backup.sh |
GDPR : Utilisez le module Data Protection pour gérer les droits d’accès des clients (
Request to delete).
8. Performance : l’optimisation des volumes
| Point | Commande | Impact |
|---|---|---|
| Index SQL | CREATE INDEX idx_future_date ON llx_commandes(date); |
30% moins de temps de requête |
| Bypass cache | clear_cache_compiled |
Récupère les derniers modules après modification |
| Contrôles « lazy‑loading » | ::$parameters['view_qlty'] = 'compact'; |
Charge uniquement les colonnes nécessaires |
9. Utiliser les APIs : construire votre propre automatisation
| API | Étape | Code snippet |
|---|---|---|
| REST API | Authentification | curl -X POST -d "login=user&password=pass" http://dolibarr.example/rest.php/login |
| Last Gen | Crée une commande | POST /commande?token=xxx (body JSON) |
| Workflow | Hooks ± automate | function order_inciteExcel($id){…} |
Build : Créez un micro‑service NodeJS pour transformer les données Excel en JSON à la fois pour l’ajout et la validation vol.
10. Cas d’usages récurrents
| Cas | Solution Dudibarr | Étapes clés |
|---|---|---|
| B2B volumes élevés | Module Integration Externe avec SFTP |
Push & Pull automatisés dans 5 minutes |
| Paiements réguliers | paiements récurrents |
Commande → Facture → Récurrence |
| Gestion de lots | Gestion des lots |
Code de mise à jour via API lot status |
11. Checklist rapide
- Mise à jour : Dolibarr + modules.
- Profil utilisateur : en place.
- Champ produits : complet + validé.
- Stock : synchronisé.
- Workflow : validé, retenu.
- Sauvegarde : automatisée.
- Tests : flux d’une commande en
dev.
12. Resources & bonnes pratiques supplémentaires
- Documentation Officielle – https://wiki.dolibarr.org/index.php/Documentation
- Forum – “Réalisations commandes” section.
- GitHub – Contribution
dolibarr/dolibarrpour des pull requests sur les workflows. - Blog – “Optimiser les ventes" – conseils pour la configuration.
Le mantra : « Une commande bien saisie est deux commandes de moins à corriger. »
En suivant ces étapes et recommandations, vous transformerez votre gestion des commandes dans Dolibarr en un processus fiable, auditier, et automatisé, tout en diminuant les erreurs humaines et en améliorant l’expérience client. Bonnes ventes !