PDF Bank Statements: How Meelo Automates Extraction With AI

How Meelo automates the analysis of PDF bank statements with Koncile's AI: reliable extraction, fraud detection, and solvency scoring in seconds.

September 17, 2026
 - 
8 min read

Meelo builds an onboarding platform that verifies a candidate's identity, company and creditworthiness in seconds, for lenders, leasing companies, insurers, energy suppliers and retailers. A meaningful share of those applications cannot go through a bank connection, leaving nothing but PDF bank statements. Since May 2025, Meelo has used Koncile to turn those statements into usable data and feed its own consistency checks and scoring.

What I value in Koncile is its ability to extract any piece of information from a document. That flexibility lets us build every consistency check we need, inside a single document, across several documents, or at the level of a whole application file.
Benjamin Kasprzak, Chief Operating Officer, Meelo

Meelo, the platform that secures customer onboarding

Founded in 2017 and based in Marcq-en-Barœul in northern France, Meelo builds a SaaS onboarding platform combining artificial intelligence, open banking and open data. Three blocks structure it: identity verification, company and director verification, and creditworthiness analysis. Its clients are vehicle leasing companies and captive finance arms, banks, insurers, energy suppliers and retailers, all of whom hand it the decision to open a commercial relationship or turn it down.

Meelo's business comes down to answering a simple question in a very short window: is this candidate who they claim to be, and can they pay? The companies it equips measure that answer in seconds, not days. All of the platform's value therefore rests on its ability to gather, verify and cross-check heterogeneous information with no human in the loop.

When the candidate does not connect their accounts, the PDF is what remains

The most direct route to assessing creditworthiness is a PSD2 bank connection: the candidate authorises access to their accounts, transactions come back structured, and the ratios are computed immediately. That route works, but it does not cover everyone. A significant share of candidates decline to connect their accounts, have no compatible online access, or sit in a journey where the connection is not offered at all. Across the journeys observed at Meelo's clients, that is roughly one application in three.

For those files, the supporting document becomes the basis of the decision again. The candidate sends their last three bank statements, twelve to fifteen pages of PDF, and exactly the same material has to come out of them as a bank connection would have returned: the list of accounts, their IBANs, and the transaction detail line by line, with amount and direction.

The process is easy to describe: the customer sends us their last three statements, Koncile extracts them, Meelo analyses them, and we return the financial ratios and the debt-to-income study in one click. The catch is that everything rests on the quality of that first step. One misread transaction and the debt ratio computed downstream is wrong.
Benjamin Kasprzak, Chief Operating Officer, Meelo

What makes a bank statement hard for a machine to read

A bank statement passes for a simple document. It is not, and bank statement extraction concentrates several difficulties that stack up inside a single file.

The first is structure. A statement is almost never single-account. The same document brings together a current account, one or more savings accounts, sometimes a joint account and the detail of a deferred-debit card. Each block has its own IBAN, its own balance and its own sequence of operations. An engine that simply reads the first IBAN it meets attaches every transaction to the wrong account, and the affordability calculation that follows is meaningless.

The second is layout. Transaction tables run across several pages, and the header identifying which account they belong to does not always repeat. When a table continues onto the next page, the link between the lines and the account is lost silently.

The third is the direction of amounts. Depending on the bank, debit and credit are carried by two separate columns, by the sign of the amount, or by position within a table. The label is never reliable: a transfer described as "VIR SEPA SUCCESSION" can be money in or money out, and getting the direction wrong on a single operation can move a balance by thousands of euros.

Three-panel numbered diagram listing the difficulties of extracting a bank statement: 1) multiple accounts in a single document, each with its own IBAN and balance; 2) the transaction table crosses the page break without the account header repeating; 3) the transaction's description doesn't reveal its direction (debit or credit), which depends on the column or the sign instead.
On a statement you very often have several accounts, several IBANs, savings accounts, cards. With what we had before, we had to go back over every line because fields were missing. What interested us was getting the list of accounts directly, with the transactions already attached to the right account.
Florent Maret, Lead Tech Engineer, Meelo

An extraction engine that can reach any field

Koncile's answer rests on one principle: the fields to extract are described in plain language by Meelo's own teams, with no development work and no fixed schema. A general field captures a single value such as the list of accounts present in the document or the holder's name. A table field captures a sequence of repeating rows, here the transactions, each with its date, label, gross amount, direction and the account it belongs to.

That flexibility changes the nature of the work. Rather than waiting for a vendor to add a field to a standard model, Meelo's teams write the reading rule themselves, test it on their own documents and correct it the same day. The rule governing the direction of amounts, for instance, was written explicitly by their data engineers: read the column or the sign, never the label, and return the gross amount with a credit or debit indicator that Meelo then applies according to its own internal conventions.

