Passer au contenu principal

Comment créer un outil de suivi des heures de forfait et des livrables clients pour les agences dans Formaloo

Créez dans Formaloo un outil de suivi des heures de forfait et des livrables clients, avec une vue de consommation en temps réel, des alertes automatiques de seuil et des e-mails de statut pour les agences.

Ce que vous allez créer

Un portail dans lequel les clients d’une agence enregistrent de nouvelles demandes et voient, en temps réel, combien d’heures de leur forfait mensuel ont été consommées. En coulisses, un chargé de compte suit le plafond du forfait de chaque client et enregistre les heures au fil du travail, et Formaloo envoie des alertes automatiques au client et au chargé de compte à mesure que la consommation approche de la limite. Les clients disposent d’une vue en libre-service de leur propre compte au lieu de demander par e-mail « combien d’heures nous reste-t-il ? ».


Quand l’utiliser

  • Vous dirigez une agence fonctionnant au forfait et vos clients vous demandent sans cesse combien d’heures ils ont consommées ce mois-ci.

  • Vous souhaitez que les demandes soient enregistrées au même endroit plutôt que dispersées entre e-mails et Slack, avec un statut clair pour chaque demande.

  • Vous en avez assez de découvrir qu’un client a dépassé son forfait seulement au moment où la discussion sur la facture devient délicate.

  • Vous gérez plusieurs comptes clients et avez besoin d’une vue unique qui signale ceux qui approchent de leur limite avant que cela ne devienne un problème.

  • Vous souhaitez offrir aux clients de la transparence sur leur propre consommation sans leur donner accès au compte de quelqu’un d’autre.


Partie 1 — Créer le formulaire de compte de forfait client

Ce formulaire est exclusivement interne. Il n’y a ici aucune soumission côté client : c’est ainsi que vos chargés de compte configurent le forfait mensuel de chaque client et tiennent à jour le nombre d’heures consommées à mesure que le travail est enregistré. Tous les autres éléments de ce processus lisent cet enregistrement. Le moyen le plus rapide de le créer est d’utiliser le Form Creation Agent.

1. Ouvrez le Form Creation Agent : depuis votre page d’accueil Formaloo, cliquez sur Form Creation Agent.

2. Décrivez le formulaire de compte de forfait : collez cette instruction et cliquez sur Create : « Crée un formulaire interne permettant à une agence de configurer et de tenir à jour le forfait mensuel de chaque client. Inclus : le nom de l’entreprise cliente (texte court), la meilleure adresse e-mail pour joindre le client (e-mail), les heures du forfait mensuel (nombre), les heures consommées sur ce cycle (nombre), le statut du forfait sous forme de liste déroulante avec les options Active, Paused, Ended, un champ Assignee pour le chargé de compte responsable du compte et un champ de texte long pour les notes internes. »

3. Vérifiez les champs générés par le Form Creation Agent : votre formulaire devrait ressembler à ceci. Le Form Creation Agent en aura généré la plus grande partie. Vérifiez que chaque champ et chaque ID de champ correspondent exactement au tableau ci-dessous, car la variable de formule et la logique d’alerte de la partie 3 dépendent de ces ID.

Champ

L’ID du champ

Type

Quel est le nom de l’entreprise du client ?

client_name

Texte court

Quelle est la meilleure adresse e-mail pour joindre ce client ?

client_email

E-mail

Combien d’heures sont incluses dans son forfait mensuel ?

monthly_hours

Nombre

Combien d’heures ce client a-t-il consommées sur ce cycle ?

hours_used

Nombre

Quel est le statut du forfait ?

retainer_status

Liste déroulante (Active, Paused, Ended)

Quel chargé de compte est responsable de ce client ?

account_manager

Assignee

Notes internes

internal_notes

Texte long

💡 Vous voulez savoir exactement ce que permet le champ Assignee : attribuer à une personne, à une équipe ou à l’une ou l’autre ? Consultez Qu’est-ce que le champ Assignee dans Formaloo et comment l’utiliser.

