Relance : Ajout des champs

Prev Next

Suite à quelques problèmes d'impayés, José demande à Linda d'automatiser la relance des créances clients. Il précise qu'il souhaite que les e-mails de relance soient automatiquement envoyés, aux bonnes dates et heures, aux bonnes personnes, et à propos des bonnes factures selon les critères métiers définis (exceptions, fréquence etc…).

Linda demande à nouveau à Vijay de l'aider pour cette configuration.

D'abord, ils vérifient les champs déjà présents dans Frisbii.

Champs disponibles dans le package

Voici ce qu'ils trouvent sur l'objet Facture :

  • Auto relance - Case à cocher : cochée par la classe apex planifiée MarkInvoiceForAutoReminder et sur laquelle les processus à créer s'appuient pour effectuer la relance automatique.

  • Date de dernière relance - Date : champ à remplir par le processus à créer par vos soins pour y noter la date de dernière relance effectuée. Ce champ peut également être utilisé pour stocker l'information lors d'une relance manuelle.

  • Échéance - Date : échéance maximale pour paiement de la facture.

  • Règlement attendu le - Date : date à laquelle le prochain paiement est attendu.

  • Niveau de relance - Liste de sélection : vous pouvez ajouter des niveaux si vous le souhaitez ou en utiliser moins :

  • R0 : Pas d'incident

  • R1 : 1er e-mail envoyé

  • R2 : 2ème e-mail envoyé

  • R3 : 3ème e-mail envoyé (dernière relance avant mise en demeure)

  • R4 : Mise en demeure

Ces champs sont seulement une base pour configurer la relance automatique.
Pour l'adapter aux besoins de l'entreprise la relance, certains champs sont à créer en plus.
Vijay et Linda en discutent avec le service Comptabilité pour définir les conditions de relance pertinentes pour Cloud Kicks.

Champs à créer pour la relance

Ce qui est important pour faire marcher la relance est la présence des champs et leurs liens.

IMPORTANT : Les formules et définitions de champs, les descriptions et texte d'aides sont à adapter à votre contexte / besoin métier. Pour chaque condition dans cet article, posez-vous la question : Est-elle pertinente pour mon entreprise ? Sinon adaptez-la ou enlevez-la.

Procédure

1. Allez dans Configuration > Gestionnaire d'objet > OBJET EN FONCTION DU CHAMP.
2. Cliquez sur Champs et relations.
3. Cliquez sur le bouton Nouveau.
4. Suivez l'assistant en renseignant les informations EN FONCTION DU CHAMP.

Pour plus de détail, veuillez lire ces articles Trailhead :

Champs de saisie

Voici la liste des champs de saisie à créer, pour plus d'informations cliquez sur les liens :

Champs formules

Ensuite, nous procédons à la configuration des champs formules.

Attention : Lors de la création des champs formules, vous pouvez recevoir ce type de message d'erreur : La formule compilée est trop volumineuse pour être exécutée (9 501 caractères). Taille maximale de 5 000 caractères (Champ associé : Formule)

Si vos formules sont très complexes ou référencent d'autres formules avec beaucoup de conditions, vous pouvez aussi utiliser des processus afin de contourner les limites de Salesforce.
Nous allons vous montrer des exemples dans le paragraphe suivant.

Voici la liste des champs formules à créer, pour plus d'informations cliquez sur les liens :

Remarque : Afin de ne pas rencontrer de problèmes lors de la sauvegarde des formules, veillez à bien :

(1) respecter l'ordre de la création,
(2) faire attention au nom du champ, remplacez des _ par des lettres (ex. Étiquette de champ : Intensité Relance > Nom du champ proposé par Salesforce : Intensit__Relance, remplacez le _ par un e sans accent)

Les champs en détail

Voici les exemples de formules et les informations pour configurer les champs.

Rappel : Les formules et définitions de champs, les descriptions et texte d'aides sont à adapter à votre contexte / besoin métier. Pour chaque condition dans cet article, posez vous la question : est-elle pertinente pour votre entreprise ? sinon adaptez-la ou retirez-la.

