Chaque mois, les factures fournisseurs arrivent par e-mail, en pièce jointe PDF. Quelqu'un les ouvre une par une et recopie le fournisseur, le montant et la date d'échéance dans un tableur ou un logiciel de gestion. Ce tutoriel montre comment automatiser ce travail, tout en gardant une vérification humaine.
Ce que fait l'automatisation
Le circuit que nous allons construire :
- surveille une boîte mail dédiée aux factures ;
- récupère les pièces jointes PDF ;
- en extrait le texte ;
- demande à un modèle d'IA d'identifier les informations utiles, dans un format structuré ;
- vérifie ces informations avec des règles simples ;
- les ajoute à un tableau, avec un statut « à vérifier » ;
- signale les cas douteux à une personne.
Nous utilisons ici n8n, un outil d'automatisation qui peut être installé sur vos propres serveurs. Le même principe s'applique avec d'autres outils, ou dans un développement sur mesure.
Prérequis
- Une adresse e-mail dédiée aux factures (par exemple factures@votre-domaine), accessible en IMAP.
- Une instance n8n, hébergée ou installée sur un serveur.
- Un accès à une API d'IA, ou un modèle local si les factures ne doivent pas quitter vos serveurs.
- Un tableau de destination : Google Sheets, un fichier partagé ou directement votre logiciel de gestion s'il dispose d'une API.
Les étapes de construction
- Déclencher le circuit à l'arrivée d'un e-mail. Le nœud de déclenchement « Email Trigger (IMAP) » surveille la boîte dédiée et récupère les pièces jointes. Filtrez pour ne garder que les fichiers PDF.
- Extraire le texte du PDF. Le nœud « Extract from File » lit le texte d'un PDF généré par un logiciel. Pour les factures scannées, il faut ajouter une étape de reconnaissance de caractères (OCR).
- Demander à l'IA d'extraire les champs utiles. Envoyez le texte au modèle avec une consigne précise et un format de réponse imposé (voir ci-dessous).
- Contrôler le résultat avec des règles simples. Le montant est-il un nombre positif ? La date d'échéance est-elle postérieure à la date de facture ? Le fournisseur est-il connu ?
- Écrire la ligne dans le tableau, avec le nom du fichier d'origine et un statut : « à vérifier » si un contrôle échoue, « prêt » sinon.
- Prévenir quelqu'un en cas de doute, par e-mail ou sur votre messagerie interne, avec le lien vers la facture.
La consigne envoyée au modèle d'IA
La qualité du résultat dépend beaucoup de la consigne. Elle doit être courte, précise et imposer un format de réponse vérifiable :
Tu reçois le texte d'une facture fournisseur.
Réponds uniquement avec un objet JSON contenant :
- fournisseur : nom de l'entreprise émettrice
- numero_facture
- date_facture : au format AAAA-MM-JJ
- date_echeance : au format AAAA-MM-JJ, ou null si absente
- montant_ttc : nombre, sans symbole monétaire
- devise : code à trois lettres (TND, EUR…)
Si une information est absente ou illisible, mets null.
N'invente jamais une valeur.
La réponse attendue ressemble à ceci :
{
"fournisseur": "Société Exemple SARL",
"numero_facture": "F-2026-0142",
"date_facture": "2026-10-02",
"date_echeance": "2026-11-01",
"montant_ttc": 1250.4,
"devise": "TND"
}
La consigne « mets null si l'information est absente » est essentielle. Sans elle, le modèle a tendance à deviner une valeur plausible, ce qui est pire qu'une case vide.
Garder un contrôle humain
L'automatisation ne doit pas supprimer la vérification, mais la rendre plus rapide. Au lieu d'ouvrir chaque facture et de tout recopier, la personne en charge parcourt le tableau, contrôle les lignes « à vérifier » et valide les autres d'un coup d'œil.
Au début, vérifiez toutes les lignes. Au bout de quelques semaines, vous saurez quels fournisseurs ou quels formats posent problème, et vous pourrez alléger le contrôle sur les cas fiables.
Limites et points de vigilance
| Situation | Conséquence | Parade |
|---|---|---|
| Facture scannée de mauvaise qualité | Texte mal reconnu | OCR de meilleure qualité, ou traitement manuel |
| Plusieurs factures dans un même PDF | Informations mélangées | Découper le PDF, ou signaler le cas |
| Nouveau format de facture | Extraction incomplète | Contrôles automatiques et statut « à vérifier » |
| Données confidentielles | Envoi à un service externe | Modèle local ou service aux garanties adaptées |
Une automatisation tombe parfois en panne silencieusement : mot de passe modifié, quota atteint, format inattendu. Prévoyez une alerte en cas d'erreur et un contrôle régulier. Nous détaillons ces précautions dans Automatiser sans casser : 7 règles pour des automatisations fiables.
Pour aller plus loin
Une fois le circuit stabilisé, plusieurs améliorations sont possibles : rapprocher automatiquement les factures des bons de commande, créer directement les écritures dans votre logiciel comptable, ou programmer des rappels avant les échéances. Chaque étape doit rester simple à surveiller.
- L'automatisation récupère, lit et range les factures ; l'IA se limite à extraire les informations du texte.
- Une consigne précise, avec un format JSON imposé et l'interdiction d'inventer, fait toute la différence.
- Des contrôles simples et un statut « à vérifier » gardent l'humain dans la boucle.
- Pour des factures confidentielles, choisissez l'outil d'IA en conséquence.