# Affectation d'une référence client automatique pour les factures modèles ## Description du besoin CAP-REL propose des abonnements à différents services. Pour chaque abonnement un contrat est créé dans Dolibarr ainsi qu'une facture modèle. Chaque mois la facture modèle est utilisée pour générer automatiquement la facture du mois. Chaque client reçoit donc une facture chaque mois pour chaque contrat. Le problème se pose plus précisément pour les clients qui ont plusieurs contrats actifs : la liste des factures ne permet pas de savoir rapidement ce qu'il en est: [{{:projet_refclientautomatiquefacturemodele:pasted:20240326-235208.png?direct=400|Exemple de liste de factures}}] Alors que si nous utilisons le champ "référence client" la liste est tout de suite plus facile à lire: [{{:projet_refclientautomatiquefacturemodele:pasted:20240326-235502.png?direct=400|Liste avec référence client renseignée}}] Le top du top serait d'avoir en plus la période concernée par l'abonnement, par exemple "DoliSCAN Janv. 2024" ... ## Sur la facture client Du côté de la facture client c'est tout simplement le champ "Ref. Client" qui est renseigné ... c'est un champ standard de dolibarr [{{:projet_refclientautomatiquefacturemodele:pasted:20240327-090312.png?direct=400|Ref client sur facture client}}] ## Le module qui fait ça La mission est donc très simple: ajouter un champ étendu sur les factures récurrentes et ensuite appliquer le contenu de ce champ lorsqu'une facture est automatiquement générée ! [{{:projet_refclientautomatiquefacturemodele:pasted:20240326-235659.png?direct=400|Champ étendu pour renseigner la référence à appliquer ... et utilisation de variables de substitutions}}] De ce fait les factures générées bénéficient maintenant automatiquement d'une référence client ! [{{:projet_refclientautomatiquefacturemodele:pasted:20240326-235822.png?direct=400|Factures générées, vous pouvez voir que l'utilisation des variables de substitution n'a pas fonctionné du 1er coup}}] ## Variables de substitutions Les variables normales de dolibarr s'appliquent, en particulier : * `__INVOICE_PREVIOUS_MONTH__` * `__INVOICE_MONTH__` * `__INVOICE_NEXT_MONTH__` * `__INVOICE_PREVIOUS_MONTH_TEXT__` * `__INVOICE_MONTH_TEXT__` * `__INVOICE_NEXT_MONTH_TEXT__` * `__INVOICE_PREVIOUS_YEAR__` * `__INVOICE_YEAR__` * `__INVOICE_NEXT_YEAR__` * `__INVOICE_DATE_NEXT_INVOICE_BEFORE_GEN__` * `__INVOICE_DATE_NEXT_INVOICE_AFTER_GEN__` * `__INVOICE_PREVIOUS_DATE_NEXT_INVOICE_AFTER_GEN__` * `__INVOICE_COUNTER_CURRENT__` * `__INVOICE_COUNTER_MAX__`