Automatiser sa facturation avec n8n : le guide complet
Imaginez : un client paie un abonnement Stripe → la facture se génère automatiquement dans Pennylane → un email de confirmation part chez le client → l'écriture comptable apparaît dans votre tableau Notion. Sans une seule action manuelle. C'est exactement ce qu'on va construire.
Pourquoi n8n plutôt que Zapier ou Make ?
Trois raisons concrètes :
- Open source et auto-hébergeable : vos données sensibles (clients, montants, factures) ne transitent pas chez un tiers américain.
- Tarif imbattable : gratuit en self-host, ou 20 €/mois en cloud, contre 100+ € pour Zapier dès qu'on dépasse les 2 000 actions.
- Plus puissant techniquement : nodes JavaScript / Python pour la logique custom, contrôle total des branches, gestion d'erreur native.
Le workflow type
Voici les 6 étapes pour automatiser un cycle de facturation complet :
- Trigger Stripe — un événement
invoice.paidoucheckout.session.completed. - Récupération des données client — appel API Stripe pour récupérer les détails (nom, email, adresse, TVA).
- Création de la facture dans Pennylane via leur API. Numéro de facture incrémenté automatiquement.
- Envoi du PDF par email — template personnalisé avec votre branding via SendGrid ou Resend.
- Création d'une ligne dans Notion — tableau de suivi avec date, client, montant, lien Stripe, lien Pennylane.
- Notification Slack — message dans #facturation pour vous tenir au courant.
Mise en place pas à pas
1. Installer n8n
Trois options :
- Cloud : créez un compte sur n8n.io, c'est l'option la plus rapide (5 minutes).
- Docker self-host :
docker run -p 5678:5678 n8nio/n8n, hébergez sur un VPS Hetzner à 5 €/mois. - Embarqué dans votre infra existante : pour les boîtes qui ont déjà du Kubernetes.
2. Configurer le webhook Stripe
Dans Stripe Dashboard → Developers → Webhooks → Add endpoint. Pointez vers votre URL n8n (visible dans le node Webhook). Sélectionnez l'événement invoice.paid.
3. Créer le node Pennylane
Pennylane n'a pas (encore) de node natif n8n, donc on utilise le node HTTP Request avec leur API REST. Authentification par API key dans les headers. Je peux fournir le snippet exact si besoin.
4. Tester en mode sandbox
Stripe propose un mode test ultra-pratique. Faites passer 3-4 paiements de test, vérifiez que tout remonte bien, puis basculez en production.
Les pièges classiques
- Les retries infinis en cas d'échec d'API. Toujours configurer un max de 3 tentatives avec backoff exponentiel.
- Les doublons de factures si Stripe envoie plusieurs webhooks. Utilisez l'ID Stripe comme idempotency key.
- Le formatage des montants : Stripe travaille en centimes, Pennylane en euros. Diviser par 100 systématiquement.
- La TVA : gérer les clients UE vs hors UE, l'auto-liquidation, les taux différents par pays.
Combien ça coûte vraiment ?
- n8n cloud : 20 €/mois — ou 0 € en self-host (+ 5 €/mois de VPS)
- Pennylane API : inclus dans l'abonnement Pennylane existant
- Stripe webhooks : gratuit
- SendGrid (envoi email) : gratuit jusqu'à 100 emails/jour, sinon 15 €/mois
- Mise en place initiale par un freelance : 1 500 à 3 000 €
Pour une boîte qui fait 50 factures/mois, l'automatisation amortit son coût en moins de 6 mois rien qu'en temps gagné.
Aller plus loin
Une fois le workflow de base en place, on peut ajouter :
- Relances automatiques pour les factures impayées (J+7, J+14, J+30)
- Génération de rapports mensuels CA → Slack ou email
- Synchronisation avec votre CRM (HubSpot, Folk, ou un CRM sur mesure)
- Alerte automatique en cas de remboursement ou litige