4. Publiez le formulaire : cliquez sur Publish dans la barre flottante en haut de l’éditeur.


Partie 2 — Créer le formulaire de suivi des demandes

C’est le formulaire que les clients utilisent chaque fois qu’ils ont besoin de quelque chose de la part de l’agence. Tout le processus a été conçu autour de lui : chacun de ses champs aide l’équipe de compte à trier la demande ou alimente ensuite la vue de suivi du client.

1. Ouvrez le Form Creation Agent : depuis votre page d’accueil Formaloo, cliquez sur Form Creation Agent.

2. Décrivez le formulaire de demande : collez cette instruction et cliquez sur Create : « Crée un formulaire de demande client pour un portail d’agence. Champs publics : nom de l’entreprise ou du compte client (texte court), adresse e-mail (e-mail), ce pour quoi le client a besoin d’aide (texte court), une description détaillée (texte long), le type de livrable sous forme de liste déroulante avec les options Design, Development, Content, Strategy, Other, le degré d’urgence sous forme de liste déroulante avec les options Low, Normal, Urgent, la raison de l’urgence (texte long), la date à laquelle le client en a besoin (date) et un champ de téléversement pour les fichiers de référence. Ajoute également ces champs réservés aux administrateurs : statut sous forme de liste déroulante avec les options New, In progress, In review, Completed, Blocked, un champ Assignee, les heures enregistrées (nombre) et des notes internes (texte long). »

3. Vérifiez les champs générés par le Form Creation Agent : votre formulaire devrait ressembler à ceci. Le Form Creation Agent en aura généré la plus grande partie. Vérifiez que chaque champ et chaque ID de champ correspondent exactement aux tableaux ci-dessous.

Champs publics

Champ

L’ID du champ

Type

Quel est le nom de votre entreprise ou de votre compte ?

client_name

Texte court

Quelle est votre adresse e-mail ?

email

E-mail

Pour quoi avez-vous besoin d’aide ?

request_title

Texte court

Décrivez votre demande en détail

request_description

Texte long

De quel type de livrable s’agit-il ?

deliverable_type

Liste déroulante (Design, Development, Content, Strategy, Other)

Quel est le degré d’urgence ?

priority

Liste déroulante (Low, Normal, Urgent)

Pourquoi est-ce urgent ?

reason_for_urgency

Texte long

Pour quand en avez-vous besoin ?

needed_by

Date

Des fichiers de référence ?

reference_files

Téléversement de fichier

Champs réservés aux administrateurs

Champ

L’ID du champ

Type

Status

status

Liste déroulante (New, In progress, In review, Completed, Blocked)

Heures enregistrées

hours_logged

Nombre

Assignee

assignee

Assignee

Notes internes

internal_notes

Texte long

💡 Vous souhaitez que des champs internes, comme le statut ou les heures enregistrées, soient invisibles pour le client qui remplit le formulaire ? Consultez Que sont les champs réservés aux administrateurs et à quoi servent-ils.

4. Publiez le formulaire : cliquez sur Publish dans la barre flottante en haut de l’éditeur.


Partie 3 — Ajouter la formule de consommation et la logique d’alerte

Cette partie relie les deux formulaires. Une variable de formule sur le formulaire de compte de forfait transforme les heures brutes en pourcentage de consommation, et des règles de logique utilisent ce pourcentage pour décider quand afficher le champ d’urgence sur les demandes et quand envoyer les e-mails d’alerte de forfait.

1. Ouvrez Advanced logic sur le formulaire de compte de forfait : ouvrez le panneau des paramètres à droite de l’éditeur de formulaire et accédez à l’onglet Logic.

💡 Vous souhaitez afficher, masquer ou acheminer des champs en fonction des réponses données ? Consultez Qu’est-ce que la logique dans Formaloo.

2. Ouvrez le panneau Variables : repérez la section Variables et cliquez sur + Add.

