Factures PDF vers Excel : un tableau vérifié
Vous avez un dossier de factures PDF. Chaque fournisseur a sa mise en page, ses propres libellés et sa façon d’écrire les dates et les montants. Il vous faut un seul tableau : numéro de facture, date, fournisseur, HT, TVA, TTC. Et il faut pouvoir s’y fier.
Recopier à la main fonctionne pour cinq factures. À cinquante, les erreurs arrivent : une virgule prise pour un séparateur de milliers, une date inversée, un total qui n’a jamais été juste.
Trois façons de faire
| Méthode | Pour qui | Attention |
|---|---|---|
| Excel « Données → Obtenir des données → À partir d’un fichier → À partir d’un PDF » (Excel pour Microsoft 365 sous Windows) | quelques factures avec des tableaux propres | chaque mise en page demande ses propres étapes ; rien ne vérifie les totaux |
| Un convertisseur en ligne | un fichier ponctuel | où vos factures sont envoyées et conservées ; le résultat reste à vérifier |
| Un petit script | beaucoup de factures, plusieurs fournisseurs, chaque mois | il faut le régler une fois pour vos mises en page |
Si vous recevez quelques factures par mois d’un seul fournisseur, Excel suffit. Dès qu’il y a plusieurs fournisseurs et que cela revient chaque mois, un script devient rentable : vous fixez les règles une fois et vous relancez.
À quoi ressemble un bon résultat
Une ligne par PDF, les mêmes colonnes pour tous les fournisseurs, des dates au même format (2026-09-03), des montants en nombres simples (1240.00), et une colonne de plus : à vérifier.
C’est la plus importante. Un bon processus ne devine pas. Si une facture n’a pas de numéro, ou si HT plus TVA ne donne pas le TTC, la ligne reste telle qu’imprimée et elle est signalée. Une personne décide.
Comment fonctionne l’approche par script
- Lire le texte de chaque PDF. Les factures produites par un logiciel de comptabilité contiennent du vrai texte, qu’une bibliothèque comme
pypdfsait lire. - Trouver chaque champ par ses libellés. Le même champ a plusieurs noms :
Invoice No:,Facture n°,Rechnungsnummer;Subtotal,Total HT,Nettobetrag. On garde une courte liste de libellés par champ. - Normaliser les nombres et les dates.
1,240.00,1 240,00 €et180,00 EURsont tous des montants ;14/09/2026et22.09.2026sont deux dates. Convenez de l’ordre jour/mois avant de commencer. - Vérifier le calcul. HT plus TVA doit donner le TTC, au centime près.
- Signaler, ne pas corriger. Numéro manquant, date illisible, total qui ne tombe pas juste — la ligne va dans la liste à vérifier.
Une version minimale des étapes 1 et 4 :
from pypdf import PdfReader
def pdf_text(path):
return "\n".join(page.extract_text() or "" for page in PdfReader(path).pages)
def totals_ok(net, vat, total):
return round(net + vat, 2) == round(total, 2)
Ce que nous avons vu sur un jeu de test
Nous avons construit une petite démo sur six factures inventées de trois fournisseurs, avec des libellés en anglais, en français et en allemand. Deux contenaient des problèmes volontaires : un total qui ne correspondait pas aux lignes, une facture sans numéro. Le script a produit un seul tableau avec quatre lignes propres et a signalé exactement ces deux-là.
C’est un test sur des données inventées, pas une promesse sur vos factures. Les vrais dossiers réservent leurs surprises — c’est pour ça que la colonne « à vérifier » existe.
Les pièges classiques des factures PDF vers Excel
- Virgule ou point décimal.
1.240,00et1,240.00sont le même montant ;1,240peut être l’un ou l’autre. Fixez la règle par fournisseur. - Jour et mois.
03/04/2026, c’est le 3 avril en France et le 4 mars aux États-Unis. Convenez de l’ordre avant de lancer quoi que ce soit. - Plusieurs taux de TVA sur une facture. Une seule colonne HT et une seule colonne TVA ne suffisent pas ; gardez une ligne par taux, ou un total avec une note.
- Les avoirs. Ils doivent sortir en montants négatifs, pas comme une deuxième facture qui double vos dépenses.
- La devise. Si un fournisseur facture dans une autre devise, gardez la colonne devise et convertissez ensuite, jamais en silence.
Une vérification de cinq minutes avant de faire confiance au tableau
- Le nombre de lignes est égal au nombre de PDF.
- La somme de la colonne TTC correspond à ce que montrent votre comptabilité ou votre banque sur la même période.
- Aucun numéro de facture n’apparaît deux fois.
- Ouvrez trois factures au hasard et comparez-les avec leurs lignes.
- Chaque ligne de la liste « à vérifier » a une décision : corrigée à la main, ou confirmée telle quelle.
Les limites à connaître
- Les scans sont des images. Il faut d’abord reconnaître le texte (OCR), et vérifier les chiffres reconnus.
- Les nouvelles mises en page demandent d’ajouter leurs libellés. C’est en général rapide, mais quelqu’un doit le faire.
- Les formats de nombres inhabituels (trois chiffres après la virgule, par exemple) se conviennent, ils ne se devinent pas.
Le faire vous-même ou le confier
Si Python ne vous fait pas peur, les étapes ci-dessus suffisent pour démarrer. La démo sur des factures inventées est visible sur notre page de réalisations. Si vous préférez envoyer un dossier et recevoir un tableau vérifié avec la liste de ce qui demande votre regard, c’est notre service Des documents aux données. Quand les fichiers sont confidentiels, le traitement peut rester sur votre ordinateur ou le nôtre, dans l’UE — voir l’IA privée sans cloud.
Questions
Peut-on lire de la même façon des factures scannées ?
Pas directement. Un scan est une image du papier : il faut d’abord reconnaître le texte (OCR). Ensuite les mêmes règles s’appliquent, mais chaque chiffre reconnu mérite une vérification.
Que se passe-t-il si une facture n’a pas de numéro ou si les totaux ne correspondent pas ?
On ne corrige rien en silence. La ligne reste telle qu’imprimée et elle est signalée pour qu’une personne décide.
Mes factures quittent-elles mon ordinateur ?
Avec un script, non : il tourne là où sont vos fichiers. Avec un convertisseur en ligne, vérifiez où les fichiers sont envoyés et conservés — les factures contiennent des données clients.