flowspag / tutoriels / automatiser-facturation-toggl-stripe-make
№ 006 10 min · débutant

Toggl Stripe : automatise ta facturation freelance en fin de mois avec Make

Automatise ta facturation au temps passé en 5 modules : Make récupère tes heures Toggl, calcule le montant, crée la facture Stripe automatiquement. Setup 35 min, zéro code.

maketogglstripe

TL;DR

  • 5 modules Make : Toggl Report → Aggregator → Set Variables → List Customers → Create Invoice
  • Toggl calcule déjà le montant facturable — pas besoin de multiplier heures × taux manuellement
  • Le filtre Make natif fait le matching client Toggl ↔ client Stripe
  • Setup réel testé : 35 minutes, zéro ligne de code

On arrive à la fin de mois. Tu ouvres Toggl, tu exportes tes heures, tu calcules, tu crées la facture Stripe à la main. Encore. Ce workflow fait ça à ta place. Setup : 35 minutes.

Make se connecte à Toggl via son module “Get a Detailed Report”, récupère toutes tes heures du mois, les regroupe par client, identifie les clients correspondants dans Stripe et crée les factures automatiquement. Toi, tu ne touches à rien.

Essaie Make gratuitement →


Le problème : facturation manuelle = temps et argent perdus

Marie gère 3 clients au temps passé. Chaque fin de mois, c’est le même rituel :

  1. Ouvrir Toggl, filtrer par client, exporter les entrées
  2. Coller dans un tableur, sommer les heures par projet
  3. Multiplier par le taux horaire, vérifier le calcul
  4. Ouvrir Stripe, créer la facture à la main, renseigner la description
  5. Envoyer, attendre la confirmation, recommencer pour le client suivant

Durée réelle : 45 minutes par client. Sur 3 clients, ça fait 2h15 perdues chaque mois. Sur 12 mois, c’est 27 heures de travail non facturé. Du temps qu’elle aurait pû passer à bosser sur d’autres sujets ou le consacrer à ses loisirs/sa famille.

À 60€/h, ça représente 1 620€ de temps perdu par an — juste pour faire des factures.

La facturation manuelle, c’est aussi des oublis d’entrées Toggl non exportées, des erreurs de calcul sur des mois chargés, et des factures envoyées avec 5 jours de retard quand tu es débordé.


Ce qu’on va construire : 5 modules

Le scenario Make se déclenche automatiquement le 1er de chaque mois à 8h. Il enchaîne 5 modules :

Logique du workflow :

  1. Toggl > Get a Detailed Report — récupère toutes les heures facturables du mois précédent
  2. Array Aggregator — regroupe les entrées par client Toggl et cumule les montants
  3. Set Variables — formate le nom du client et calcule le total facturable
  4. Stripe > List Customers — charge tous tes clients Stripe (+ filtre Make pour matcher le bon client)
  5. Stripe > Create Invoice — crée la facture en brouillon avec description et échéance

Nombre de crédits Make consommés par exécution : ~5 crédits par client. Pour 3 clients, ça fait 15 crédits/mois — largement dans le plan gratuit (1 000 crédits/mois).


Prérequis avant de commencer

Toggl Track configuré :

⚠️
Client Toggl vs Projet Toggl — ne pas confondre

Ce workflow groupe par le champ Client dans Toggl, pas par le nom du projet. Si tu n’as pas assigné de client à tes projets dans Toggl, toutes tes entrées seront regroupées sous null et tu n’auras qu’un seul groupe. Va dans Projects > [Projet] > Edit et assigne un client à chaque projet.

Stripe configuré :

Make configuré :


Module 1 : Toggl > Get a Detailed Report

01
Configurer le déclencheur mensuel

Le scenario utilise le Scheduling natif de Make, pas un module Scheduler séparé.

Dans les paramètres du scenario (Scenario settings > Scheduling), configure :

  • Type : Monthly
  • Day : 1 (premier du mois)
  • Time : 08:00
  • Timezone : Europe/Paris

Le scenario se déclenche automatiquement le 1er de chaque mois à 8h.

Configuration du scheduler du workflow Toggl Track pour récupérer les entrées du mois dernier sur Make.com

02
Configurer le module Toggl Get a Detailed Report

Ajoute le module Toggl Track > Get a Detailed Report comme premier module du scenario.

Configure les champs suivants :

ChampValeur
ConnectionTon compte Toggl Track
Workspace IDSélectionne ton workspace
Since{{addMonths(now; -1)}}
Until{{addHours(now; -8)}}
BillableYes
Distinct RatesOn
RoundingOff

