Personnaliser le message d'envoi de mail

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search


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);