Automatiser le traitement des factures pour une PME suisse : de 8 heures par semaine à 45 minutes
La responsable finance avait un rituel qu'elle détestait. Chaque vendredi après-midi, elle fermait tout le reste et passait trois ou quatre heures à traiter des factures fournisseurs. Parfois ça débordait sur le lundi. Parfois une collègue venait aider. Ni l'une ni l'autre ne l'attendait avec impatience.
L'entreprise était une société de services professionnels de 40 personnes dans le canton de Vaud. Environ 200 factures fournisseurs par mois, de 80 prestataires différents, toutes en pièces jointes PDF, tous formats différents. Certaines étaient des PDF propres et structurés. D'autres des scans de factures papier. Certaines en français, d'autres en allemand, l'occasion une en anglais. Chacune devait être lue et saisie manuellement dans Abacus.
Entre 3 et 6 minutes par facture. Faites le calcul : 8 à 10 heures par semaine.
À quoi ressemblait vraiment le processus
Lors de l'appel de découverte on a déroulé chaque étape proprement. Elle ouvre l'email, trouve une facture, ouvre le PDF, le lit, tape le nom du fournisseur dans Abacus (cherche le compte fournisseur s'il n'est pas déjà enregistré), saisit la date, le montant hors TVA, le montant de TVA, le taux de TVA, les conditions de paiement, l'IBAN. Puis choisit un code de compte de mémoire ou depuis une feuille de référence, quel compte affecter à cette charge, IT, fournitures, honoraires, déplacements.
Sauvegarder. PDF suivant. Recommencer.
Les erreurs étaient rares mais douloureuses quand elles arrivaient. Un chiffre transposé. Un mauvais code de compte qui ne remontait qu'au bilan trimestriel. Un double paiement que personne n'avait vu avant que le fournisseur le signale. Pas de la négligence, juste ce qui arrive quand on fait la même chose en volume assez longtemps.
Le montage
Le workflow tourne dans n8n, auto-hébergé sur un VPS suisse. C'était une exigence non négociable : ces factures contiennent des détails contractuels fournisseurs, des montants de paiement, des IBAN. Au sens de la LPD/revDSG, ces données devaient rester en Suisse.
Voici le flux :
n8n surveille une boîte dédiée vers laquelle les factures sont transférées. Quand un PDF arrive, il télécharge la pièce jointe et l'envoie à l'API Claude avec un prompt d'extraction structuré qui demande : nom du fournisseur, numéro de facture, date de facture, date d'échéance, total hors TVA, montant de TVA, taux de TVA, devise, IBAN, et un code de compte suggéré à partir du plan comptable Abacus de l'entreprise.
Claude retourne un objet JSON. Le workflow le valide : les montants s'additionnent-ils, le format IBAN correspond-il à ce qu'on a vu de ce fournisseur avant, la date est-elle plausible.
Ensuite, et c'est ça qui a pris le plus de discussion pour atterrir correctement, ça ne pousse pas automatiquement dans Abacus. Ça envoie un message Slack à la responsable finance avec toutes les données extraites présentées lisiblement, plus un lien vers le PDF original. Elle vérifie. Tout est bon ? Elle clique Approuver. Quelque chose cloche ? Elle clique Modifier, corrige dans un formulaire simple, puis approuve.
Ce n'est qu'après son approbation que le workflow appelle l'API Abacus et crée la facture fournisseur.
Pourquoi on a gardé l'étape d'approbation
La question évidente : si l'extraction est suffisamment précise, pourquoi ne pas sauter la vérification et pousser directement dans Abacus ?
Deux raisons.
La précision de Claude sur des PDF bien formatés dépasse régulièrement 97% dans nos tests. Mais sur des scans de factures papier ou des formats inhabituels, elle baisse. 97% sur 200 factures par mois représente quand même environ 6 factures avec des erreurs. En comptabilité ça s'accumule.
Et les exigences d'audit en Suisse impliquent que la responsable finance doit avoir examiné et approuvé chaque facture avant qu'elle entre dans les livres. Supprimer cette étape aurait changé la posture de conformité de tout le processus, pas seulement accéléré les choses.
L'approbation Slack prend environ 15 secondes par facture quand tout est correct. Pour les 5% qui nécessitent une correction, 2 à 3 minutes. C'est encore une fraction de ce que prenait l'ancienne méthode.
Les cas qui ont posé problème
Trois types de factures ont causé le plus de tracas pendant les tests.
Les avoirs en premier. Certains fournisseurs les envoient dans le même format qu'une facture normale mais avec des montants négatifs. L'extraction gérait correctement les chiffres, mais le workflow les traitait initialement comme des factures ordinaires. On a ajouté une étape de classification qui repère les avoirs et les route dans un flux séparé avec un indicateur visuel clair.
La multidevise ensuite. Quelques fournisseurs européens facturent en EUR, un éditeur américain en USD. Abacus gère ça, mais l'extraction devait détecter la devise de façon fiable et la mapper vers le bon compte. Fonctionnait bien quand la devise était clairement étiquetée, nécessitait une instruction explicite dans le prompt pour les factures montrant à la fois le montant en devise étrangère et l'équivalent en CHF.
Les fournisseurs inconnus en troisième. De temps en temps un nouveau prestataire apparaît dont le compte n'existe pas encore dans Abacus. Le workflow le détecte, le nom extrait ne correspond à rien dans la liste connue, et envoie un message Slack séparé signalant qu'un nouveau compte fournisseur doit être créé manuellement d'abord. Ça arrive environ deux fois par mois.
Trois mois après
La responsable finance traite maintenant les factures le mardi matin en environ 45 minutes. Approbations Slack, cas particuliers traités, terminé.
Ses mots : "Avant je redoutais les vendredis après-midi. Maintenant je fais les factures avec mon café le mardi et ça va."
Le taux d'erreur dans Abacus est quasi-zéro. Aucun double paiement depuis la mise en production. Le contrôle des codes comptables trimestriel, qui remontait habituellement 10 à 15 entrées mal codées, en a trouvé deux au dernier bilan, toutes les deux de la période avant automatisation.
Économie de temps totale sur les deux personnes qui partageaient auparavant la charge : environ 28 heures par mois.
Le traitement des factures est l'un des gains d'automatisation les plus prévisibles pour les PME suisses. Volume élevé, faible variance, coûteux en manuel. L'extraction IA gère maintenant la variété réelle des factures de façon fiable, et garder une étape d'approbation humaine signifie que l'équipe finance reste en contrôle sans que ça devienne tout leur vendredi.
