Passer au contenu principal
Retour aux articles

Peut-on convertir un relevé bancaire avec ChatGPT ? Ce qui marche, ce qui casse

Convertir un relevé bancaire avec ChatGPT vers Excel : ce qui fonctionne, les 7 cas qui cassent sur un relevé français et le test de contrôle en 10 minutes.

Gagnez 10h par mois sur votre saisie

Rejoignez les comptables qui automatisent leur extraction

Essayer gratuitement

Oui, ChatGPT peut convertir un relevé bancaire PDF en tableau Excel, mais dans un cas précis seulement : un PDF natif non scanné, court, à colonnes nettes, et à condition de vérifier la sortie ligne à ligne. Hors offre Enterprise, ChatGPT n’exploite dans un PDF que le texte numérique du fichier et écarte les images : un relevé scanné, dont le tableau n’est qu’une image de page, ne lui offre rien à lire — et l’échec est silencieux, sous forme de lignes plausibles plutôt que de refus. Sur un relevé français s’ajoutent quatre pièges : virgule décimale, dates JJ/MM, libellés tronqués et lignes de solde mêlées aux opérations. Le seul verdict qui vaille est arithmétique : total des crédits moins total des débits doit égaler solde de clôture moins solde d’ouverture, au centime.

Relevé bancaire français analysé par ChatGPT pour conversion en Excel

Ce que ChatGPT fait réellement d’un relevé bancaire PDF (couche texte vs vision/OCR)

Face à un PDF, ChatGPT extrait le texte numérique du fichier et écarte les images : la documentation d’OpenAI distingue la récupération de texte, disponible sur toutes les offres, du Visual Retrieval réservé à ChatGPT Enterprise.

Un relevé téléchargé depuis l’espace en ligne de votre banque est un PDF natif : il contient des chaînes de caractères associées à des coordonnées. Un relevé scanné ou photographié est une image de page, où le texte est un dessin — aucune couche texte à extraire, et c’est précisément tout ce que ChatGPT sait lire dans un PDF hors Enterprise.

Un PDF ne contient pas de tableau, et c’est le second obstacle, moins connu que le premier. Même natif, un PDF ne stocke ni lignes ni colonnes, seulement des fragments de texte positionnés ; reconstituer une ligne d’opération à partir de ces fragments est une inférence, jamais une lecture. Claude et Gemini n’ont pas la même architecture : Anthropic et Google documentent pour leurs API un pipeline où chaque page est convertie en image et traitée par la vision du modèle.

Chaîne de traitementCe qui est réellement lu dans le PDFRésultat sur un relevé scanné (image de page)
ChatGPT hors Enterprise (offre de base, Plus, Pro)le texte numérique du fichier, images du document écartéesaucune donnée à extraire : la page n’expose que des pixels
ChatGPT Enterprisele texte numérique, plus le Visual Retrieval qui analyse le contenu visuelle scan est analysé, mais chaque chiffre reste une interprétation, sans score de confiance
API Claude (Anthropic)chaque page convertie en image, texte du PDF fourni en parallèlele scan est lu, avec la confusion classique des petits chiffres serrés (3 contre 8, 1 contre 7)
API Gemini (Google)chaque page traitée nativement comme une imagele scan est lu page par page, sans indicateur de fiabilité par montant

La vraie limite n’est pourtant ni le format ni la taille : c’est la fenêtre de contexte. OpenAI plafonne chaque fichier à 512 Mo et chaque document à 2 millions de tokens, mais ce ne sont pas ces plafonds qui décident : la fenêtre de contexte, elle, change d’une offre à l’autre et OpenAI la révise régulièrement — vérifiez celle en vigueur sur la vôtre. Un relevé de 60 pages peut donc être accepté à l’upload sans être vu en entier.

Le cas où ça fonctionne : relevé court, PDF natif, colonnes nettes

ChatGPT convertit correctement un relevé bancaire en tableau Excel quand quatre conditions sont réunies simultanément.

  1. PDF natif. Si la sélection à la souris accroche le texte, il y a une couche texte ; si le curseur dessine un rectangle, le document est scanné et la conversion s’arrête là.
  2. Document court. Deux à trois pages : on reste loin du plafond d’entrée et de la dégradation sur contexte long.
  3. Colonnes nettes. Une ligne visuelle égale une opération, sans libellé débordant ni récapitulatif de frais intercalé.
  4. Période et compte uniques. Les documents multi-comptes multiplient les en-têtes et les soldes, donc les faux positifs.