Every extracted value carries a confidence score, which lets Meelo route only the uncertain fields to a check rather than having whole files reread. Duplicate detection, based on the actual content of the file rather than its name, also avoids reprocessing and re-billing a statement already analysed, which matters in a journey where the same document is frequently sent more than once.

Who does what between Koncile and Meelo

The split of responsibilities is clean, and it explains the architecture. Koncile supplies the raw material: every piece of information present in the document, structured, whatever the issuing bank and whatever the layout. Meelo builds and runs its own consistency checks, its scoring and its fraud rules on top, which are its core business and its property.

That split is why extraction flexibility matters more here than any built-in checking function. A consistency check is only worth something if it can rely on the exact field it needs. Once Meelo can ask for any piece of information and get it, its teams can write rules that cross a declared income against a salary credited on a statement, an address on a payslip against an address on a proof of residence, or an IBAN supplied with the application against the IBAN actually present on the account.

Extraction and document fraud detection in an onboarding file

Forged supporting documents are a daily reality of onboarding journeys. A payslip whose taxable net has been raised, a retouched tax assessment notice, a bank statement with a few operations removed: these documents circulate, and they drive a lending decision. Two readings complement each other in catching them.

The first concerns what the document says. It rests on the extracted fields and confronts them with the rest of the file: a declared income against the salary actually credited on the statement, the address on a payslip against the one on a proof of residence, the IBAN supplied with the application against the one present on the account. That is Meelo's ground, and it is what extraction flexibility makes possible, since a check is only worth something if it can rely on the exact field it needs.

The second concerns what the document is, independently of its content. Koncile ships a document fraud detection module for that, layering three families of analysis. Forensic examination of the file first, comparing the creating software against the last modifying one, the consistency of the dates held inside the PDF, the structure of the cross-reference table and the number of typeface families present on a single page. Visual integrity next, hunting for recomposed areas, broken alignment and local alterations around an amount or a date, and catching the scanned or photographed documents whose metadata has disappeared. Business plausibility last, testing whether a displayed value is possible under the rules of the sector.

A careful forgery is invisible to the eye. Made on a native PDF, in the same typeface and the same layout, it leaves a trace only in the internal structure of the file, in the technical signature of the editing tool and in pixel-level rendering around the altered field. This is why stacking independent signals matters more than any single test: each anomaly feeds a score with its justifications, returned in the same response as the extracted fields. A platform already running its own scoring engine can therefore plug that reading of the file underneath its business rules, with no second integration and no second vendor.

From a generic model to one calibrated on real statements

Tuning was done on real documents, in short iterations. The first model applied to multi-account statements correctly identified account information in around ten percent of cases. After restructuring the model with Meelo's teams, that rose to nearly eighty percent, then beyond ninety-five percent once the reading instructions were refined and a stronger engine was brought in. On transaction lines, reading the amount and the direction of the operation now exceeds ninety-nine percent.

Three levers produced that result. The first was treating the list of accounts as a general field in its own right, so that transaction attachment relies on a known structure rather than on order of appearance in the file. The second was making the rule for reading the direction of amounts explicit instead of letting the model infer it. The third was giving Meelo's teams access to the raw OCR output of the document, which let them diagnose failure cases themselves and adjust their instructions without waiting on a round trip.

We worked the model statement by statement, starting from the cases that failed. Going from ten to eighty percent correct reading of account information in a handful of iterations, on documents that heterogeneous, showed us the headroom was in the configuration rather than in the technology.
Melvin Dufrane, Data Engineer, Meelo

Keeping the document route as cheap as the banking route

An application analysed through a bank connection costs Meelo around forty cents. For the document route to be a real alternative rather than a more expensive fallback, it had to land in the same order of magnitude, even though one application means twelve to fifteen pages to process against a single call on the open banking side.

Two mechanisms made that possible. The first is Koncile's Lite mode, a cheaper processing profile than Pro, calibrated for documents whose structure is regular enough. On bank statements it halves consumption at equal volume. The second is billing by page actually processed rather than by API call, combined with free reprocessing of a document already seen. An application sent twice through the journey is billed once.

The choice between the two modes is made use case by use case. On a standard bank statement, Lite holds the expected quality. On a dense document, a poor scan or a layout that varies heavily, Pro remains the right call. The setting is per model, so the higher tier is only paid for where it earns its place.

What the application gains in time and reliability