Ne pas relancer avant le

Nom du champ : Ne_pas_relancer_avant_le

Objet : Compte

Type de données : Date

  • Permet de consigner la date (incluse) jusqu’à laquelle aucune relance ne doit partir.

  • Pris en compte dans le différé de la relance.

Voici le résultat pour Cloud Kicks :

Intensité relance

Nom du champ : Intensite_Relance

Objet : Facture

Type de données : Liste de sélection

  • Permet de consigner l’intensité souhaitée de la relance afin de faire varier sa fréquence. On peut souhaiter qu'un client soit relancé plus vite qu'un autre, on choisira alors une intensité plus ou moins élevée.

  • Valeurs de la liste :

    • Neutre - I0 (par défaut)

    • Appuyé - I1

    • Insistant - I2

Voici le résultat pour Cloud Kicks :

Date règlement

Nom du champ : Date_reglement

Objet : Facture

Type de données : Formule (Date)

  • Permet de définir la date à laquelle un règlement est attendu.

  • Égal à Échéance ou Règlement attendu le si le champ n’est pas vide.

Basé sur les champs dates packagés :

  • Règlement attendu le

  • Echéance

Exemple de formule :
IF(ISBLANK(sofactoapp__R_glement_attendu_le__c), sofactoapp__Ech_ance__c, sofactoapp__R_glement_attendu_le__c)

Voici le résultat pour Cloud Kicks :

Ne pas relancer

Nom du champ : Ne_pas_relancer

Objet : Facture

Type de données : Formule (Case à cocher)

  • Permet d’indiquer de ne pas relancer si la date de non relance sur le Compte est inférieure à aujourd'hui.

  • Pris en compte dans les anomalies de la relance automatique.

  • S'appuie sur le champ date Ne pas relancer avant le créé avant sur le Compte.

Exemple de formule :
sofactoapp__Compte__r.Ne_pas_relancer_avant_le__c >= TODAY()

Voici le résultat pour Cloud Kicks :

Contact OK

Nom du champ : Contact_OK

Objet : Facture

Type de données : Formule (Case à cocher)

  • Permet d’indiquer si un contact avec une adresse e-mail est disponible sur la facture.

  • Pris en compte dans les anomalies de la relance automatique.

Attention : Vous avez peut-être déjà créé ce champ lors de la configuration précédente
Automatisation - Envoi des PDFs de facture par email.

Exemple de formule :
NOT(ISBLANK(sofactoapp__Contact__r.Email))

Voici le résultat pour Cloud Kicks :

PDF OK

Nom du champ : PDF_OK

Objet : Facture

Type de données : Formule (Case à cocher)

  • Si cette case est cochée, le PDF est prêt pour envoi.

  • Condition pour envoi de PDF : PDF existe, facture n'est pas un proforma, facture est émise.

Attention : Vous avez peut-être déjà créé ce champ lors de la configuration précédente :

Exemple de formule :
AND(NOT(ISBLANK(sofactoapp__PDF_reference__c)),
sofactoapp__PDF_reference__r.sofactoapp__Facture_Proforma__c = FALSE,
sofactoapp__PDF_reference__r.sofactoapp__Facture_brouillon__c = FALSE)

Voici le résultat pour Cloud Kicks :

Date de référence relance

Nom du champ : Date_de_reference_relance

Objet : Facture

Type de données : Formule (Date)

  • Permet de définir la date de référence pour la relance grâce au MAX entre Date de règlement et Date de dernière relance.

  • Permet de ne pas relancer si un règlement est attendu ou si une relance a été effectuée dernièrement.

Si il n'y a pas de date de dernière relance, la formule affiche la date d'échéance.

Exemple de formule :
IF(Date_reglement__c-sofactoapp__Date_derniere_relance__c<=0, sofactoapp__Date_derniere_relance__c, Date_reglement__c)