ChatGPT sait calculer, et cette nuance est utile : pour certaines tâches d’analyse, il écrit et exécute du code Python dans un environnement de type notebook. Le calcul devient fiable puisqu’il est réellement exécuté, et le code produit reste à relire avant de s’y fier ; ce qui demeure fragile, c’est la lecture des chiffres en amont, et un total juste sur des lignes fausses reste un total faux.

Trois consignes améliorent la sortie sans rien garantir : le format ISO 8601 pour les dates, un signe explicite sur les montants plutôt que deux colonnes, et l’annonce du nombre de lignes extraites — ce qui transforme une erreur silencieuse en erreur visible.

Sept façons dont l’extraction casse sur un relevé français

L’extraction d’un relevé bancaire français par un assistant conversationnel échoue selon sept schémas récurrents, dont la moitié tient aux conventions françaises.

SymptômeCe que vous obtenezCause
PDF scanné ou photographiétableau vide, refus, ou lignes plausibles mais faussespas de couche texte ; hors Enterprise, ChatGPT ne lit que le texte numérique
Relevé de plusieurs dizaines de pageslignes manquantes au milieu, sans avertissementle document dépasse ce que le modèle voit, et les performances chutent en milieu de contexte
Montant à virgule décimale1 234,56 restitué en 123456, 1.23456 ou 1,23des paramètres régionaux anglo-saxons attendent le point : le nombre passe en texte ou change d’échelle
Date courte JJ/MM03/04 devient le 4 mars au lieu du 3 avrilrien dans 03/04 ne dit lequel est le jour, tant qu’il est inférieur à 13
Libellé tronqué, réécrit ou coupé en deuxPRLV SEPA EDF FACT 4409... devient Prélèvement EDF, ou une opération se dédouble en deux lignes dont une sans montantlibellé tronqué à la source, lignes reconstruites depuis des fragments, et un modèle qui complète
Ligne de solde prise pour une opérationune opération au montant égal à un solde : report à nouveau, total des mouvementsces lignes partagent le même tableau visuel, rien ne les distingue
Débits qui perdent leur signemontants tous positifs, écart valant le double d’une opérationdébit et crédit fusionnés sans convention de signe

Le cas du libellé est spécifiquement français. Dans le format normalisé d’échange publié par le CFONB pour les relevés de compte sur support informatique, la zone libellé est un champ alphanumérique de 31 caractères : la troncature est structurelle. Le CFONB normalise aussi les catégories d’opérations interbancaires, alors que les abréviations affichées sur un relevé — VIR, PRLV, CB, CHQ — relèvent de conventions propres à chaque établissement, sans référentiel commun publié. D’où la tentation, pour un modèle, de les réinterpréter.

Sur la virgule, la Conférence générale des poids et mesures a acté que le marqueur décimal peut être le point ou la virgule. Le 1 234,56 français est donc correct ; c’est la chaîne en aval qui ne sait pas le lire, Excel utilisant par défaut les séparateurs du système.

Contrôle de solde dans un tableur pour vérifier une extraction de relevé bancaire

Pourquoi un modèle de langage se trompe sur les montants

Un modèle de langage se trompe sur les montants pour trois raisons structurelles qu’aucun prompt ne corrige : le découpage des nombres, l’absence de contrôle arithmétique, la dégradation sur documents longs.

La tokenisation. Un nombre n’est pas un nombre pour le modèle, c’est une suite de tokens. Un travail publié en 2024 par Aaditya K. Singh et DJ Strouse montre que cette découpe n’est pas neutre : la tokenisation de droite à gauche, obtenue en insérant des virgules, donne de meilleurs résultats en arithmétique que le découpage standard sur les modèles GPT, et les erreurs observées sont systématiques plutôt qu’aléatoires — donc reproductibles, donc invisibles.