La formule Until: {{addHours(now; -8)}} est la clé : le workflow tourne à 8h le 1er du mois, donc on soustrait 8h pour capturer toutes les entrées jusqu’à minuit la veille.

Configuration du module Toggl Track pour récupérer les entrées du mois dernier sur Make.com

Ce module renvoie toutes les entrées facturables du mois précédent, avec pour chaque entrée : le client, le projet, et le montant facturable déjà calculé par Toggl (heures × taux horaire configuré dans le projet). Tu n’as pas besoin de faire ce calcul toi-même.


Module 2 : Array Aggregator

03
Regrouper les entrées par client Toggl

Ajoute le module Flow Control > Array Aggregator directement après le module Toggl (sans Iterator intermédiaire).

Configure :

  • Source Module : Toggl Track - Get a Detailed Report [1]
  • Target structure type : Custom
  • Group by : {{1.client}} (le champ Client renvoyé par Toggl)
  • Dans la section de mapping, ajoute trois champs :
ChampValeur
client{{1.client}}
project{{1.project}}
billable{{1.billable}}

Capture de l'Array Aggregator dans Make avec Group by = 1.client et les 3 champs mappés sur Make.com

En sortie, tu obtiens un bundle par client. En gros, chaque bundle contient un tableau array avec toutes les entrées de ce client, et __IMTKEY__ correspond au nom du client (ou null pour tes projets sans client assigné).


Module 3 — Set Variables

04
Calculer le nom du client et le total facturable

Ajoute le module Tools > Set Variables après l’Aggregator.

Configure Variable lifetime sur One cycle, puis crée deux variables :

Variables Make — client_name et total_billable
Variable 1 :
Name  → client_name
Value → {{ifempty(4.`__IMTKEY__`; "No name")}}

Variable 2 :
Name  → total_billable
Value → {{sum(map(4.array; "billable"))}}

client_name récupère le nom du client depuis __IMTKEY__ (la clé de groupement de l’Aggregator). Si le client est null (projet sans client assigné dans Toggl), il renvoie "No name".

total_billable additionne tous les montants facturables du tableau — Toggl ayant déjà calculé heures × taux, tu obtiens directement le montant en euros.

Capture du module Set Variables dans Make avec les deux variables configurées sur Make.com

ℹ️
Toggl calcule déjà le montant pour toi

Contrairement à ce qu’on voit dans d’autres tutos, il n’y a pas besoin de multiplier total_heures × taux_horaire dans Make. Le module “Get a Detailed Report” de Toggl renvoie directement le champ billable en euros (ou dans ta devise), à condition que le taux horaire soit configuré dans chaque projet Toggl. sum(map(array; "billable")) suffit.


Module 4 : Stripe > List Customers + filtre

05
Charger tous les clients Stripe

Ajoute le module Stripe > List Customers.

Configure :

  • Connection : ton compte Stripe
  • Limit : 1000 (pour charger tous tes clients en une fois)
  • Laisse tous les autres champs vides

Ce module renvoie la liste complète de tes clients Stripe. La correspondance avec le client Toggl se fait à l’étape suivante via un filtre Make.

06
Ajouter le filtre 'Get right customer'

Entre le module Stripe List Customers et le module Create Invoice, ajoute un filtre Make natif (clic sur l’icône clé entre les deux modules).

Configure le filtre :

  • Label : Get right customer
  • Condition : {{11.client_name}} Contains (case insensitive) {{6.name}}

Capture du filtre Make entre List Customers et Create Invoice sur Make.com

Ce filtre fait passer uniquement les clients Stripe dont le nom est contenu dans le client_name Toggl, sans distinction majuscules/minuscules. Si tu as “Client A” dans Toggl et “Client A” dans Stripe, ça match. Si tu as “Client A & Co” dans Toggl et “Client A Comp” dans Stripe, ça match aussi.

⚠️
Logique d'exécution à comprendre

Le module List Customers renvoie N bundles (un par client Stripe). Le filtre les évalue un par un et laisse passer seulement celui qui correspond au client_name Toggl courant. Le module Create Invoice est donc appelé une fois par client Toggl, avec le bon client Stripe.


Module 5 : Stripe > Create Invoice

07
Créer la facture Stripe en brouillon

Ajoute le module Stripe > Create Invoice.

Configure :

