Créer un contrôleur de gestion automatisé avec n8n

Automatisez le traitement de vos factures fournisseurs en temps réel

Guide Technique
Par Victor
12 min de lecture

Chaque mois, votre équipe comptable passe des heures à traiter les factures fournisseurs : ouvrir les emails, télécharger les PDF, extraire les montants, les saisir dans votre ERP ou tableur.

Et si ce processus était entièrement automatisé ? Dans ce guide, nous allons construire un "contrôleur de gestion automatique" avec n8n qui traite vos factures en temps réel, 24/7.

Ce que nous allons construire

À la fin de ce tutoriel, vous aurez un workflow n8n qui :

  • Surveille une boîte email ([email protected]) en temps réel
  • Détecte les factures dans les pièces jointes (PDF, images)
  • Extrait automatiquement les données clés : fournisseur, montant HT, TVA, date, numéro de facture
  • Classe et archive les factures dans Google Drive ou votre stockage
  • Alimente un tableau de suivi (Google Sheets, Airtable, ou votre ERP)
  • Alerte votre équipe pour les factures qui nécessitent une validation manuelle

Prérequis

  • • Une instance n8n (cloud ou self-hosted)
  • • Un compte email dédié aux factures (Gmail, Outlook, ou IMAP)
  • • Un compte Google (pour Drive et Sheets) ou équivalent
  • • Optionnel : Une clé API OpenAI ou Claude pour l'extraction IA

Besoin d'aide pour implémenter ce workflow ?

Nous pouvons déployer ce système chez vous en moins de 2 semaines, adapté à vos outils.

Demander un devis →

Architecture du workflow

Voici le schéma du workflow complet :

┌─────────────┐    ┌──────────────┐    ┌─────────────────┐
│   Email     │───▶│  Filtrage    │───▶│   Extraction    │
│  (Trigger)  │    │  Factures    │    │   Pièces Jointes│
└─────────────┘    └──────────────┘    └─────────────────┘
                                              │
                                              ▼
┌─────────────┐    ┌──────────────┐    ┌─────────────────┐
│   Alerte    │◀───│  Validation  │◀───│   OCR / IA      │
│   Slack     │    │  Données     │    │   Extraction    │
└─────────────┘    └──────────────┘    └─────────────────┘
                          │
                          ▼
              ┌──────────────────────┐
              │   Stockage & Export  │
              │  (Drive + Sheets)    │
              └──────────────────────┘
    

Étape 1 : Configurer le trigger email

Commencez par créer un nouveau workflow dans n8n et ajoutez un nœud Email Trigger (IMAP) ou Gmail Trigger selon votre fournisseur.

Configuration Gmail

Paramètres du nœud Gmail Trigger :

  • Poll Times : Every 5 minutes (ou webhook pour temps réel)
  • Filters : has:attachment filename:pdf
  • Options : Download Attachments = true

Astuce Pro : Créez une adresse email dédiée (facturation@...) et demandez à vos fournisseurs d'y envoyer leurs factures. Cela simplifie le filtrage.

Étape 2 : Filtrer les emails contenant des factures

Tous les emails avec PDF ne sont pas des factures. Ajoutez un nœud IF pour filtrer :

// Condition du nœud IF
{{ $json.subject.toLowerCase().includes('facture')
   || $json.subject.toLowerCase().includes('invoice')
   || $json.from.email.includes('comptabilite')
   || $json.from.email.includes('billing') }}
    

Cette condition laisse passer les emails dont le sujet contient "facture" ou "invoice", ou provenant d'adresses comptabilité.

Étape 3 : Extraire les données avec l'IA

C'est la partie magique. Nous allons utiliser l'IA (GPT-4 ou Claude) pour extraire les informations structurées de la facture.

Option A : Extraction via OpenAI Vision

Si vos factures sont des images ou des PDF scannés, utilisez GPT-4 Vision :

// Nœud OpenAI - Paramètres
Model: gpt-4-vision-preview
Message:
"Analyse cette facture et extrais les informations suivantes en JSON :
- nom_fournisseur
- numero_facture
- date_facture (format YYYY-MM-DD)
- montant_ht
- tva
- montant_ttc
- devise

Réponds UNIQUEMENT avec le JSON, sans commentaire."
    