3. Créez la variable de pourcentage de consommation : sélectionnez Formula, attribuez-lui l’ID usage_percent, intitulez-la « Usage percent » et définissez la formule sur hours_used/monthly_hours*100.

Remarque : les formules Formaloo ne prennent pas en charge les parenthèses. Celle-ci n’en a pas besoin, puisque la division s’effectue de toute façon avant la multiplication.

4. Ouvrez le Logic Agent sur le formulaire de suivi des demandes : ouvrez Advanced logic dans le panneau des paramètres à droite, accédez à l’onglet Logic et cliquez sur Logic Agent dans le coin supérieur droit.

5. Collez l’instruction relative à l’urgence : « Si 'How urgent is this?' est égal à Urgent, afficher 'Why is this urgent?'. Masquer 'Why is this urgent?' par défaut et le rendre obligatoire uniquement lorsqu’il est visible. » Cliquez sur Generate Rules, examinez l’aperçu et approuvez-le.

6. Enregistrez la logique : cliquez sur Save dans le coin supérieur droit.

7. Ajoutez les règles d’alerte de forfait sur le formulaire de compte : de retour dans l’onglet Logic du formulaire de compte de forfait, cliquez sur Logic Agent et collez : « Si Usage percent est supérieur ou égal à 80 et inférieur à 100, et que Retainer status est égal à Active, déclencher l’e-mail Approaching your retainer limit. Si Usage percent est supérieur ou égal à 100 et que Retainer status est égal à Active, déclencher l’e-mail Retainer limit reached. Si Retainer status est égal à Paused ou Ended, n’envoyer aucun des deux e-mails d’alerte, quelle que soit la valeur de Usage percent. » Cliquez sur Generate Rules, examinez chaque règle et approuvez-les.

8. Enregistrez la logique : cliquez sur Save dans le coin supérieur droit.

9. Ajoutez la logique de statut des demandes : dans l’onglet Logic du formulaire de suivi des demandes, cliquez sur Logic Agent et collez : « Lorsqu’un client soumet ce formulaire, déclencher l’e-mail Request received à l’expéditeur et la notification New request à l’équipe de compte. Si Status passe à Completed, déclencher l’e-mail Your request is complete à l’expéditeur. » Générez, examinez et approuvez les règles, puis cliquez sur Save.


Partie 4 — Créer les modèles d’e-mail

Cinq e-mails font fonctionner ce processus : deux se déclenchent depuis le formulaire de suivi des demandes, et trois depuis le formulaire de compte de forfait à mesure que la consommation augmente.

1. Ouvrez l’éditeur de modèles d’e-mail : cliquez sur l’icône de votre profil, accédez à Apps and integrations, repérez Custom email templates et cliquez sur Add new template.

💡 Vous souhaitez envoyer des e-mails personnalisés à votre image plutôt que l’e-mail par défaut de Formaloo ? Consultez comment créer et envoyer des modèles d’e-mail personnalisés.

2. Créez l’e-mail de réception de la demande : définissez l’objet sur « Nous avons bien reçu votre demande, @client_name », ouvrez AI Content et collez : « Rédige un e-mail de confirmation chaleureux et bref à un client qui vient de soumettre une nouvelle demande de travail à son agence. Confirme la réception et rappelle le titre de la demande (@request_title) et le type de livrable (@deliverable_type). Indique-lui que son chargé de compte reviendra vers lui avec un calendrier. Ton : professionnel mais chaleureux, pas institutionnel. 3 à 4 phrases maximum. Design : fond blanc, une seule colonne centrée d’une largeur maximale de 560px, police Inter ou system-ui, un badge clair indiquant le type de livrable près du haut, pied de page discret en #999. » Associez-le au déclencheur On Submit de la partie 3, adressé à @email.

