Suite à la génération automatique des factures, Linda veut mettre en place un processus pour les émettre automatiquement. Vijay lui explique comment le configurer.
Au préalable, Linda a pris la peine de relire ce module trailhead :
Maintenant ils se penchent sur la configuration de la suite de l'automatisation.
Les conditions de déclenchement sur la Facture
La gestion de l'émission automatique se base sur ces trois champs :
Auto émission
Auto émission condition
Auto émission exception
Attention : Les formules présentes dans ce tableau sont données à titre indicatif et doivent être personnalisées selon vos besoins métier. Si vous n'avez pas besoin de définir des exceptions ou des conditions, vous pouvez simplifier le processus.
Auto émission | |
Auto émission condition
| AND(Auto_emission_exception__c = FALSE, sofactoapp__IsDraft__c, sofactoapp__Date_de_facture__c <= TODAY()) |
Auto émission exception Ce champ formule case à cocher permet de définir les cas d’exceptions dans lesquels l’émission ne doit pas avoir lieu. La condition de notre exemple :
Veillez à bien adapter ces conditions à vos besoins métier. | (ISBLANK(sofactoapp__Offre__c)) |
Mettre en place les champs nécessaires pour l'automatisation
La case à cocher Auto émission existe déjà dans l'objet, Linda configure donc juste les champs formules Auto émission condition et Auto émission exception.
Vu que la case Auto émission exception est vérifiée dans la formule du champ Auto émission condition, il faut commencer la configuration avec la création du champ Auto émission exception.
Nous vous conseillons cet article trailhead :
Pour personnaliser les champ de formules : Use Basic Logic in Checkbox Formulas.
Procédure
1. Allez dans Configuration > Gestionnaire d'objet > Facture.
2. Cliquez sur Champs et relations.
3. Cliquez sur le bouton Nouveau.
4. Dans l'Étape 1, choisissez le type de données Formule.
5. Dans l'Étape 2, choisissez le type de sortie Case à cocher et renseignez Auto émission exception.
6. Dans l'Étape 3, basculez sur Formule avancée et composez une formule adaptée à votre besoin.
7. Vérifiez la syntaxe.
8. Donnez une description et un texte d'aide parlant.
9. Dans l'Étape 4, gérez la sécurité de ce champ en cochant les cases concernant les profils, selon la politique de votre entreprise.
10. Décochez la case pour ajouter le champ automatiquement sur la présentation de page, afin de mieux placer manuellement les champs créés par la suite.
Répétez cette procédure pour le champ Auto émission condition.
Attention : Afin de débugger facilement le processus, si jamais une facture n'est pas traitée car elle est en exception, facilitez la vie des utilisateurs - et finalement votre travail - en mettant les conditions/ exceptions dans un langage "non technique" dans le texte d'aide de ces champs.
L'utilisateur comprend ainsi pourquoi la facture n'est pas traitée et il pourra éventuellement modifier les valeurs pour qu'elle ne soit pas en exception.
Voici les résultats de Linda :
Champ de contrôle dans le panneau d’Administration
Au lieu de créer un processus dans le générateur des processus, nous allons sélectionner la condition dans le panneau d'administration.
Procédure
1. Allez dans le lanceur d'application et tapezAdministration dans la recherche.
2. Allez dans l'onglet Automatisations
3. Choisissez Auto émission condition comme Champ de contrôle pour auto-émission des factures.
5. Enregistrez en cliquant sur le bouton Valider.
Planifier la classe Apex
Si vous voulez que le processus de génération des factures soit lancé à une certaine heure, il faut passer par une Classe Apex planifiée.
Voici la procédure de Salesforce pour la Planification de tâches Apex.
Procédure
1. Allez dans Configuration > Code personnalisé > Classes Apex.
2. Cliquez sur le bouton Planifier Apex.
3. Renseignez un Nom de tâche.
4. Renseignez la Classe Apex MarkInvoiceForAutoIssue.
5. Configurez la Fréquence et le Début ainsi que l'Heure de début souhaitée.
Remarque : Si vous avez déjà créé une tâche planifiée pour la génération des factures, faites attention à ce que le processus pour émettre les factures tourne plus tard (Heure de début) que ce processus de génération de facture.
6. Pour la date de Fin, veuillez saisir une date lointaine dans le futur afin d'éviter que le processus ne s'arrête trop tôt.
7. Cliquez ensuite sur le bouton Enregistrer.
Remarque : La tâche planifiée est ensuite visible dans Configuration > Environnements > Tâches > Tâches prévues.
Pour la modifier, il faut la supprimer et planifier à nouveau.
Test de l'automatisation
Suite à la configuration, n'oublions pas de tester notre processus.
Préparation
D'abord, assurez-vous que vous avez une facture à votre disposition qui remplit les critères.
Par exemple, dans le cas de Cloud Kicks :
L'État de la facture est brouillon.
La case Date de facture est inférieure ou égale à la date d'aujourd'hui.
Renseignez le délai de paiement (champ obligatoire à l'émission !).
et que vous avez bien ajouté le champ Auto émission condition dans votre présentation de page.
Procédure
1. Allez dans la Developer Console.
2. Dans le menu Debug > Open Execute Anonymous Window.
3. Dans la fenêtre Enter Apex Code,collez cette expression :
sofactoapp.MarkInvoiceForAutoIssue
autoissue = new sofactoapp.MarkInvoiceForAutoIssue();
Autoissue.execute(null);
4. Cliquez le bouton Execute pour lancer le script.
Le test est-il réussi ?
Le test est réussi si :
Votre facture est émise,
La case auto émission est cochée.
Ce n'est pas le cas ?
Voici des pistes :
Sur toutes les factures de test, la date de facture est-elle la même ? Il est possible qu'une date soit dans le futur par rapport aux dates de facture des autres factures. Vous pouvez cocher la case Régulariser les problèmes de chronologie sur la Raison sociale pour éviter ce problème. Lors de l'émission, la date de la facture deviendra la date de la dernière facture émise.
Vérifiez vos e-mails, car les administrateurs reçoivent des messages d'erreur du processus par e-mail.
Les conditions de vos champs :
Auto émission condition
Auto émission exception
Sur votre facture de test :
La case Auto émission condition est-elle cochée ?
Non ? > Comparez la facture avec les conditions définies auparavant.
La case Auto émission exception est-elle cochée ?
Oui ? > Faites en sorte que votre facture ne rentre plus dans les cas d'exception définis auparavant ou créez une nouvelle facture de test pour laquelle cette case ne sera pas cochée.
Vous avez bien mis la condition dans le panneau d'Administration ?
Revérifiez la procédure.
Autres pistes si vos tests ne sont pas concluants :
La case Afficher Remise n'est pas cochée sur une ou plusieurs factures.
Le Mode de paiement ou le Délai de paiement n'ont pas été renseignés sur une ou plusieurs factures.
Une autre information obligatoire manque sur une ou plusieurs factures.
Un ou plusieurs abonnements qui sont liés à une ou plusieurs factures n'ont pas été activés.
Astuce : Pour éviter les problèmes de chronologie de Date de facture vous pouvez cocher la case Régulariser les problèmes de chronologie. Les factures contenant une date de facture antérieure à la dernière date de facture émise seront datés à la date d'aujourd'hui.
Important : L'option Régulariser les problèmes de chronologie ne règle pas le problème des factures émises dans le futur. Si une facture porte une date de facture ultérieure à la date d'aujourd'hui, la date ne sera pas modifiée. Pour éviter cela vous pouvez activer la règle de validation Emission_impossible_dans_le_futur sur l'objet Facture.