Voici le résultat pour Cloud Kicks :

Auto relance exception

Nom du champ : Auto_relance_exception

Objet : Facture

Type de données : Formule (Case à cocher)

  • Permet de définir les cas d’exception où la relance ne doit pas avoir lieu.

  • Si ce champ est égal à vrai, aucune relance automatique ne sera déclenchée.

Les cas d'exception de la formule proposée en exemple :

  • Facture à l'état "brouillon".

  • Solde inférieur ou égal à 0.

  • Facture du type avoir.

  • Relance au niveau R6.

  • Le mode de paiement est prélèvement.

Exemple de formule :
OR(sofactoapp__IsDraft__c,
sofactoapp__Solde_d__c <= 0,
sofactoapp__IsCreditNote__c,
ISPICKVAL(sofactoapp__Niveau_de_relance__c, "R6"), ISPICKVAL(sofactoapp__Payment_mode__c, "Prélèvement") )

Voici le résultat pour Cloud Kicks :

Auto relance exception (texte)

Nom du champ : Auto_relance_exception_texte

Objet : Facture

Type de données : Formule (Texte)

  • Permet de préciser à l'utilisateur le cas d'exception.

Exemple de formule :
IF(sofactoapp__IsCreditNote__c,
"Facture d'avoir",
IF( sofactoapp__IsDraft__c,
"Facture brouillon",
IF( sofactoapp__Solde_d__c <= 0,
"Facture soldée",
IF( ISPICKVAL(sofactoapp__Payment_mode__c, "Prélèvement"),
"Règlement par prélèvement",
IF( ISPICKVAL(sofactoapp__Payment_mode__c, "CB"),
"Règlement par CB",
IF( ISPICKVAL(sofactoapp__Niveau_de_relance__c, "R6"),
"Mise en demeure déjà envoyée",
"RAS" ))))))

Voici le résultat pour Cloud Kicks :

Auto relance anomalie

Nom du champ : Auto_relance_anomalie

Objet : Facture

Type de données : Formule (Case à cocher)

  • Permet de définir les cas d’anomalies devant être corrigés.

  • Si ce champ est égal à vrai, aucune relance automatique ne sera déclenchée.

Les anomalies définies dans la formule proposée :

  • Il n'y pas d'exception détectée ET

    • Il n'y a pas de contact ou il n'y a pas d'adresse e-mail.

    • Il n'y a pas d'intensité de relance définie.

    • Il n'y a pas de niveau de relance défini.

    • La case "Ne pas relancer" sur le compte est cochée.

    • Il n'y a pas de PDF, la facture est un proforma ou en brouillon.

    • Il n'y a pas de date de référence renseignée pour la relance.

Exemple de formule :
AND(Auto_relance_exception__c = FALSE,
OR(Contact_OK__c = FALSE,
ISPICKVAL(Intensite_relance__c,""),
ISPICKVAL(sofactoapp__Niveau_de_relance__c,""),
Ne_pas_relancer__c,
PDF_OK__c = FALSE,
ISBLANK(Date_de_reference_relance__c)
)
)

Voici le résultat pour Cloud Kicks :

Auto relance anomalie (texte)

Nom du champ : Auto_relance_anomalie_texte

Objet : Facture

Type de données : Formule (Texte)

  • Permet de préciser le cas d’anomalie devant être corrigé.

Exemple de formule :
IF(Auto_relance_exception__c, "RAS",
IF(Ne_pas_relancer__c,"Le compte est actuellement en : ne pas relancer",
IF(PDF_OK__c = FALSE,"Pas de PDF OK",
IF(Contact_OK__c = FALSE,"Pas de contact OK",
IF(ISBLANK(Date_de_reference_relance__c), "Pas de date de référence pour la relance",
IF(ISPICKVAL(Intensite_Relance__c,""),"Pas d'intensité de relance",
IF(ISPICKVAL(sofactoapp__Niveau_de_relance__c,""),"Pas de niveau de relance",
"RAS")
))))))