3. Créez la notification de nouvelle demande : définissez l’objet sur « Nouvelle demande de @client_name : @request_title » et collez cette instruction IA : « Rédige une notification interne courte et factuelle informant un chargé de compte qu’une nouvelle demande client est arrivée. Indique le nom du client (@client_name), le titre de la demande (@request_title), le type de livrable (@deliverable_type), la priorité (@priority) et la date d’échéance (@needed_by). Termine en l’invitant à l’examiner et à l’attribuer. Concis, sans superflu, 3 phrases maximum. Design : fond blanc, une seule colonne d’une largeur maximale de 560px, police Inter, un petit tableau de données listant le client, la demande, la priorité et la date d’échéance, pied de page discret en #999. » Associez-la au même déclencheur On Submit, adressée à votre équipe de compte.

4. Créez l’e-mail d’approche de la limite : définissez l’objet sur « @client_name a atteint @usage_percent % de son forfait mensuel » et collez : « Rédige un avertissement clair et non alarmant au client et à son chargé de compte indiquant que les heures du forfait mensuel du client s’épuisent. Indique les heures consommées (@hours_used) sur le total du forfait (@monthly_hours) et le pourcentage consommé (@usage_percent). Suggère de prendre contact pour discuter de l’ajout d’heures ou de l’ajustement du périmètre. Ton : factuel, utile, non alarmiste. 4 à 5 phrases. Design : fond blanc, une seule colonne d’une largeur maximale de 560px, police Inter, un visuel de type barre de progression ou un badge de statut indiquant le pourcentage de consommation, pied de page discret en #999. » Associez-le à la règle des 80 % de la partie 3, adressé à @client_email et au chargé de compte.

5. Créez l’e-mail de limite atteinte : définissez l’objet sur « @client_name a consommé la totalité de son forfait mensuel » et collez : « Rédige un e-mail clair et professionnel au client et à son chargé de compte indiquant que le client a consommé toutes les heures de forfait allouées pour ce cycle (@hours_used sur @monthly_hours). Explique que tout travail supplémentaire sur ce cycle pourra être facturé séparément ou devra attendre le cycle suivant, et invite-les à échanger sur un ajustement du forfait. Ton : direct, sans être punitif. 4 à 5 phrases. Design : fond blanc, une seule colonne d’une largeur maximale de 560px, police Inter, un badge de statut ambre ou rouge indiquant 100 % consommé, pied de page discret en #999. » Associez-le à la règle des 100 % de la partie 3, adressé à @client_email et au chargé de compte.

6. Créez l’e-mail d’achèvement : définissez l’objet sur « Votre demande « @request_title » est terminée » et collez : « Rédige un e-mail d’achèvement court et gratifiant informant le client que sa demande (@request_title) a été traitée. Remercie-le et indique-lui qu’il peut enregistrer une nouvelle demande à tout moment. Ton : chaleureux, reconnaissant. 2 à 3 phrases. Design : fond blanc, une seule colonne d’une largeur maximale de 560px, police Inter, un badge de statut Completed vert, pied de page discret en #999. » Associez-le à la règle de statut Completed de la partie 3, adressé à @email.


Partie 5 — Créer le modèle PDF

Ce PDF est un récapitulatif de la consommation du forfait qu’un chargé de compte peut joindre à l’un ou l’autre des e-mails d’alerte, afin que les clients reçoivent un document chiffré, et pas seulement une ligne dans le corps d’un e-mail.

💡 Vous souhaitez que chaque réponse génère automatiquement un document soigné à votre image ? Consultez comment créer des modèles PDF pour transformer les réponses en documents.

1. Ouvrez l’éditeur de modèles PDF : cliquez sur l’icône de votre profil, accédez à Apps and integrations, cliquez sur Custom PDF template, puis sur Add new template.

2. Passez en mode HTML : dans l’éditeur de modèles, cliquez sur le bouton HTML / code.