Option B : Extraction via Claude (Anthropic)

Claude est excellent pour l'extraction structurée. Utilisez le nœud HTTP Request :

// HTTP Request vers Claude API
POST https://api.anthropic.com/v1/messages
Headers:
  x-api-key: YOUR_API_KEY
  anthropic-version: 2023-06-01

Body:
{
  "model": "claude-3-5-sonnet-20241022",
  "max_tokens": 1024,
  "messages": [{
    "role": "user",
    "content": [
      {"type": "image", "source": {"type": "base64", "data": "{{$binary.data}}"}},
      {"type": "text", "text": "Extrais les données de cette facture en JSON..."}
    ]
  }]
}
    

Étape 4 : Valider et nettoyer les données

L'IA peut parfois se tromper. Ajoutez un nœud Code pour valider :

// Nœud Code - Validation des données extraites
const data = $input.first().json;

// Parse le JSON de l'IA
let facture;
try {
  facture = JSON.parse(data.content);
} catch (e) {
  return { error: "JSON invalide", raw: data.content };
}

// Validation
const isValid =
  facture.montant_ttc > 0 &&
  facture.date_facture.match(/\d{4}-\d{2}-\d{2}/) &&
  facture.nom_fournisseur.length > 2;

return {
  ...facture,
  validation_status: isValid ? "OK" : "REVIEW_NEEDED",
  processed_at: new Date().toISOString()
};
    

Étape 5 : Archiver dans Google Drive

Créez une structure de dossiers organisée par année/mois/fournisseur :

Structure de dossiers :

Factures/
├── 2026/
│   ├── 01-Janvier/
│   │   ├── Amazon/
│   │   ├── OVH/
│   │   └── ...
│   ├── 02-Février/
│   └── ...
└── A_VALIDER/
    

Utilisez le nœud Google Drive avec ces paramètres :

// Nœud Google Drive - Upload
Operation: Upload
File Name: {{ $json.numero_facture }}_{{ $json.nom_fournisseur }}.pdf
Parent Folder:
  {{ $json.validation_status === "OK"
     ? "Factures/" + $now.format('YYYY') + "/" + $now.format('MM-MMMM') + "/" + $json.nom_fournisseur
     : "Factures/A_VALIDER" }}
    

Étape 6 : Alimenter le tableau de suivi

Ajoutez chaque facture dans Google Sheets ou Airtable pour le suivi :

Colonnes du tableau :

ADate réception
BFournisseur
CN° Facture
DDate facture
EMontant HT
FTVA
GMontant TTC
HStatut
ILien Drive

Étape 7 : Alerter pour validation manuelle

Pour les factures qui nécessitent une vérification, envoyez une alerte Slack ou email :

// Nœud Slack - Message d'alerte
Channel: #comptabilite
Message:
"⚠️ Nouvelle facture à valider

Fournisseur: {{ $json.nom_fournisseur }}
Montant: {{ $json.montant_ttc }} {{ $json.devise }}
Date: {{ $json.date_facture }}

👉 Voir dans Drive: {{ $json.drive_link }}

Répondre avec ✅ pour valider ou ❌ pour rejeter."
    

Résultats attendus

-95%

Temps de traitement des factures

24/7

Traitement continu, même la nuit

0

Factures perdues ou oubliées

Pour aller plus loin

Ce workflow de base peut être étendu avec :

  • Intégration ERP : Envoi automatique vers Sage, Odoo, ou Pennylane
  • Détection de doublons : Vérification si la facture existe déjà
  • Rapprochement bancaire : Lien avec les transactions bancaires
  • Reporting automatique : Dashboard mensuel des dépenses par fournisseur
  • Approbation workflow : Circuit de validation multi-niveaux

Conclusion

Avec n8n et l'IA, vous pouvez transformer la gestion des factures fournisseurs d'une corvée manuelle en un processus entièrement automatisé. Le "contrôleur de gestion automatique" ne dort jamais, ne fait pas d'erreurs de saisie, et vous alerte uniquement quand c'est nécessaire.

C'est ça, l'automatisation intelligente au service des PME.

Vous voulez ce workflow chez vous ?

Nous déployons des automatisations n8n sur mesure pour les PME. Discutons de votre cas.