L’absence de contrôle. La CNIL le formule sans détour : les modèles génératifs ne sont pas des bases de connaissance, ils obéissent à une logique probabiliste et ne produisent que le résultat statistiquement le plus probable, avec des sorties inexactes qui peuvent pourtant paraître plausibles.

La dégradation sur contexte long. Une étude publiée dans la revue TACL par Nelson F. Liu et ses coauteurs, connue sous le nom de Lost in the Middle, établit que les performances sont les meilleures quand l’information pertinente est au début ou à la fin du contexte, et se dégradent significativement au milieu, y compris pour les modèles conçus pour les contextes longs. Les lignes perdues d’un long relevé ne sont donc presque jamais les premières ni les dernières — alors que le réflexe de contrôle le plus répandu est de regarder le début et la fin.

Le test en 10 minutes : vérifier une extraction avant de lui faire confiance

Vérifier une extraction de relevé bancaire prend dix minutes et repose sur quatre contrôles indépendants : solde, comptage, bornes, dates. Voici la procédure sous Microsoft Excel.

1. Importer le CSV proprement, sans double-cliquer dessus. Un CSV français utilise le point-virgule comme séparateur de colonnes, la virgule servant déjà de séparateur décimal. Passez par Données, puis À partir d’un fichier texte/CSV : origine Unicode (UTF-8), délimiteur Point-virgule, Transformer les données, puis sur la colonne des montants un changement de type avec paramètres régionaux Français (France). Sinon les montants arrivent en texte et les sommes renverront zéro.

2. Vérifier que les montants sont bien des nombres. Débits en colonne D, lignes 2 à 1000 : =NBVAL(D2:D1000) compte les cellules non vides, =NB(D2:D1000) celles qui contiennent un nombre, et =NBVAL(D2:D1000)-NB(D2:D1000) doit valoir 0. Toute valeur supérieure compte les montants restés en texte.

3. Exécuter le contrôle de solde. Saisissez à la main, depuis le PDF, le solde d’ouverture en H1 et le solde de clôture en H2. Avec les débits en D et les crédits en E :

=ABS((SOMME(E2:E1000)-SOMME(D2:D1000))-(H2-H1))<0,005

Cette formule doit renvoyer VRAI ; le seuil de 0,005 euro absorbe les artefacts de virgule flottante sans laisser passer une erreur au centime. Avec une colonne unique de montants signés en F : =ABS(SOMME(F2:F1000)-(H2-H1))<0,005. Un écart d’un centime invalide l’extraction entière.

4. Interpréter l’écart plutôt que tout relire. Sa valeur désigne le type d’erreur.

Écart constatéCause la plus probableOù regarder
Égal au montant d’une opérationligne oubliée ou dupliquéerechercher ce montant, compter ses occurrences
Égal au double d’un montantsigne inversé, débit compté en créditla ligne portant la moitié de l’écart
D’un facteur 100 ou 1 000séparateur décimal mal interprétéla plus grande et la plus petite valeur
Égal à un solde impriméligne de solde prise pour une opérationlibellés contenant SOLDE, REPORT, TOTAL
Nul mais comptage fauxune duplication compense un oublicomptage mois par mois

5. Compter les lignes. =NBVAL(A2:A1000) sur la colonne des dates donne le nombre d’opérations extraites ; comparez-le au comptage manuel fait sur le PDF, page par page. Ajoutez =NB.SI(B2:B1000;"*SOLDE*") : le résultat doit être 0.

6. Vérifier la première et la dernière opération. Comparez-les caractère par caractère avec le PDF. C’est un disqualifiant rapide, pas une validation : leur exactitude ne prouve rien sur le milieu du document.

7. Contrôler trois dates, dont une antérieure au 13 du mois. L’inversion jour/mois ne peut se produire que si le jour est inférieur à 13 : le 25/07 ne peut pas être retourné, le 03/04 si. Sur un relevé chronologique, posez en C3 la formule =SI(A3<A2;"ORDRE ROMPU";"") et recopiez-la : toute date inversée se signale seule.

8. Ne valider qu’avec les quatre contrôles au vert. Une extraction partiellement juste est une extraction fausse.

RGPD et secret professionnel : la question qu’un cabinet doit se poser