ChampValeur
ConnectionTon compte Stripe
Customer ID{{6.id}} — l’ID du client Stripe filtré
Auto AdvanceOff (false) — la facture reste en brouillon
Collection MethodSend Invoice
Days Until Due10
DescriptionPrestations {{formatDate(addMonths(now; -1); "MMMM YYYY")}} — {{11.client_name}}

Capture du module Create Invoice dans Make avec tous les champs configurés

Avec Auto Advance: Off, la facture est créée en brouillon dans Stripe. Elle n’est pas encore envoyée au client, tu peux la vérifier dans le Dashboard Stripe avant de l’envoyer manuellement, ou ajouter un module “Send Invoice” après pour l’envoi automatique. Je te conseil de toujours garder une vérification humaine, prendre un peu de temps pourra te permettre d’éviter d’envoyer une facture erronée et surtout éviter d’ébranler la confiance de ton client.

La description générée ressemble à : Prestations avril 2026 — Client.

08
Créer et Ajouter un Invoice Item

Ajoute le module Stripe > Create Invoice Item.

Configure :

ChampValeur
ConnectionTon compte Stripe
Customer ID{{6.id}} l’ID du client Stripe filtré
Input an AmountBy a total amount
Amount{{11.total_billable * 100}} le montant de la variable définie plus tôt
Currencyeur
DescriptionPrestations {{formatDate(addMonths(now; -1); "MMMM YYYY")}} — {{11.client_name}}
Invoice ID{{20.id}} ajoute l’invoice ID du module précédent

Capture du module Create Invoice Item dans Make avec tous les champs configurés

Avec Auto Advance: Off, la facture est créée en brouillon dans Stripe. Elle n’est pas encore envoyée au client, tu peux la vérifier dans le Dashboard Stripe avant de l’envoyer manuellement, ou ajouter un module “Send Invoice” après pour l’envoi automatique. Je te conseil de toujours garder une vérification humaine, prendre un peu de temps pourra te permettre d’éviter d’envoyer une facture erronée et surtout éviter d’ébranler la confiance de ton client.

La description générée ressemble à : Prestations avril 2026 — Client.


Variantes et personnalisation

Envoyer la facture automatiquement

Ajoute un module Stripe > Send Invoice à la fin du scenario :

Stripe finalise la facture (elle devient immuable) et envoie un email avec le PDF et un lien de paiement. Si tu préfères garder le contrôle, laisse en draft et envoie manuellement depuis le Dashboard.

Ajouter la TVA

Dans le Dashboard Stripe, crée un Tax Rate (Products > Tax rates > Add, 20%, FR). Dans le module Create Invoice, ajoute le champ Default Tax Rates avec l’ID du taux. Stripe calcule et affiche la TVA automatiquement.

Changer l’échéance

Days Until Due: 10 dans le scenario actuel. Change à 30 pour des conditions de paiement à 30 jours. Tu peux aussi renseigner une Due Date fixe à la place.

Plusieurs projets par client

Le workflow gère déjà ce cas : l’Aggregator groupe par client Toggl (pas par projet). Si un client a 3 projets, tous sont agrégés dans le même bundle et le total_billable est la somme des 3. La facture Stripe aura une seule ligne avec le total consolidé.

Pour avoir une ligne par projet sur la facture, crée un Invoice Item par entrée du tableau 4.array[] en itérant dessus avant la création de la facture.

ℹ️
Coût Make réel pour ce workflow

Le plan gratuit Make inclut 1 000 crédits/mois et 2 scénarios actifs. Ce workflow consomme environ 5 crédits par client (avec la correction Invoice Item : ~6 crédits). Pour 3 clients, ça fait 18 crédits/mois — largement dans les limites gratuites. Au-delà de ~166 clients/mois, passe au plan Core (~10€/mois, 10 000 crédits).


37 minutes de setup. Le mois suivant, les factures Toggl → Stripe se créent toutes seules le 1er du mois à 8h, pendant que tu prends ton café.

27 heures par an récupérées. 1 620€ de temps facturables récupérés. Pour 10€/mois de Make Core.

La question qui reste : est-ce que tu veux aussi automatiser les relances client quand la facture n’est pas payée à 10 jours ? C’est le workflow suivant — système de relance automatique sans CRM →.

Lance ton essai Make gratuit et construis ton premier scenario →

Dans la même veine

Tutos connexes.

La newsletter

Un workflow utile
chaque semaine.

Pas de spam. Pas de théorie. Un workflow testé, une explication claire, un template à copier.

№ 048 · Sort dans 3 jours
Automatise ton onboarding client
avec Make + Notion + Brevo
Désabonnement en 1 clic. Aucune pub. Aucun sponsor.