Dolibarr : email de relance des factures impayées

Mathias WOLFF published on
4 min, 647 words

Categories: Programmation

Dolibarr est un logiciel de gestion open source réputé pour les TPE/PME et associations permettant la gestion de la facturation. Il est aisé grâce à une fonction intégrée facilement appelable via un bouton, d'envoyer une facture à un contact par email.

Dans une ancienne version, un bouton équivalent permettait de relancer les factures en retard de paiement par email, facture par facture. Ce bouton a maintenant disparu !

Nous allons voir comment, sans toucher au code (sauf pour l'ajout d'éléments complémentaires), intégrer simplement une fonction de relance de facture en retard de paiement par email.

Pour cela, nous allons utiliser les modèles d'email, utilisables pour les factures clients mais aussi pour les commandes, propales ... Ainsi, il nous suffira de choisir le bon modèle dans la liste déroulante juste au dessus du mail, afin de sélectionner le texte adéquat.

Premièrement, des messages d'envoi d'emails sont prédéfinis. Ils sont disponibles dans le dossier des langues de dolibarr /htdocs/langs/fr_fr/other.lang . Nous retrouvons notre modèle d'envoi de facture par email mais aussi, avec surprise, le modèle de relance de facture par email.

Nous allons donc créer un nouveau modèle. Pour cela, il faut aller dans Accueil -> configuration -> dictionnaires -> modèles des courriels , puis renseigner les différents éléments : libellé (champs définissant le modèle dans liste déroulante, par exemple Relance_facture), type de modèle ("pour l'envoi de facture client" dans notre cas), privé (0, sinon juste vous pourrez utiliser ce modèle), la position dans la liste déroulante (1, c'est votre premier modèle), le sujet (par ex : Relance de la facture REF ), et enfin le content (par ex : Bonjour,\n\nNous voudrions vous avertir que le facture REF ne semble pas avoir été payée.Nous vous avons joins la dite facture comme rappel.\n\nCordialement\n\n__SIGNATURE__ ).

J'ai utilisé 2 variables REF qui sera remplacé par le numéro de facture, et SIGNATURE qui sera remplacé par ... votre signature (bien penser à compléter votre signature dans votre profil d'utilisateur. Voici la liste des variables disponibles pour les factures (elles sont définies dans le fichier htdocs/compta/facture.php ) :

$formmail->substit['__REF__'] = $object->ref;
$formmail->substit['__SIGNATURE__'] = $user->signature;
$formmail->substit['__REFCLIENT__'] = $object->ref_client;
$formmail->substit['__THIRDPARTY_NAME__'] = $object->thirdparty->name;
$formmail->substit['__PROJECT_REF__'] = (is_object($object->projet)?$object->projet->ref:'');
$formmail->substit['__PROJECT_NAME__'] = (is_object($object->projet)?$object->projet->title:'');
$formmail->substit['__PERSONALIZED__'] = '';
$formmail->substit['__CONTACTCIVNAME__'] = '';

Voici l'exemple d'un modèle d'email plus complet :

__CONTACTCIVNAME__,\n\n
Veuillez trouver ci-joint votre facture __REF__ d'un montant de __FACTOTALTTC__ € TTC.\n\n
Nous vous rappelons que cette facture doit être réglée avant le __FACDATELIMREG__ .\n\n
Vous en souhaitant bonne réception, nous vous prions de croire,__CONTACTCIVNAME__, en l'assurance de nos salutations distinguées.\n\n
__SIGNATURE__

Il faut noter que les 2 dernières variables, PERSONALIZED et CONTACTCIVNAME, qui sont pourtant utilisées dans les modèles de base, retournent une chaîne vide ! à vous de les compléter (je vous laisse un peu de taf). J'utilise aussi des variables complémentaires qu'il nous faut créer. Pour cela, il suffit d'ajouter en ligne 3942 dans le fichier htdocs/compta/facture.php (version 3.9.3), les variables personnalisées complémentaires :

$formmail->substit['__FACDATE__'] = date('d/m/Y',$object->date);
$formmail->substit['__FACTOTATTC__'] = number_format($object->total_ttc,2,',','');
$formmail->substit['__FACDATELIMREG__'] = date('d/m/Y',$object->date_lim_reglement);

A noter, qu'à chaque mise à jour, vos modifications seront écrasées et seront donc à refaire !

Il est aussi possible d'utiliser des extensions permettant de réaliser cette opération, mais aussi d'intégrer à Dolibarr un process complet de recouvrement.

Je vous conseille Relance factures impayées v2, le plus complet, ou Rappel impayé facture, devis, adhérent (3.9.x) , deux outils intéressants, à des prix différents mais n'offrant pas les mêmes fonctionnalités.

Source : wiki dolibarr