Un cabinet qui envoie le relevé bancaire d’un client dans un assistant grand public engage deux régimes : la protection des données personnelles et le secret professionnel.

Sur le premier, la CNIL est explicite dans ses questions-réponses de juillet 2024 sur l’IA générative : les utilisateurs finaux ne devraient soumettre que des informations qu’ils sont autorisés à partager, et ne jamais transmettre d’informations confidentielles dans un service grand public, en particulier lorsqu’elles sont couvertes par un secret ou par des obligations de déontologie. C’est une recommandation, pas une interdiction, et elle ne vise pas nommément le relevé bancaire — mais un relevé entre sans effort dans la catégorie visée, puisqu’il nomme des bénéficiaires : pharmacie, hôpital, avocat, syndicat. La CNIL demande aussi à l’organisme qui déploie un tel système de s’interroger sur son rôle et sur celui du fournisseur, le cas échéant via un contrat de sous-traitance, que le RGPD encadre à son article 28.

Sur le second régime, le fondement est l’article 21 de l’ordonnance n° 45-2138 du 19 septembre 1945, qui soumet les experts-comptables au secret professionnel dans les conditions et sous les peines fixées par l’article 226-13 du code pénal ; vérifiez la version en vigueur de ces textes. Ce secret porte sur l’information elle-même, indépendamment du canal employé pour la traiter : coller un relevé dans une zone de saisie ne le suspend pas. Les travaux du Conseil national de l’ordre des experts-comptables sur la donnée et l’IA posent une précaution nette : ne pas charger de données personnelles, sensibles ou confidentielles — mails clients, FEC, DSN non anonymisés — dans des services non maîtrisés, sans anonymisation préalable.

Le volet contractuel, lui, dépend entièrement de l’offre dans laquelle le relevé est déposé.

Offre utilisée pour déposer le relevéCe que le fournisseur documente sur les contenus soumisCe que cela implique pour un relevé de client
ChatGPT grand public (offre de base, Plus, Pro)contenus utilisables pour améliorer les modèles selon les réglages du compte ; OpenAI déconseille d’y saisir des informations sensiblesdépôt à écarter sur un dossier client : le document sort du périmètre maîtrisé par le cabinet
ChatGPT Business, Enterprise, Edu et APIpas d’entraînement sur les contenus par défaut, accord de traitement des données possible, journaux d’abus conservés jusqu’à 30 jours côté APIusage envisageable sous contrat de sous-traitance au sens de l’article 28 du RGPD, avec information du client
Gemini et Claude grand publicchez Google, relecture humaine d’un sous-ensemble de conversations et conservation jusqu’à trois ans ; chez Anthropic, amélioration des modèles seulement si l’utilisateur l’autorisemêmes réserves qu’un ChatGPT grand public, avec un réglage par défaut à vérifier compte par compte

La question à trancher tient en deux lignes : l’outil relève-t-il d’une offre grand public ou business, et le document est-il couvert par le secret professionnel ?

Quand un outil dédié devient le bon choix

Un outil dédié à la conversion de relevés bancaires devient le bon choix dès que le volume dépasse quelques pages, que le PDF est scanné, ou que la sortie alimente une comptabilité. La différence n’est pas la finesse de lecture, elle est architecturale — et elle répond terme à terme aux sept schémas d’échec décrits plus haut.

Découpe page par page. BankStatementLab n’envoie pas le document entier à un modèle en un seul appel : le PDF est découpé, chaque page traitée isolément. Aucune étape n’a donc à tenir les quarante pages à la fois — réponse au deuxième mode de défaillance, les lignes perdues au milieu d’un long relevé.

Analyse en vision. Les pages sont traitées par les capacités de vision de modèles Anthropic, OpenAI ou Google Gemini, après détection d’une couche texte exploitable ou non. Un relevé scanné ou photographié est donc lu — réponse au premier mode de défaillance, le document sans rien à extraire.

Fusion des colonnes entre les pages. Un service de regroupement réconcilie les structures de colonnes d’une page à l’autre : la structure reste stable quand la mise en page change en cours de relevé, là où un assistant recolle des fragments et coupe un libellé en deux.