Voici le résultat pour Cloud Kicks :

Fréquence relance

Nom du champ : Frequence_relance

Objet : Facture

Type de données : Formule (numéro) - sans décimales

  • Permet de définir le nombre de jour à prendre en compte afin de déterminer la date de prochaine relance.

  • Dépend du niveau de relance et de l’intensité de la relance.

Calcul de la fréquence utilisant cette formule :

  • Si l'intensité = I1 (appuyé) et le niveau de relance "R3", 5, "R4", 4, "R5", 4, pour les autres niveaux : 7. Donc 7 jours avant la relance R1 et R2, puis 5 jours, puis 4 et encore 4.

  • Si l'intensité = I0 (neutre) et le niveau de relance "R2", 15, "R3", 10, "R4", 5, "R5", 5, pour les autres niveaux : 20. Donc 20 jours avant la relance R1, puis 15 jours, puis 10 jours et 5 jours pour les relances suivantes.

  • Si I2 (insistant), fréquence = 4. Relance tous les 4 jours.

Attention : Selon les conditions spécifiées dans les champs Auto relance exception et Auto relance anomalie, il n'est peut-être pas possible de prendre en compte les deux conditions dans ce champ formule Fréquence relance sans recevoir un message d'erreur.


Exemple de formule :
CASE(Intensite_relance__c, "I1",
CASE(sofactoapp__Niveau_de_relance__c,
"R3",5,"R4",4,"R5",4,7), "I0",
CASE(sofactoapp__Niveau_de_relance__c,
"R2",15,"R3",10,"R4",5,"R5",5,20), 4)

Voici le résultat pour Cloud Kicks :

Date de prochaine relance

Nom du champ : Date_de_prochaine_relance

Objet : Facture

Type de données : Formule (Date)

  • Permet de définir la date à laquelle la prochaine relance sera envoyée, grâce à Date de référence relance plus Fréquence relance.

  • Ne pas renseigner, si Auto relance anomalie/exception égal à vrai.

Attention : Dans Gestion des champs vides sélectionnez la valeur Traiter les champs vides comme tels afin de bien annuler la Date de prochaine relance si Fréquence relance est vide.

Exemple de formule :
Date_de_reference_relance__c
+Frequence_relance__c

Voici le résultat pour Cloud Kicks :

Auto relance condition

Nom du champ : Auto_relance_condition

Objet : Facture

Type de données : Formule (Case à cocher)

  • Permet de définir si la facture doit être relancée.

  • Égal à vrai si :

    • Date de prochaine relance est inférieure ou égale à aujourd’hui,

    • La facture n'est pas dans le cas d'une exception ou d'une anomalie,

    • La case Ne pas relancer n'est pas cochée.

Attention : Selon les conditions spécifiées dans les champs Auto relance exception et Auto relance anomalie, il n'est peut-être pas possible de prendre les deux conditions en compte dans ce champ formule Auto Relance Condition sans recevoir un message d'erreur.

Exemple de formule :
AND
(Date_de_prochaine_relance__c <= TODAY(),
Auto_relance_exception__c = FALSE,
Auto_relance_anomalie__c = FALSE,
Ne_pas_relancer__c = FALSE)

Voici le résultat pour Cloud Kicks :

Mettre à disposition les champs sur la présentation de page de la facture

Suite à la création des champs, nous allons modifier l'affichage de ces champs sur l'objet de la facture.

Procédure

  1. Allez dans Configuration > Gestionnaire d'objet.

  2. Cliquez sur l'objet Facture.

  3. Cliquez sur Présentation de page et choisissez une par une les présentations de page utilisées.

  4. Faites glisser tous les champs que nous venons de créer auparavant dans la section Relance.

  5. Cliquez sur Enregistrer.

Maintenant que les champs sont disponibles sur la facture, nous allons nous occuper des champs que nous n'avons pas pu sauvegarder auparavant.