Comment automatiser votre entreprise avec Dolibarr devis ?

Dans un monde où le temps est une valeur de plus en plus rare, l’automatisation des tâches administratives est devenue un levier incontournable pour rester compétitif. Pour les petites et moyennes entreprises, ouvrir la porte à l’automatisation ne signifie pas forcément investir dans un outil hors de portée : Dolibarr, l’ERP/CRM libre et open‑source, offre de puissantes possibilités de personnalisation et d’intégration, notamment autour de la génération et de la gestion des devis (devis / propositions commerciales). Cette article vous guide pas‑à‑pas pour transformer la création de devis dans votre entreprise en un processus fluide, sans erreur et totalement automatisé.

Objectif
Mieux comprendre les outils de Dolibarr, et les mettre en place pour automatiser la création, l’envoi, le suivi et la conversion des devis.

1. Pourquoi automatiser les devis ?

Avantage Impact
Gain de temps Réduction de 80 % du temps passé à rédiger un devis
Réduction d’erreurs Uniformité des modèles et des conditions commerciales
Amélioration du suivi Alertes automatiques pour relance et conversion
Qualité du service client Réponses instantanées et personnalisées
Visibilité commerciale Rapports et indicateurs en temps réel

Chaque tâche manuelle occupe un fond de mémoire, augmente le risque d’erreur et retarde la prise de décision. En automatisant, vous libérez vos collaborateurs pour se concentrer sur l’essentiel : la négociation, le service client et la stratégie commerciale.

2. Prérequis avant de démarrer

Prérequis Comment les préparer
Environnement Dolibarr 20.x ou supérieur Téléchargez la version la plus récente depuis dolibarr.org.
Base de données propre Nettoyez les anciennes données de devis si besoin.
Modules activés compta:sales, price, invoice, stock et propale (devis).
Accès administrateur Vous avez besoin de droits Setup et Write.
Connaissances PHP de base Pour les hooks et les modifications de templates.

Bonne configuration : assurez-vous que vos paramètres de facturation, taux de TVA, devises et services soient correctement renseignés dans la configuration → Réglages → Facturation.

3. Définir votre modèle de devis

Dolibarr vous permet de créer des modèles de devis personnalisés, en HTML/CSS, avec des variables dynamiques.

3.1 Créer un modèle de devis

  1. Accéder à l’éditeur : Outils → Modèles → Devis > Nouveau.
  2. Utilisez le form:custom (template Smarty).
  3. Remplissez les champs obligatoires (titre, règles de facturation, conditions, etc.).
  4. Ajoutez votre branding : logo, couleur, signature.
  5. Enregistrez le modèle. Chaque vente se fera avec ce format par défaut.

Astuce : Vous pouvez employer des variables PHP. Exemple : {$CONST._ NZBSORT } pour afficher le numéro du devis généré.

3.2 Variables utiles

Variable Description
{$societe.nom} Nom du client
{$societe.adresse} Adresse du client
{$propale.ref} Référence du devis
{$propale.date_validite} Date d’expiration
{$propale.total_ttc} Montant TTC
{$propale.total_tva} Montant TVA
{$propale.types.services} Liste de services

4. Automatiser la génération d’un devis

Il existe deux façons principales : l’utilisation de hooks (soit par dolibarr_triggers) ou l’appel d’une API REST.

4.1 Utiliser un hook PHP (déclencheur actionObjectAdd)

Dans le répertoire htdocs/custom/, créez un dossier my_devistrigger. Dans ce dossier, créez my_devis_trigger.class.php :