Détection de plusieurs tableaux. Un relevé contenant plusieurs tableaux distincts est découpé en blocs séparés au lieu d’être aplati en une liste unique, ce qui limite la confusion entre lignes de solde et opérations.

S’y ajoutent des prompts spécialisés selon le type de document et une sortie en colonnes typées : date, libellé, montant, catégorie. Pipeline structuré ne veut pas dire résultat identique au caractère près : la chaîne repose sur des modèles de langage.

Ce qui casseChatGPT ou un assistant grand publicBankStatementLab
PDF scannéhors Enterprise, seule la couche texte est lue : rien à extraireanalyse en vision, après détection de la couche texte
Relevé de dizaines de pageslignes manquantes au milieu, sans avertissementdécoupe page par page, chaque page traitée isolément
Montant à virgule décimalemontant basculé en texte ou changé d’échellecolonne montant typée, exportée en XLSX ou CSV
Date courte JJ/MMinversion jour/mois invisiblecolonne date typée, vraie date Excel à l’export XLSX
Libellé tronqué ou coupé en deuxfragments recollés par inférencecolonnes réconciliées d’une page à l’autre
Ligne de solde prise pour une opérationaplatie avec les mouvementstableaux multiples détectés, séparés en blocs
Débits qui perdent leur signemontants tous positifsprompts spécialisés relevé bancaire, sortie structurée

La sortie d’un tel pipeline est structurée, pas rédigée en prose : export en Excel (.xlsx) et en CSV, où les dates deviennent de véritables dates Excel plutôt que du texte — précisément le défaut de typage que traque l’étape 2 du test ci-dessus. Plusieurs relevés se traitent en une même opération, une colonne de catégorie est produite dès l’extraction, une consigne personnalisée en langage naturel permet d’orienter le résultat (offres payantes), et une API publique couvre la création, la consultation, le listing et la suppression des extractions.

Le sort du document décide, pour un cabinet, si un outil est utilisable sur un dossier client. Le secret professionnel évoqué plus haut porte sur l’information elle-même, quel que soit le canal — donc sur le PDF déposé. BankStatementLab supprime le PDF source dès que l’extraction a réussi et efface la référence au fichier en base dans le même mouvement ; aucun endpoint, ni dans l’application ni dans l’API publique, ne permet de le retélécharger. Les transactions extraites, elles, restent jusqu’à votre suppression, avec une purge automatique réglable de 1 à 30 jours, désactivée par défaut et réglée sur 14 jours quand on l’active.

Aucun outil ne lit un relevé sans jamais se tromper, et le contrôle de solde reste à faire : ce qui n’a jamais eu à tenir quarante pages d’un coup perd moins de lignes, et ce qui n’est plus stocké ne peut plus fuiter. Testez une conversion PDF vers Excel ou CSV sur BankStatementLab.

À retenir

  • Hors offre Enterprise, ChatGPT n’exploite dans un PDF que la couche texte : un relevé scanné n’en présente aucune.
  • La limite pratique n’est pas la taille du fichier mais la fenêtre de contexte : un relevé de plusieurs dizaines de pages peut être accepté à l’upload sans être vu en entier.
  • Un PDF ne contient pas de tableau : même natif, il ne stocke que des fragments de texte positionnés, et reconstituer une ligne d’opération est une inférence, pas une lecture.
  • Un relevé français cumule quatre pièges : virgule décimale, date JJ/MM ambiguë tant que le jour est inférieur à 13, libellé tronqué, lignes de solde mêlées aux opérations.
  • Le seul contrôle qui tranche est arithmétique : crédits moins débits doit égaler solde de clôture moins solde d’ouverture au centime, et la valeur de l’écart désigne le type d’erreur.
  • La CNIL recommande de ne pas transmettre à un service d’IA générative grand public des données couvertes par un secret ou une obligation de déontologie ; les travaux de l’ordre des experts-comptables sur la donnée et l’IA écartent le chargement de données clients non anonymisées dans des services non maîtrisés.

Questions fréquentes

Peut-on convertir un relevé bancaire PDF en Excel avec ChatGPT ?