3. Collez le code du PDF : supprimez le contenu existant et collez l’intégralité du code HTML ci-dessous. Les variables @client_name, @monthly_hours, @hours_used, @usage_percent, @retainer_status et @account_manager intègrent les données en direct de chaque enregistrement de compte de forfait.

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Retainer usage summary</title> <style>   @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');    * {     margin: 0;     padding: 0;     box-sizing: border-box;   }    body {     font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;     background: #ffffff;     color: #1a1a1a;   }    .page {     max-width: 760px;     margin: 0 auto;     padding: 60px 72px;   }    .header {     margin-bottom: 40px;     border-bottom: 1px solid #eee;     padding-bottom: 24px;   }    .header .doc-title {     font-size: 24px;     font-weight: 700;     letter-spacing: -0.01em;     margin-bottom: 8px;   }    .header .doc-meta {     font-size: 12px;     color: #999;   }    .doc-meta span {     margin-right: 16px;   }    .section {     margin-bottom: 36px;   }    .section-title {     font-size: 10px;     text-transform: uppercase;     letter-spacing: 0.08em;     color: #aaa;     font-weight: 600;     margin-bottom: 16px;   }    .field-grid {     display: grid;     grid-template-columns: 1fr 1fr;     gap: 0;   }    .field {     padding: 14px 0;     border-bottom: 1px solid #f0f0f0;   }    .field.full {     grid-column: 1 / -1;   }    .field-label {     font-size: 12px;     color: #999;     margin-bottom: 4px;   }    .field-value {     font-size: 15px;     color: #1a1a1a;     font-weight: 500;   }    .status-badge {     display: inline-block;     font-size: 12px;     font-weight: 600;     padding: 4px 12px;     border-radius: 100px;     background: #eef6f0;     color: #2f7a4d;   }    .usage-bar-wrap {     margin-top: 8px;   }    .usage-bar-track {     width: 100%;     height: 10px;     background: #f0f0f0;     border-radius: 100px;     overflow: hidden;   }    .usage-bar-fill {     height: 100%;     width: @usage_percent%;     background: #1a1a1a;     border-radius: 100px;   }    .usage-caption {     font-size: 12px;     color: #999;     margin-top: 8px;   }    .inset {     background: #f9f9f9;     border-left: 3px solid #ddd;     padding: 16px 20px;     font-size: 13px;     color: #555;     line-height: 1.6;   }    .footer {     margin-top: 48px;     padding-top: 20px;     border-top: 1px solid #eee;     display: flex;     justify-content: space-between;     font-size: 11px;     color: #aaa;   } </style> </head> <body>   <div class="page">      <div class="header">       <div class="doc-title">Retainer usage summary</div>       <div class="doc-meta">         <span>Account: @client_name</span>         <span>Account manager: @account_manager</span>         <span>Status: @retainer_status</span>       </div>     </div>      <div class="section">       <div class="section-title">Retainer overview</div>       <div class="field-grid">         <div class="field">           <div class="field-label">Monthly retainer hours</div>           <div class="field-value">@monthly_hours hrs</div>         </div>         <div class="field">           <div class="field-label">Hours used this cycle</div>           <div class="field-value">@hours_used hrs</div>         </div>         <div class="field">           <div class="field-label">Retainer status</div>           <div class="field-value"><span class="status-badge">@retainer_status</span></div>         </div>         <div class="field">           <div class="field-label">Account manager</div>           <div class="field-value">@account_manager</div>         </div>       </div>     </div>      <div class="section">       <div class="section-title">Usage this cycle</div>       <div class="field full">         <div class="usage-bar-wrap">           <div class="usage-bar-track">             <div class="usage-bar-fill"></div>           </div>           <div class="usage-caption">@usage_percent% of the monthly retainer used</div>         </div>       </div>     </div>      <div class="section">       <div class="section-title">Note</div>       <div class="inset">         This summary reflects hours logged as of the generation date above. Reach out to your account manager if you have questions about usage, scope, or adjusting your monthly retainer.       </div>     </div>      <div class="footer">       <span>Confidential, for the named account only</span>       <span>[Agency name]</span>     </div>    </div> </body> </html>

4. Enregistrez le modèle : cliquez sur Save dans le coin supérieur droit.

