Dolibarr ERP & CRM propose un large éventail de modules pour gérer toutes les facettes de votre activité. Le module Commandes (ou commande client), « orders » en anglais, est l’épine dorsale de tout flux commercial : c’est le point de départ des devis, des factures, des livraisons, et de la comptabilité. Or, pour que la commande devienne un véritable levier de productivité, il faut bien la paramétrer, l’optimiser et l’automatiser.
Dans cet article, l’objectif est de passer en revue les astuces et conseils d’experts qui vous permettront de :
- Instaurer un workflow de commandes fluide
- Réduire les erreurs de saisie
- Automatiser les tâches répétitives
- Synchroniser vos données avec d’autres systèmes (ERP, e‑commerce, BI, etc.)
- Garantir la conformité comptable et fiscale
À lire avant d’implémenter
- Sauvegardez votre instance Dolibarr régulièrement (scripts cron, export DB).
- Travaillez sur un serveur de test ou un extrait de production.
- Impliquez les parties prenantes : commerciaux, finance, logistique, TI.
1. Avant‑tout – La préparation du module Commande
| Étape | Action | Astuce d’Expert |
|---|---|---|
| 1. Activer le module | Outils > Modules & Services > Modules | Vérifiez que “Commande client” est activé et pensez à activer “Facture client” et “Livraison client” pour un workflow complet. |
| 2. Paramètres globaux | Outils > Configuration > Vente | Choisissez votre type de tax, règles d’arrondi, conditions de paiement (30 jours, 20 %, etc.). |
| 3. Référentiel produit | Produit > Ajouter un produit | Si vous avez beaucoup de produits, utilisez abonnements ou « snippets de produits (boîtes)** pour accélérer la saisie. |
| 4. Type de commande | Commande > Types | Différenciez les commandes « Standard », « Urgent », « Partiel », etc. Cela vous aide dans le reporting et les priorités de livraison. |
| 5. Labels dynamiques | Outils > Bannière > Modèles | Ajoutez un modèle de note de remise qui surlignera automatiquement les remises exceptionnelles. |
2. Schéma de workflow recommandé
Devis ➔ Confirmation de vente ➔ Commande ➔ Facture ➔ Paiement ➔ Livraison (optionnelle)
- Devis → Si vous avez un module de devis, votre commande doit être dérivée directement du devis.
- Confirmation – Envoi d’email avec lien vers la commande (via le module Email), avec un bouton "Valider la commande".
- Facture – Ticket de commande (PO) → Facture; la fonction “Facture de commande” crée l’encaissement automatiquement.
- Livraison – Si votre entreprise gère un stock, associez la commande à une livraison pour recharger le stock.
Bon : Utilisez la séquence d’activation (voir § 3) pour que Typhoon (le moteur de déclencheurs) exécute vos actions programmées.
3. Automatiser grâce aux "Triggers" (déclencheurs)
Dolibarr intègre un moteur de triggers qui peut réagir à 10+ événements de la commande. Pour les experts, l’astuce est de les combiner et personnaliser :
- Lorsque la commande est validée
- Remplir les champs personnalisés (code de lot, donneur d’ordre, etc.)
- Envoyer un e‑mail de bienvenue :
require_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.php';
$email = new CMailFile(
'Votre commande #'.$ID,
$user->email,
$user->name,
array('Subject: ...'),
array()
);
$email->sendfile();
- Mise à jour du stock
- Si vous avez un module de gestion de stock (Fournisseur, Inventaire), déclenchez un appel AJAX à votre API interne.
- Création d’une facture automatique
- Le trigger
tdoTriggerCommande_fournisseurpeut être redéfini pour créer instantanément la facture basée sur le montant de la commande.
- Le trigger
- Appel d’un service tier
- Ajoutez une request REST vers un ERP externe à chaque commande entrante.
Remarque
- Les triggers se trouvent dans
htdocs/core/triggers- N’oubliez pas de copier dans
custom/triggers/pour conserver les modifications après mise à jour de Dolibarr.
4. Gestion avancée des références & de la numérotation
4.1 Numérotation intelligente
- Application des modules
- Commencez par Outils > Paramètres > Sequence d’édition
- Sélectionnez *ex.)
COM-${YEAR}-${OL}(où ${OL} = séquence numérotation).
- Fragmentation
- Utilisez des fragments par concurrent (ex. projets, entreprises, type).
- Exemple
PROJ-${PROJID}-${YEAR}-${OL}
- Réservation de la numérotation
- Le trigger
Core_triggers/doli_autoNumberingassure que vous ne perdez pas de numéros.
- Le trigger
4.2 Référence fournisseur
- Automatiser la prise de la référence fournisseur
- Lors de la création d’une commande fournisseur, le champ Référence fournisseur peut être pré-rempli grâce à la propriété
CLEAR_REFERENCE.
- Lors de la création d’une commande fournisseur, le champ Référence fournisseur peut être pré-rempli grâce à la propriété
- Snippet produit
- À chaque création d’un snippet, ajoutez le champ
reference_fournisseur.
- À chaque création d’un snippet, ajoutez le champ
5. Optimiser les liaisons produit / commande
| Problème | Solution | Exemple |
|---|---|---|
| Commandes bloquées par un produit hors stock | Unité de stock -> État de mise à jour automatisée | if ($product->stock < $qty) {$this->error = 'Stock insuffisant';} |
| Doublon de produit | Vérifier le code barre au niveau de la saisie | if (preg_match('/^\d{13}$/', $code_barre)) { |
| Surcoût de frais de port | Créer une règle de remise automatique | $order->addDiscount('Port', 10, 'test') |
Pour les grossistes, ne pas oublier d’associer les prix par lot (à plusieurs volumes). Dolibarr propose la classe product_price : votre trigger peut remplir la colonne tva_tx et le champ amount en fonction du volume.
6. Rapports & KPI: Ce qu’il faut surveiller
| KPI | Pourquoi? | Outil/Démarche |
|---|---|---|
| Taux de Conversion (devis→commande) | Identify lost opportunities | SELECT count(*) FROM llx_commande WHERE fk_soc = ... |
| Délai de traitement (commande→facture) | Optimiser le processus de facturation | Cron + core/triggers/doliTimers.php |
| Valeur moyenne de commande | Ajuster la stratégie de prix | Module “Dashboards” → widget “Ventes” |
| Priorité / Urgence | Gérer les expéditions | Champ priority ou type |
Astuce : utilisez la table llx_custom_fields (ou du même docs/`cs_categories.php) pour créer un chart personnalisable dans le module “Widgets”.
7. Intégrations recommandées
| Intégration | Accélérateur | Astuce |
|---|---|---|
| ERP externe (SAP, 1C) | API REST, Webhooks | api/dolibarr/v3/orders |
| CMS (WordPress, Shopify) | Hooks de commande | woocommerce_checkout_update_order_meta |
| CRM externe | Contact sync | Module demande de contacts |
| Comptabilité (Drafter, QuickBooks) | File upload CSV | Automatiser via WeeWeeScript |
| Marketing | Autoresponder | Sync via mailjet manager |
Exemple de cURL
curl -X POST "https://votre-dolibarr/api/index.php/api.php/orders" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <token>" \
-d '{"socid":1,"lines":[{"qty":2,"fk_product":12}]}'
8. Sécurité et conformité
8.1 Proxy de facturation
- Éviter les doubles factures
- Définir un champ unique_identifier par ligne.
- Valider le duplicate via un trigger
uniqueKeysurllx_commande_fichiers.
8.2 Gestion des droits
- Profil “Commercial” – accès en lecture seule aux commandes, pas aux factures.
- Profil “Finance” – création de factures mais pas de lignes produit.
- Utilisez la ACL (
hook/tal>accessControl.php) pour définir ces rôles.
Astuce : agréez le Données sensibles → KV (key‑value) pour stocker les informations PII.
8.3 Auditabilité
- Triggers de journalisation
core/triggers/doliTimer.phpécrit dansllx_com_log.- Ajoutez vos propres logs à la table
llx_commande_logpour un audit complet.
9. Bonnes pratiques de production
- Sauvegarde et migration
mysqldumpnightly +zstandardcompression.- Utilisez
dolibarr_commitpour créer un point de restauration.
- Cache
- Activez SSD L2 cache Zend, xCache ou Redis pour accélérer les requêtes SQL fréquentes.
- CRON
- Planifiez les productions de factures (
dolibarr:commande automatic) à 02h00.
- Planifiez les productions de factures (
- Monitoring
- Rsyslog, Grafana + Prometheus.
- Alertes pour TTL (temps de traitement de la commande).
10. Checklist de mise en place
| Étape | Action | Responsable | État |
|---|---|---|---|
| 1 | Activer & configurer modules | TI | ☐ |
| 2 | Créer & valider référentiel produit | Ops | ☐ |
| 3 | Définir séquence de numérotation | DBA | ☐ |
| 4 | Implémenter triggers d’automatisation | Développeur | ☐ |
| 5 | Configurer intégrations API | Ét. API | ☐ |
| 6 | Tester workflow (dev → test → prod) | QA | ☐ |
| 7 | Former les utilisateurs | RH | ☐ |
11. Scénarios d’usage avancés
| Situation | Solution | Code / Trigger |
|---|---|---|
| Commandes à gros volume (10 000+ lignes) | Bloquer par lot, génération de génération batch | Utiliser Mass orders via CSV import (/public/htdocs/import/orders.php) |
| Multi‑monnaie | Séparer la règle taux de change par devise | Trigger updateExchangeRate() à la création d’une commande |
| Commandes « dropship » | Créez un produit « dropship » et reliez-le automatiquement à votre plateforme e‑commerce | Hook dolibarr:postOrder |
12. FAQ rapide
| Question | Réponse |
|---|---|
| Qui gère le stock lors d’une commande ? | Le module “Gestion du stock” met à jour le niveau de stock via add_line – vous pouvez paramétrer +"Réapprovisionnement automatique" à exécuter après chaque commande. |
| Comment gérer les remises exceptionnelles ? | Créez un champ personnalisé special_discount dans la table llx_custom_fields et un trigger qui applique le taux via $order->addDiscount. |
| Quelle est la meilleure façon d’exporter toutes les commandes de l’année ? | Utilisez la fonction d’export d’Excel du module Analyse avancée ou un script SQL : SELECT * FROM llx_commande WHERE datemodif>=? AND datemodif<=?. |
13. Conclusion
La commande dans Dolibarr n’est pas qu’une simple saisie de données : c’est le centre névralgique où convergent ventes, finance, logistique et service client. En appliquant les astuces ci‑dessus, vous :
- Optimisez votre cycle de vente, réduisez les erreurs de saisie et économisez du temps.
- Automatisez vos processus (factures, emails, sync ERP) pour que votre équipe se concentre sur la valeur ajoutée.
- Garantissez la conformité fiscales, comptables et de sécurité.
- Mesurez ces améliorations grâce à des KPI clairs et à des rapports personnalisés.
Prêt à propulser vos opérations ? Commencez par la logique de trigger la plus simple, puis étendez‐le à votre activité. Dolibarr est modular, mais la puissance des données vient de la façon dont vous les organisez. Bonnes commandes !