<?php
require_once DOL_DOCUMENT_ROOT . '/core/class/commontrigger.class.php';
class TriggerMyDevis extends CommonTrigger
{
function getInfo()
{
return array(
'name'=>"MyDevisTrigger",
'family'=>'salesorders',
'description'=>"Automatiser le devis",
'depends'=>array('propale'=>array('user'=>'4.0'))
);
}
function doAction(&$object, $action, $userid, $langs, $conf, $hookmanager, $hookcall_args = array())
{
// Trigger sur la création du devis
if ($action == 'OBJECT_ADD')
{
// Vérifier si le devis doit être validé automatiquement
if ($object->statut == 0) // draft
{
$object->setStatut(1); // validated
// Ajout d'un rappel
$this->db->query("INSERT INTO ".MAIN_DB_PREFIX."propaledet (propaleid, rowid, productid, description, qty) VALUES (...);");
// Log
$this->db->query("INSERT INTO ".MAIN_DB_PREFIX."actioncomm (type, shortdesc, title, datep) VALUES ('update', 'Devis automatisé', 'Devis #".$object->ref."', '".dol_now()."');");
}
}
return 0; // OK
}
}
?>

Assurez vous d’activer le hook depuis Outils → Mise en place → Hooks. Sélectionnez TriggerMyDevis. Le hook est lancé à chaque événement d’ajout, et vous pouvez y mettre votre logique métier (validation, calculs de prix, création de lignes, etc.).

4.2 Utiliser l’API REST pour créer un devis

Dolibarr possède une interface REST riche, documentée dans la section “API” de l’admin.

  1. Activer l’API : Outils → Modules/Applications → Activez l’API (REST).
  2. Générer un jeton d’authentification : Profil → Mon compte → Tokens API.
  3. Effectuer une requête POST :

curl -X POST \
https://votre.dolibarr.com/api/index.php/salesorders \
-H "Content-Type: application/json" \
-H "DOLAPIKEY: votre_token" \
-d '{
"ref_customer": "CUST001",
"socid": 12,
"type": "PROPOSAL",
"description": "Devis automatisé via API",
"details": [
{
"productid": 101,
"qty": 5,
"description": "Produit A"
}
],
"shipping_option_id": 3,
"validdate": "2025-10-20",
"tva_tx": 20
}'

Remarque : L’API accepte un champ typePROPOSAL désigne un devis.
validdate est la date d’expiration du devis.

La réponse JSON vous fournit l’id et la ref du devis créé.

5. Automatiser l’envoi d’e‑mail de devis

Dolibarr gère les mails via le module notification. Pour automatiser l’envoi quand un devis est validé, deux approches :

Approche Description
Trigger simple Utiliser le hook actionObjectUpdate pour appeler la fonction sendbyemail lorsqu’un devis passe du statut brouillon au validé.
Scheduler (cron) Utiliser le planificateur interne (Outils → Cron) ou un cron externe pour l’exécuter toutes les 5 minutes.

5.1 Exemple de trigger

Dans trigger_send_email.class.php :

class TriggerSendEmail extends CommonTrigger
{
function doAction(&$object, $action)
{
if ($action == 'ORDER_STATUS' && $object->statut == 1) // validated
{
$mail = new CMailFile(
$langs->trans('DevisSent', $object->ref),
$object->socid==0?'':$object->thirdparty->email,
$conf->global->MAIN_MAIL_FROM,
'',
array(),
array(),
array(),
array(),
'',
'',
0,
1,
-1
);
$mail->sendfile('Devis.pdf', $object->getPdfFilename());
// Log
logger("Devis #" . $object->ref . " envoyé par mail");
}
return 0;
}
}

5.2 Créer une règle de relance automatique

Dans Outils → Relances → Créer une règle :

  • Champ : statut devis
  • Valeur : À valider
  • Action : Envoyer un e‑mail
  • Différence de jours : 3

Différentes stratégies de relance permettent d’augmenter la conversion, sans intervention manuelle.

6. Automatiser la conversion devis → commande

La logique métier ne s’arrête pas à l’envoi. Convertir automatiquement un devis accepté en commande est l’une des tâches les plus courantes.

6.1 Trigger de conversion

Dans my_conversion.trigger.php :

