Si vous suivez vos factures dans Google Sheets, Make.com peut consulter la feuille chaque matin et envoyer un court rappel depuis votre Gmail lorsqu'une facture est en retard. Ce guide détaille les modules, les filtres, la programmation et les erreurs courantes. Un modèle prêt à importer est présenté à la fin si vous préférez partir d'un scénario déjà préparé.
Les noms des modules, menus, colonnes et statuts restent en anglais pour correspondre à la configuration décrite.
Ce qu'il vous faut
- Un compte Make.com. Le forfait gratuit convient à ce scénario quotidien si votre volume d'envoi respecte ses limites. Lors de la publication de l'original, il comprenait 1 000 crédits par mois, deux scénarios actifs et un intervalle minimum de 15 minutes entre les exécutions programmées. Consultez les limites actuelles sur make.com/pricing. Pas encore de compte ? Créer un compte Make gratuit (lien affilié).
- Un compte Google avec Google Sheets et Gmail. Un compte Gmail personnel ou Google Workspace convient.
- Une liste contenant une ligne par facture.
Comment fonctionne l'automatisation
Un scénario s'exécute une fois par jour. Il lit la feuille, sélectionne les factures impayées dont la prochaine relance est due, enregistre la tentative dans la ligne, puis envoie le bon message depuis Gmail :
Programmation quotidienne → Google Sheets: Search Rows → filtre → Google Sheets: Update a Row → Router → Gmail: Send an Email
Les trois étapes correspondent à un rappel courtois, une relance plus ferme et un dernier rappel.
Étape 1 : préparer la feuille de factures
Créez la feuille directement dans Google Sheets, plutôt que de simplement importer un fichier .xlsx. Nommez l'onglet Invoices et utilisez ces en-têtes sur la première ligne :
| Colonne | En-tête | Contenu |
|---|---|---|
| A | Invoice number | Numéro de facture |
| B | Client name | Nom du client |
| C | Client email | Adresse e-mail du client |
| D | Amount | Montant numérique, par exemple 1250, sans symbole monétaire |
| E | Currency | Devise |
| F | Due date | Date d'échéance enregistrée comme une vraie date |
| G | Payment link | Lien de paiement, facultatif |
| H | Status | Statut du paiement |
| I | Reminders sent | Nombre de relances enregistrées ; saisir 0 au départ |
| J | Last sent at | Date de la dernière tentative d'envoi ; laisser vide au départ |
Le scénario mettra à jour I et J. Appliquez le même format à F et J via Format → Number → Custom date and time, selon le modèle YYYY-MM-DD. Dans le module Make qui lit la feuille, choisissez Formatted value pour Value render option afin que les formules reçoivent les dates sous cette forme affichée.
Créez une liste déroulante pour Status via Data → Data validation, avec Unpaid, Paid, Paused et Disputed : impayée, payée, en pause et contestée. Ne traduisez pas les valeurs enregistrées, car le filtre compare le texte exact. Une valeur comme unpaid, avec une espace finale, ne correspondrait pas.
Étape 2 : rechercher les factures impayées
Dans Make, créez un scénario et ajoutez Google Sheets → Search Rows. Connectez votre compte Google, choisissez le fichier et l'onglet Invoices, puis réglez Table contains headers sur Yes. Dans le filtre du module, configurez Status (H) Equal to Unpaid.
Search Rows renvoie un bundle pour chaque ligne correspondante, avec son numéro de ligne. Vous en aurez besoin à l'étape 4. Ce module de recherche peut être le premier du scénario programmé ; aucun module déclencheur distinct n'est nécessaire ici.
Renseignez explicitement Limit, par exemple 500, pour qu'une limite trop basse ne tronque pas les résultats. La recherche consomme un crédit par exécution, même si aucune relance n'est due ce jour-là.
Étape 3 : vérifier si une relance est due
Cliquez sur la liaison après Search Rows, puis sur Set up a filter. Ajoutez trois conditions reliées par AND :
- Moins de trois relances enregistrées : comparez
{{ifempty(1.`8`; 0)}}avec Numeric operators: Less than3. - La date de relance est atteinte : pour des relances 3, 7 et 14 jours après l'échéance, utilisez :
Comparez ce résultat à{{addDays(parseDate(1.`5`; "YYYY-MM-DD"); switch(trim(toString(ifempty(1.`8`; 0))); "0"; 3; "1"; 7; 14))}}{{now}}avec l'opérateur de date Earlier than. La partietrim(toString(…))permet de comparer le contenu de I sous forme de texte. Une valeur"1"ne risque donc pas de basculer vers l'option de 14 jours à cause d'une différence de type. - Aucune tentative aujourd'hui : comparez
Last sent at, soit1.`9`, à{{formatDate(now; "YYYY-MM-DD")}}avec Text operators: Not equal to.
Dans ces formules, 1.`5` désigne le module 1, colonne F ; les colonnes sont comptées à partir de 0. Sélectionnez les champs dans le panneau de correspondance plutôt que de saisir les références à la main. Si les dates arrivent dans un autre format, adaptez "YYYY-MM-DD". Les filtres et les routers ne consomment pas de crédits.
Étape 4 : enregistrer la relance avant l'envoi
Ajoutez Google Sheets → Update a Row. Utilisez le numéro de ligne fourni par Search Rows. Réglez Reminders sent (I) sur :
{{ifempty(1.`8`; 0) + 1}}
Réglez Last sent at (J) sur :
{{formatDate(now; "YYYY-MM-DD")}}
Pourquoi enregistrer avant d'envoyer ? Si Gmail envoie le message mais que la mise à jour échoue ensuite, la ligne semble toujours devoir être relancée à l'exécution suivante. Le client risque alors de recevoir un doublon. En enregistrant d'abord, le risque devient celui d'une relance inscrite mais non envoyée. Il faut donc rendre les échecs visibles et les examiner.
Ajoutez une colonne K nommée Send error. Faites un clic droit sur chaque module Gmail et choisissez Add error handler. Créez une route d'erreur qui écrit NOT sent dans K pour cette facture, sans remplacer le compteur ni la date. Terminez la route par Skip pour poursuivre avec les autres factures. Vous voyez ainsi quelle relance n'est pas partie et pouvez la renvoyer.
Étape 5 : sélectionner le message avec un router
Ajoutez Flow Control → Router avec trois routes. Filtrez chaque route sur la valeur initiale de Reminders sent issue de Search Rows, avant la mise à jour : 0 pour le rappel courtois, 1 pour la relance plus ferme et 2 pour le dernier rappel.
Sur chaque route, ajoutez Gmail → Send an Email. Associez Client email (C) au champ To. Insérez le numéro de facture, le montant et l'échéance dans l'objet et le corps du message.
Gardez un ton courtois. Par exemple : « Si vous avez déjà effectué le règlement, merci. Vous pouvez ignorer ce message. » Évitez les menaces et les conséquences inventées dans le dernier rappel. Si vous mentionnez des pénalités de retard, vérifiez qu'elles correspondent au contrat et aux règles applicables.
Pendant les tests, saisissez votre propre adresse dans To et ajoutez l'adresse prévue du client à l'objet. Vous pourrez ainsi identifier la ligne à l'origine du message. Rétablissez la correspondance avec l'adresse du client uniquement lors du passage aux envois réels.
Étape 6 : tester, puis programmer une exécution quotidienne
Laissez la programmation automatique désactivée. Ajoutez quelques factures fictives avec des adresses en @example.com et des échéances passées. Le champ To doit toujours contenir votre adresse. Cliquez sur Run once et vérifiez trois points : les bonnes lignes ont été traitées, I et J ont été mises à jour et une seconde exécution le même jour n'envoie plus de messages.
Ouvrez ensuite la programmation dans la barre du scénario, qui affiche par défaut Every 15 minutes. Choisissez Daily ou Weekdays (Mon-Fri) et une heure, par exemple 09:00. Le fuseau horaire de votre organisation Make s'applique. Enregistrez, puis activez le scénario.
Pour une exécution réussie, ce scénario de base consomme un crédit pour la recherche, puis deux par relance : mise à jour de la ligne et Gmail. Un enregistrement supplémentaire dans un autre onglet porte ce coût à trois par relance. Sur 30 jours, comptez environ 30 crédits plus 40 pour 20 relances, ou plus 60 avec ce journal. La gestion des erreurs et les nouvelles tentatives peuvent augmenter ce total. Une recherche toutes les 15 minutes consommerait à elle seule environ 2 880 crédits en 30 jours, au-delà des 1 000 crédits indiqués pour le forfait gratuit.
Erreurs fréquentes
- Les dates arrivent dans un autre format texte. La condition de date peut mal fonctionner ou provoquer une erreur. Après une exécution, ouvrez la bulle de sortie de
Search Rowspour voir la valeur reçue. - Gmail demande une nouvelle autorisation. Les connexions Gmail personnelles dans Make doivent être réautorisées environ tous les six mois. Consultez la documentation Gmail de Make. Les limites quotidiennes d'envoi de Gmail s'appliquent aussi.
- Le scénario ne sait pas qu'un client a payé. Vous devez mettre
Statusà jour. Ce flux ne consulte ni votre banque, ni votre prestataire de paiement, ni les réponses des clients.
Vous préférez un modèle prêt à importer ?
Notre modèle Polite Invoice Reminder, à 19 $ US, comprend un blueprint Make.com terminé et testé. Il ajoute :
- Un onglet
Settingspour les jours de relance, 3, 7 et 14 par défaut, le nom de l'expéditeur et les informations de paiement. - Le
Test modeactivé par défaut : tous les e-mails vous sont adressés et le client prévu apparaît dans l'objet. - Les statuts d'arrêt
Paid,Paused,DisputedetPartial, avec une séquence qui se termine après la dernière relance. - L'enregistrement avant envoi, le marquage
NOT sent, un contrôle des doublons du même jour et un ongletLog. - Des feuilles d'exemple et vierges, trois messages modifiables et un guide de neuf pages. Prévoyez environ 30 à 45 minutes pour la configuration.
Si votre logiciel de facturation envoie déjà des relances, utilisez cette fonction. Vous voulez seulement une liste quotidienne pour vous ? Le récapitulatif gratuit des factures en retard (en anglais) vous envoie l'e-mail sans contacter vos clients.