Personnaliser le message d'envoi de mail
Si vous cherchez comment personnaliser les messages créés automatiquement à l'envoi d'une facture, une relance ou une proposition par mail, voici quelques notes d'un utilisateur de Dolibarr qui devraient vous faciliter la tâche :
Personnaliser les envois de documents par E-mail
Avec Dolibarr, il est possible d’envoyer directement les pièces par E-mail avec le bouton Envoyer par mail. Un formulaire se présente permettant de choisir les destinataires et un message automatique est ajouté dans la zone message.
Dolibarr >= 9
- Sur les versions de Dolibarr supérieure ou égale à la v9, il suffit d'ajouter un modèle d'email dans le menu Outils - Modèle emails.
Si il y a plusieurs modèles saisis pour le même context, Dolibarr prendra le premier (celui avec le champ position le plus faible donc)
Dolibarr <= 8
- Sur les versions de Dolibarr inférieure à la v8, le message prédéfinis est enregistré dans le dossier des langues de dolibarr
/htdocs/langs/fr_fr/other.lang
Pour personnaliser ce message, il faut modifier les lignes suivantes :
PredefinedMailContentSendInvoice=Veuillez trouver ci-joint la facture __FACREF__\n\nCordialement\n\n
PredefinedMailContentSendInvoiceReminder=Nous apportons à votre connaissance que la facture __FACREF__ ne semble pas avoir été réglée. La voici donc, pour rappel, en pièce jointe.\n\nCordialement\n\n
PredefinedMailContentSendProposal=Veuillez trouver ci-joint la proposition commerciale __PROPREF__\n\nCordialement\n\n
PredefinedMailContentSendOrder=Veuillez trouver ci-joint la commande __ORDERREF__\n\nCordialement\n\n
PredefinedMailContentSendSupplierOrder=Veuillez trouver ci-joint notre commande __ORDERREF__\n\nCordialement\n\n
PredefinedMailContentSendSupplierInvoice=Veuillez trouver ci-joint la facture __FACREF__\n\nCordialement\n\n
Les messages peuvent être rédiger soit en HTML, soit en texte simple. Si vous optez pour un format texte simple, vous devez écrire \n pour effectuer un retour à la ligne. Si vous préférez un message formater en HTML il vous suffit d’utiliser les balises HTML standard pour formater votre message (<br> : retour chariot, <b>mon texte</b> pour le gras etc ...)
Personnaliser les variables sur une version Dolibarr
Dolibarr >= 8
De nombreuses variables peuvent être utilisées dans votre modèle d'email. En voici une liste non exhaustive.
__USER_SIGNATURE__ -> Alice - 123 __USER_LASTNAME__ ... __USER_ID__ -> 12 __USER_LOGIN__ -> admin __USER_LASTNAME__ -> Adminson __USER_FIRSTNAME__ -> Alice __USER_FULLNAME__ -> Alice Adminson __USER_SUPERVISOR_ID__ -> 2 __USER_REMOTE_IP__ -> 127.0.0.1 __MYCOMPANY_NAME__ -> MyBig Company __MYCOMPANY_EMAIL__ -> testldr10@gmail.com __MYCOMPANY_PROFID1__ -> 123456 __MYCOMPANY_PROFID2__ -> __MYCOMPANY_PROFID2__ __MYCOMPANY_PROFID3__ -> __MYCOMPANY_PROFID3__ __MYCOMPANY_PROFID4__ -> __MYCOMPANY_PROFID4__ __MYCOMPANY_PROFID5__ -> __MYCOMPANY_PROFID5__ __MYCOMPANY_PROFID6__ -> __MYCOMPANY_PROFID6__ __MYCOMPANY_CAPITAL__ -> 10001 __MYCOMPANY_FULLADDRESS__ -> 21 Jump street..ll..ee "ddddd, 75500 MyTown, France __MYCOMPANY_ADDRESS__ -> 21 Jump street..ll..ee "ddddd __MYCOMPANY_ZIP__ -> 75500 __MYCOMPANY_TOWN__ -> MyTown __MYCOMPANY_COUNTRY__ -> France __MYCOMPANY_COUNTRY_ID__ -> 1 __MYCOMPANY_CURRENCY_CODE__ -> EUR __ID__ -> __ID__ __REF__ -> __REF__ __REF_CLIENT__ -> __REF_CLIENT__ __REF_SUPPLIER__ -> __REF_SUPPLIER__ __EXTRAFIELD_XXX__ -> __EXTRAFIELD_XXX__ __THIRDPARTY_ID__ -> __THIRDPARTY_ID__ __THIRDPARTY_NAME__ -> __THIRDPARTY_NAME__ __THIRDPARTY_NAME_ALIAS__ -> __THIRDPARTY_NAME_ALIAS__ __THIRDPARTY_EMAIL__ -> __THIRDPARTY_EMAIL__ __CONTACT_NAME_ACTOR__ __CONTACT_NAME_AUTHOR__ __CONTACT_NAME_BILLING__ __CONTACT_NAME_CUSTOMER__ __CONTACT_NAME_FACTORYRESP__ __CONTACT_NAME_GUEST__ __CONTACT_NAME_INTERREPFOLL__ __CONTACT_NAME_INTERVENING__ __CONTACT_NAME_PROJECTCONTRIBUTOR__ __CONTACT_NAME_PROJECTLEADER__ __CONTACT_NAME_SALESREPFOLL__ __CONTACT_NAME_SALESREPSIGN__ __CONTACT_NAME_SERVICE__ __CONTACT_NAME_SHIPPING__ __CONTACT_NAME_TASKCONTRIBUTOR__ __CONTACT_NAME_TASKEXECUTIVE__ __CONTACT_NAME_THIRDINCHARGE__ __CONTACT_NAME_USERINCHARGE__ __CONTACT_NAME_WAREHOUSERESP__ __MEMBER_ID__ -> __MEMBER_ID__ __REF__ -> Object reference (invoice, ...) __MEMBER_CIVILITY__ -> __MEMBER_CIVILITY__ __MEMBER_FIRSTNAME__ -> __MEMBER_FIRSTNAME__ __MEMBER_LASTNAME__ -> __MEMBER_LASTNAME__ __PROJECT_ID__ -> __PROJECT_ID__ __PROJECT_REF__ -> __PROJECT_REF__ __PROJECT_NAME__ -> __PROJECT_NAME__ __CONTRACT_HIGHEST_PLANNED_START_DATE__ -> Highest date planned for a service start __CONTRACT_HIGHEST_PLANNED_START_DATETIME__ -> Highest date and hour planned for service start __CONTRACT_LOWEST_EXPIRATION_DATE__ -> Lowest data for planned expiration of service __CONTRACT_LOWEST_EXPIRATION_DATETIME__ -> Lowest date and hour for planned expiration of service __ONLINE_PAYMENT_URL__ -> UrlToPayOnlineIfApplicable __ONLINE_PAYMENT_TEXT_AND_URL__ -> TextAndUrlToPayOnlineIfApplicable __SECUREKEYPAYMENT__ -> Security key (if key is not unique per record) __SECUREKEYPAYMENT_MEMBER__ -> Security key for payment on a member subscription (one key per member) __SECUREKEYPAYMENT_ORDER__ -> Security key for payment on an order __SECUREKEYPAYMENT_INVOICE__ -> Security key for payment on an invoice __SECUREKEYPAYMENT_CONTRACTLINE__ -> Security key for payment on a a service __DIRECTDOWNLOAD_URL_PROPOSAL__ -> Direct download url of a proposal __DIRECTDOWNLOAD_URL_ORDER__ -> Direct download url of an order __DIRECTDOWNLOAD_URL_INVOICE__ -> Direct download url of an invoice __SHIPPINGTRACKNUM__ -> Shipping tacking number __SHIPPINGTRACKNUMURL__ -> Shipping tracking url __DATE_YMD__ -> __DATE_YMD__ __DATE_DUE_YMD__ -> __DATE_DUE_YMD__ __AMOUNT__ -> __AMOUNT__ __AMOUNT_EXCL_TAX__ -> __AMOUNT_EXCL_TAX__ __AMOUNT_VAT__ -> __AMOUNT_VAT__ __AMOUNT_FORMATED__ -> __AMOUNT_FORMATED__ __AMOUNT_EXCL_TAX_FORMATED__ -> __AMOUNT_EXCL_TAX_FORMATED__ __AMOUNT_VAT_FORMATED__ -> __AMOUNT_VAT_FORMATED__ __DAY__ -> 18 __DAY_TEXT__ -> Monday __DAY_TEXT_SHORT__ -> Mo __DAY_TEXT_MIN__ -> M __MONTH__ -> 3 __MONTH_TEXT__ -> March __MONTH_TEXT_SHORT__ -> Mar __MONTH_TEXT_MIN__ -> M __YEAR__ -> 2019 __PREVIOUS_DAY__ -> 17 __PREVIOUS_MONTH__ -> 2 __PREVIOUS_YEAR__ -> 2018 __NEXT_DAY__ -> 19 __NEXT_MONTH__ -> 4 __NEXT_YEAR__ -> 2020 __ENTITY_ID__ -> 1 __DOL_MAIN_URL_ROOT__ -> http://localhostgit/dolibarr_dev/htdocs __(AnyTranslationKey)__ -> Translation __[AnyConstantKey]__ -> Value of constant
Pour etre sur d'avoir une liste à jour, vous pouvez cliquez sur le symbole "?" à coté du libellé "Contenu" lorsque vous créez ou modifiez votre modèle d'email.
Dolibarr <= 7
Lorsque l’on regarde les message prédéfinis on voit que la référence des pièces est remplacé par une variable __FACREF__, __ORDERREF__
Pour l’envoie des factures, si on veut le message suivant :
Messieurs,
Veuillez trouver ci-joint la facture 2011-090
Facture : 2011-090
Date : 27/07/2011
Montant : 85.00 €
Merci de bien vouloir effectuer le règlement par virement bancaire sur le compte dont les coordonnées bancaire figurent au bas de la facture.
Cordialement
Ordi 81
Ordi 81 – 16, rue Portal – 81600 Gaillac – France
Tel : 05.81.31.48.00 – 06.47.94.52.38 – Email : contact@ordi81.com
Web : www.ordi81.com
Alors, pour arriver à ce résultat de manière automatique, il faut ajouter les variables __FACDATE__ et __FACTOTALTTC__ Pour cela il nous faut modifier le fichier suivant :
/htdocs/compta/facture.php
faites une recherche de «__FACREF__» dans votre editeur et vous allez trouver la ligne suivante :
// Tableau des substitutions
$formmail->substit['__FACREF__']=$object->ref;
Pour ajouter les variables insérer les 2 lignes suivantes :
$formmail->substit['__FACDATE__']=date('d/m/Y',$object->date);
$formmail->substit['__FACTOTALTTC__']=number_format($object->total_ttc,2,',',' ');
Vous pouvez maintenant insérer la date et le montant TTC de la facture dans votre message automatique.
Si vous avez besoins d’autre variable pour rédiger votre message, allez faire un tour dans le fichier
htdocs/compta/facture/class/facture.class.php
Vous aurez la liste des variable que vous pourrez utiliser avec l’objet $object Par exemple pour la date limite de règlement vos trouverez dans ce fichier la ligne suivante : var $date_lim_reglement; Pour l’utiliser ajouter dans votre tableau des substitutions
$formmail->substit['__FACDATELIMREG__']=date('d/m/Y',$object->date_lim_reglement);