class TriggerConvertDevis extends CommonTrigger
{
function doAction(&$object, $action, $userid)
{
if ($action == 'ORDER_READY' && $object->statut == 4) // Accepted
{
$order = new Order($this->db);
$order->socid = $object->socid;
$order->status = 0; // draft
$order->fetch(0); // copy fields
// copy line details
foreach ($object->lines as $line)
{
$ol = new OrderLine($this->db);
$ol->ref = $line->ref;
$ol->qty = $line->qty;
$ol->description = $line->description;
$ol->total_ht = $line->total_ht;
$ol->total_tva = $line->total_tva;
$ol->fk_product = $line->fk_product;
$ol->arrive_date = $line->arrive_date;
$ol->lines[] = $ol;
}
$order->post_control(); // Validations before insert
$order->create($userid);
$order->setStatut(1); // validated
dolibarr_set_const($this->db, 'PREVIOUS_DEVIS_ID', $object->id);
$object->delete(); // optional: delete the old devis
}
return 0;
}
}

6.2 Procéder à la mise en production

  1. Activez votre hook : Outils → Hooks → Ajoutez.
  2. Testez le workflow sur un devis test.
  3. Si tout fonctionne, déployez en production.

7. Suivi automatisé et rapports

Dolibarr propose des rapports « Statistiques de ventes » et des filtres personnalisés. En automatisant, vous pouvez extraire chaque trimestre une base de données SAS pour de l’analyse prédictive.

  • Exemple : SELECT ref, socid, total_ttc, date_validite FROM llx_propale WHERE date_validite > DATE_SUB(NOW(), INTERVAL 1 MONTH);
  • Exportez en CSV puis en ERP ou BI (Power BI, Tableau).

8. Bonnes pratiques et conseils

Point Recommandation
Sauvegarde Affichez les sauvegardes hebdomadaires sur un serveur séparé.
Sécurité Limitez les privilèges des utilisateurs qui créent les devis.
Tests Utilisez l’unit test de Dolibarr pour vérifier vos triggers.
Log Gardez un journal détaillé des modifications automatisées.
Documentation Notez le concept métier derrière chaque trigger, au cas où vous avez besoin de migration.

9. Cas d’usage concrets

Secteur Besoin Solution Dolibarr automatisée
BTP Devis de chantiers en temps réel Trigger d’estimation instantanée via API ; génération d’un devis PDF et envoi aux clients.
Événementiel Offres pour organisateurs Workflow “Devis → relance → commande” automatisé, intégration avec le module de facturation.
Services web Contrats mensuels Produits DP + automatisation des renouvellements de devis, génération de factures récurrentes.

10. Évolution future

Dolibarr continue d’évoluer :

  • Déploiement via Docker : containeriser votre instance afin de déployer autant de copies que bon vous semble.
  • Extensions via Composer : importe en 1 clic vos extensions personnalisées.
  • Intégrations : API directe vers Shopify, PDF‑to‑Excel via phpSpreadsheet.

11. Conclusion

Automatiser la gestion des devis dans Dolibarr ne se fait pas en une seule journée. Mais en suivant ces étapes, vous mettez en place un cycle complet :

  1. Modèle → uniformité.
  2. Trigger ou API → création automatisée.
  3. Mailing → délivrance instantanée et suivie.
  4. Conversion → passage fluide vers la facturation.
  5. Suivi → KPI en temps réel.

L’automatisation ne remplace pas le sens commercial ; elle permet simplement d’en maximiser l’efficacité. En optimisant votre pipeline de devis, vous gagnez non seulement du temps, mais aussi la confiance de vos clients grâce à des réponses rapides et cohérentes.

Votre prochaine étape : Activez le module « propale » dans votre instance Dolibarr, créez votre premier modèle de devis et expérimentez vos premiers triggers. Vous verrez vite à quel point la course vers l’auto‑gestion s’appuie sur la rigueur dès la première ligne de code. Bon développement !

Publications similaires