Previously, using three bank statements meant opening them, identifying the accounts, copying the significant operations into a spreadsheet or into the analysis tool, and rebuilding by hand the aggregates feeding the debt-to-income calculation. Count twenty to thirty minutes per application for an analyst, with a variability in the result that depends on how closely the lines were read.

Today a document is processed in around thirty seconds at the median, and a complete file of three statements comes back structured in under a minute. The analyst only revisits the fields flagged by a low confidence score. Across the volumes flowing through the platform, several tens of thousands of pages a year, the saving runs into hundreds of hours, and the larger effect is on reliability: getting the direction wrong on a single operation could by itself move a balance by thousands of euros and distort a lending decision.

The commercial consequence is wider than the productivity gain. By making the document route as usable and almost as cheap as the bank connection, Meelo can serve applications it would otherwise have had to set aside, without degrading the quality of its analysis.

Chaining our two products makes the promise concrete for the client, and very effective compared with how they handle their files today. On the proof of concept we delivered to a subsidiary of a major banking group, that is exactly what made the difference.
Benjamin Kasprzak, Chief Operating Officer, Meelo

A component the end client never sees

Technically, Meelo calls Koncile's OCR API from its own backend and renders the result inside its platform. The end client never logs into Koncile, never sees the interface and has nothing to configure: they send their documents into the Meelo journey and receive a score. The extraction models, written by Meelo's teams, remain their property and benefit nobody else.

The document scope goes well beyond the bank statement. The first models connected covered the company registration extract, the tax assessment notice, the payslip, the social security certificate and the Luxembourg identity certificate. Each new document type is configured without development work, which means opening a new customer journey takes days rather than a product cycle.

Data handling and compliance

A bank statement is highly sensitive personal data, and the subject was framed from the start of the collaboration. Documents sent by Meelo are deleted automatically fifteen days after processing, a setting activated at their request on the day of go-live. Processing runs on infrastructure hosted in the Paris region, with encryption at rest and in transit, and Koncile is SOC 2 Type II certified.

No client data is used to train third-party models. Because the platform is agnostic as to the underlying language model, an account can be restricted to European or self-hosted engines only, which answers the requirements financial institutions' security teams place on generative AI applied to personal data.

What comes next

Two directions extend the arrangement. The first is widening the document scope to the accounting and tax filings behind business applications, starting with statutory financial statements, where the difficulty changes nature: long, highly structured documents whose line items have to be mapped onto a chart of accounts. The second is cross-checking between documents in the same file, where the point is to automatically confront what a candidate declares, what their payslip carries and what their bank statement shows.

Frequently asked questions about bank statement extraction

How do you automatically extract transactions from a PDF bank statement?

Reliable processing of a bank statement requires three things. First, identify every account present in the document, since one statement often brings together a current account, savings accounts and cards. Second, attach each transaction line to the right account, including when the table runs across several pages. Third, determine the direction of each operation from the column or the sign of the amount, never from the label, which is not reliable. An extraction platform lets you describe those rules in plain language and apply them to every bank's format with no specific development.

Can creditworthiness be assessed without a PSD2 bank connection?

Yes, provided the PDF statements supplied are processed with the same level of structuring an aggregation would have returned. That means rebuilding the list of accounts, the IBANs and the transaction detail with amount and direction. This is the route Meelo uses for candidates who do not connect their accounts, which represents a significant share of files in most onboarding journeys.

What accuracy should you expect on bank statement extraction?

On heterogeneous multi-account statements, an uncalibrated generic model correctly identifies account information in a minority of cases. After configuration on real documents, account identification and transaction attachment exceed ninety-five percent, and reading the amount and direction of the operation exceeds ninety-nine percent. The gap between those two figures comes from the document's structure being harder to rebuild than the value of a single line.

Can document analysis detect a forged supporting document?

Two readings complement each other. Content consistency, derived from the extracted fields and confronted with the rest of the file, which catches a declared income incompatible with the credits on a statement or an address that changes from one document to the next. And analysis of the file itself, which examines the PDF metadata, the last modifying software, visual integrity around an amount or a date, and the business plausibility of the values displayed. A careful forgery is invisible to the eye; it is caught by stacking independent signals, each weighted into a score that carries its justifications.

How do you embed a document extraction component into an existing platform?

Through an API. The document is sent from the platform's backend, the result comes back as structured JSON with the requested fields and a confidence score per value, and the end user never sees the extraction tool. The extraction models are defined by the vendor doing the integration and remain their own. A webhook makes it possible to be notified when processing completes rather than polling the API in a loop.

What happens to documents sent for extraction?

Retention is configurable per account and can be brought down to a few days after processing. Traffic is encrypted in transit and files at rest, hosting is located in France, and no client data feeds the training of third-party models. An account can also be restricted to European or self-hosted engines where company security policy requires it.