Oui, si le PDF est natif, court et à colonnes nettes, et si le résultat passe un contrôle de solde. Sur un relevé scanné ou de plusieurs dizaines de pages, la conversion devient non fiable et l’erreur est silencieuse.

ChatGPT lit-il un relevé bancaire scanné ?

Non, pas de façon fiable : hors offre Enterprise, ChatGPT extrait le texte numérique du PDF et écarte les images, or un relevé scanné est une image de page sans couche texte. Il ne reste alors rien à extraire, et la sortie obtenue tient de la reconstitution plausible plutôt que de la lecture.

Combien de pages de relevé ChatGPT peut-il traiter en une fois ?

Aucun nombre de pages n’est garanti, car la limite pratique est la fenêtre de contexte et non la taille du fichier. Cette fenêtre varie d’une offre à l’autre et OpenAI la révise régulièrement : vérifiez la valeur en vigueur sur la vôtre. Un relevé peut être accepté à l’upload sans que le modèle en voie l’intégralité, ce qui explique les lignes manquantes au milieu d’un long document.

Pourquoi les montants en euros sont-ils faussés après extraction ?

Parce que la virgule décimale française est ambiguë pour une chaîne réglée sur des paramètres régionaux anglo-saxons, où le point marque la décimale. Selon la configuration, un montant bascule en texte ou change d’ordre de grandeur.

Comment vérifier qu’une extraction de relevé bancaire est correcte ?

Appliquez le contrôle de solde avec =ABS((SOMME(E2:E1000)-SOMME(D2:D1000))-(H2-H1))<0,005, qui doit renvoyer VRAI. Comptez ensuite les lignes avec =NBVAL(), puis vérifiez la première et la dernière opération et trois dates dont une antérieure au 13.

Un expert-comptable peut-il envoyer un relevé client dans ChatGPT ?

Non, pas dans une offre grand public. La CNIL recommande de ne pas transmettre à un service d’IA générative grand public des données couvertes par un secret ou une obligation de déontologie, et les travaux de l’ordre des experts-comptables écartent le chargement de données clients non anonymisées dans des services non maîtrisés. Le secret professionnel des experts-comptables est fondé sur l’article 21 de l’ordonnance n° 45-2138 du 19 septembre 1945, sanctionné par l’article 226-13 du code pénal. Une offre Business, Enterprise ou API, encadrée par un contrat de sous-traitance, change la nature de la question.

Claude ou Gemini font-ils mieux que ChatGPT sur un relevé bancaire PDF ?

Sur un relevé scanné, oui. Leurs API documentent une approche différente : chaque page du PDF est convertie en image et traitée par la vision du modèle, là où ChatGPT hors Enterprise n’exploite que la couche texte et ne trouve rien à lire. Sur l’exactitude des montants, non : le risque d’erreur de lecture reste entier, la virgule décimale et les dates JJ/MM restent ambiguës, et le contrôle de solde demeure obligatoire.

BankStatementLab est-il plus précis que ChatGPT pour un relevé bancaire ?

Aucune mesure publiée ne permet de l’affirmer en chiffres : la comparaison honnête porte sur l’architecture, pas sur un score. Le pipeline découpe le relevé page par page, analyse chaque page en vision — il lit donc aussi les scannés — et réconcilie les colonnes d’une page à l’autre, là où un assistant grand public traite le document en un seul passage et n’exploite, hors Enterprise, que la couche texte. Cette chaîne repose malgré tout sur des modèles de langage : vérifiez toujours le résultat par le contrôle de solde.

BankStatementLab conserve-t-il mon relevé bancaire ?

Non, pas une fois l’extraction réussie : le PDF source est alors supprimé, et aucun endpoint, ni dans l’application ni dans l’API publique, ne permet de le retélécharger. Les transactions extraites, elles, sont conservées jusqu’à votre suppression : une purge automatique réglable de 1 à 30 jours peut être activée, et la suppression d’un compte efface toutes les extractions et fichiers associés.

---
🎁 5 crédits à l'inscription, puis 5/mois
💎 1 crédit = 1 page

Prêt à Automatiser vos exports Excel ?

Transformez vos relevés bancaires PDF en fichiers Excel exploitables en quelques secondes.

Essayer BankStatementLab
Écrit par bankStatementLab Team