5. Associez-le aux e-mails d’alerte : ouvrez les modèles d’e-mail d’approche de la limite et de limite atteinte de la partie 4, activez Attach PDF et sélectionnez ce modèle pour les deux.


Partie 6 — Activer le portail

La dernière étape transforme votre projet en portail avec deux rôles : les clients, qui ne voient que leur propre compte, et l’équipe de compte, qui voit tout.

💡 Vous souhaitez offrir aux clients leur propre espace pour soumettre et suivre leurs demandes ? Consultez comment créer un portail et gérer l’accès des utilisateurs.

1. Activez le portail : depuis votre projet, cliquez sur l’icône Settings (engrenage) et sélectionnez Activate Portal, puis cliquez sur Manage User et ouvrez le Setup Wizard.

2. Configurez un annuaire d’utilisateurs : recherchez un annuaire d’utilisateurs existant ou ajoutez-en un nouveau. Chaque portail en a besoin pour gérer les utilisateurs inscrits. Cliquez sur Next step pour configurer les paramètres de connexion, d’inscription et de CAPTCHA, puis ajoutez le profil qui relie l’annuaire d’utilisateurs à vos deux formulaires.

3. Créez les deux rôles : accédez au User directory, cliquez sur Edit profile fields et faites défiler jusqu’au champ User roles. Ajoutez un rôle Client et un rôle Account team.

💡 Vous souhaitez que les évaluateurs, les clients et votre équipe voient chacun une vue différente du même portail ? Consultez comment créer et attribuer des rôles d’utilisateur dans votre portail.

4. Limitez les pages My requests et My retainer usage aux données de l’utilisateur : passez en Edit mode sur le bloc de données de chaque page et cliquez sur Options. Sous Manage access, sélectionnez le champ de profil du client dans la liste déroulante et activez Allow users to view only their data.

5. Limitez My assigned requests à la personne assignée connectée : passez en Edit mode sur le bloc de données de cette page, cliquez sur Options et, sous Manage access, sélectionnez le champ Assignee et activez Allow assignees to view only their data.

6. Masquez la page Client retainer accounts pour le rôle Client : passez en Edit mode, cliquez sur le menu à trois points à côté du nom de la page et sélectionnez Access. Définissez l’accès des utilisateurs externes sur Specific user roles, choisissez uniquement Account team, puis cliquez sur Save.

7. Publiez le portail : cliquez sur Publish dans la barre flottante en haut.

Remarque : vous pouvez définir un domaine personnalisé pour votre portail, disponible avec l’offre Business ou via le module complémentaire Brand removal.


Ce que vous obtenez

Les clients disposent d’un seul endroit pour enregistrer leurs demandes et d’une vue en direct du nombre exact d’heures de forfait consommées, au lieu d’interroger votre équipe par e-mail. Vos chargés de compte disposent d’un tableau de tri par statut, d’une file regroupant uniquement le travail qui leur est attribué et d’une liste proactive des comptes proches de leur limite, avant même l’arrivée de l’e-mail d’alerte. Grâce à la formule de pourcentage de consommation et à la logique d’alerte, personne n’a besoin de vérifier manuellement chaque compte chaque semaine, et le récapitulatif PDF fournit aux clients un document de référence s’ils remettent un jour le chiffre en question.


Et ensuite ?


Modèles prêts à l’emploi

  • Service cost estimator for agencies — permet aux clients d’estimer le coût d’un projet avant de réserver un appel. Associez-le à ce processus afin que l’estimation d’un client et la consommation de son forfait se trouvent dans le même portail.

  • Employee request workflow — achemine les demandes internes par type et suit les approbations depuis une seule vue. Le schéma statut et personne assignée est le même que celui utilisé par cet outil de suivi pour les demandes clients.

  • Subscription payment form — encaisse des paiements récurrents et les suit depuis une seule vue de dossier. Un complément naturel lorsque vous êtes prêt à facturer automatiquement les dépassements de forfait.


Découvrez d’autres tutoriels

Avez-vous trouvé la réponse à votre question ?