The agents that automate your documents
Get ahead on automation. See how Koncile can simplify your operations.
Discover Koncile
Discover Koncile
Our latest ARTICLES

Real life insights on document automation

All our ressources
All our ressources
PDF Bank Statements: How Meelo Automates Extraction With AI
FEATURE

PDF Bank Statements: How Meelo Automates Extraction With AI

How Meelo automates the analysis of PDF bank statements with Koncile's AI: reliable extraction, fraud detection, and solvency scoring in seconds.

Document fraud detection in insurance: how ADN.Solutions and CMAM secure motor underwriting
FEATURE

Document fraud detection in insurance: how ADN.Solutions and CMAM secure motor underwriting

Motor insurance's most-forged document now goes through a single check: extraction and authenticity, in one API call. ADN.Solutions has deployed it white-label across its insurers, including CMAM, and now detects 87% of falsified statements, with under 2% false positives.

At HealthNet Homecare, the prescription is reviewed by AI before entering the system
FEATURE

At HealthNet Homecare, the prescription is reviewed by AI before entering the system

The UK homecare provider processes more than a million pages a year with Koncile. On a hospital prescription, several treatments are printed but only one is actually prescribed, marked with a checked box. Koncile picks out only that one, matches it against the medication database, and checks the result against the team's own data entry.

At Toyota Assurances, the underwriting file arrives captured and checked
FEATURE

At Toyota Assurances, the underwriting file arrives captured and checked

Nine document types in a single PDF. Koncile identifies them, reads them, checks their validity and their consistency with one another, then sends the data and the alerts back via API into the systems of the insurer AND-E.

Epson France turns its hardware into a data entry point, not paper
FEATURE

Epson France turns its hardware into a data entry point, not paper

How Epson turned its scanners into true data-entry points with Koncile's AI. Deployed in three weeks, with zero manual re-entry.

RewardPulse automates invoice and receipt validation
FEATURE

RewardPulse automates invoice and receipt validation

RewardPulse designs loyalty, sales incentive, and recognition programs for other companies. Every program relies on one simple action from the participant: submitting a proof of purchase to unlock a reward. Making that check reliable at scale, without slowing the program down or penalizing the participant, turned out to be far more complex.

Place des Énergies: Energy Bills Sorted by Client
FEATURE

Place des Énergies: Energy Bills Sorted by Client

Discover how Place des Énergies uses Koncile to automate the processing of 5,000 monthly energy bills. Line-by-line extraction and automated auditing eliminate billing errors while speeding up data analysis.

Nona Automates Their Supplier Invoice Extraction
FEATURE

Nona Automates Their Supplier Invoice Extraction

Nona equips more than 650 collective kitchens (school canteens, nursing homes, central kitchens) to build menus that meet France's EGalim sustainability targets and to manage purchasing and stock. But for that to hold together, a year's worth of supplier invoices, in as many formats as there are suppliers, first had to make it into each kitchen's database. With Koncile, that data-entry work has turned into a stream of documents that are read, structured and automatically linked to Nona's food database.

At Mark Young Construction, the subcontractor’s certificate of insurance is checked before the job site opens
FEATURE

At Mark Young Construction, the subcontractor’s certificate of insurance is checked before the job site opens

Mark Young Construction, a general contractor specializing in commercial construction across the western United States, has to check a certificate of insurance for every subcontractor before they set foot on a job site. That check, long done by hand on dense forms, slowed down subcontractor onboarding and left room for misreadings. With Koncile’s automated extraction, reading each certificate and flagging anomalies became immediate, and the backlog of certificates that needed cleaning up got cleared without tying up someone full time on the task.

Grainz is transforming the processing of its invoices and delivery notes thanks to OCR
FEATURE

Grainz is transforming the processing of its invoices and delivery notes thanks to OCR

Extractions that speed up processes, reduce errors, and improve compliance.

Bilfinger renforce la traçabilité de ses dossiers de fabrication
FEATURE

Bilfinger renforce la traçabilité de ses dossiers de fabrication

Dans un contexte industriel exigeant, Bilfinger modernise la gestion de ses dossiers de soudage et matière. L’intégration de l’OCR Koncile automatise l’extraction et le rapprochement des soudures, des pièces et des certificats matière, tout en sécurisant la conformité.

360 Smarter Administration centralizes and structures the processing of its payroll documents
FEATURE

360 Smarter Administration centralizes and structures the processing of its payroll documents

From PDFs to actionable data: Koncile OCR automates payroll processing at 360 Smarter Administration, reducing manual effort and improving data reliability.