Read our white paper on AI forgeries in 2026
New AI fake detection model. Try it now
4.6 / 5 on Trustpilot

Bank statement OCR: turn every transaction
into Excel, CSV or JSON

Upload a PDF, scan or photo of any bank statement and get every transaction in a clean spreadsheet, with balances checked.

  • 22k+ users
  • SOC 2 and GDPR
  • Try for free
  • SOC 2 Type II, GDPR
  • Deleted after analysis
  • Never used to train an AI

For document volumes or an API, talk to an expert.

Check your own document

Analyzed securely by Koncile. Never used to train a model, deleted as soon as the analysis is complete.

  • SOC 2 Type II, GDPR
  • Secure servers
  • Deleted after analysis

For document volumes or an API, talk to an expert.

Used by insurers, banks and large companies to process their documents

4.8 / 5

What is bank statement OCR?

Bank statement OCR reads a PDF, scanned or photographed bank statement and turns it into a spreadsheet: bank, account holder, statement period, beginning and ending balance, then one row per transaction with its date, description, withdrawal or deposit. Koncile reads any bank's layout without templates, checks that the running balance adds up and exports to Excel, CSV or JSON.

There are three ways to do it. They give the same result on a clean one page statement, and very different results on a six page statement or a scan.

Copy paste or Power Query

Excel returns one table per page, with columns to realign by hand. Enough for a one off digital PDF, not for a scanned statement.

Free online converter

The statement text lands in cells, without telling withdrawals from deposits. Handy for a few statements with no sensitive data.

AI OCR

One row per transaction, withdrawals and deposits split, balances checked. Built for statements from many banks, in volume or scanned.

What data can you extract from a bank statement?

Koncile's bank statement template captures the summary fields once per statement, then one row per transaction across every page, even when a description wraps onto a second line.

Credit card statements work the same way: each purchase becomes a row, and the new balance on the statement serves as a check. You add, remove or describe the fields to extract from the interface.

FieldExampleExtraction rule
Bank nameExample BankName of the bank holding the account.
Account holderMartin Design LLCPerson or company named on the statement.
Account number****4821As printed, often masked on the statement.
Routing number1234567899 digit ABA number, when printed.
Statement period09/01 to 09/30/2026Start and end dates of the statement.
Beginning balance$4,210.35Balance at the start of the period.
Ending balance$3,987.10Balance at the end, checked against the transactions.
Date09/05/2026Posting date shown on the row.
DescriptionCHECK 1042Full description, wrapped lines joined.
Check number1042Check number, when the row is a check.
Withdrawals$86.40Money out, empty otherwise.
Deposits$1,200.00Money in, empty otherwise.
Running balance$5,323.95Daily balance, when the bank prints it.
CategoryOffice expensesFrom your own list of categories.

How to convert a PDF bank statement to Excel or CSV, step by step

Conversion takes a few seconds per statement. What matters is what happens between reading and export: that is where transactions are put back into rows and balances are recomputed.

  1. Step 1

    Upload

    Drop the PDF, scan or photo, forward it to a dedicated email address, or send it through the API.

  2. Step 2

    Reading

    AI reads each bank's layout, with no template to set up.

  3. Step 3

    Structuring

    One row per transaction, withdrawals and deposits split, wrapped descriptions joined.

  4. Step 4

    Balance check

    The ending balance is recomputed from the beginning balance and every transaction.

  5. Step 5

    Export

    Excel, CSV or JSON, or straight into your tools.

Multi-page, scanned and credit card statements

A one page digital PDF goes through any converter. Real files are harder: a six page statement, a crooked scan, a credit card statement that covers a whole month of purchases. These are the cases where OCR saves time.

Balance carried forward

Balance forward rows between pages are recognized as running balances. They never become transactions and never skew the totals of the statement.

Descriptions on two lines

A wire with its reference on a second line stays one transaction. The description is joined in full, with no empty row and no stray amount.

Scans and phone photos

Printed and scanned statements are read, even slightly skewed. Hard to read values come out with a low confidence score and go to review.

Credit card statements

Each purchase in the cycle becomes a row, with its date and merchant. The rows are checked against the new balance printed on the statement.

How do you know every transaction was captured?

On a bank statement, accuracy can be checked with arithmetic. The beginning balance, plus deposits, minus withdrawals, must equal the ending balance. Koncile runs that check on every statement, and on every page that prints a balance carried forward. A one cent gap points to a missed or misread transaction, and the statement goes to review before it reaches your books.

Every field also carries a confidence score. You set the threshold below which a person reviews the value. On our test set of [N] statements from [N] banks, [x]% pass the balance check with no correction ([test date]).

Bottom of a fictitious bank statement, with the ending balance and the Koncile balance check

Bank statements for lending: income, cash flow and red flags

Lenders, landlords and underwriters ask for several months of statements. Koncile does not score credit: it turns each statement into clean rows your team can filter and total, then checks that the file is genuine.

Recurring deposits

Every deposit comes out as a row with its date and description, so payroll or client payments are easy to filter and total month by month.

Balances over time

Beginning and ending balances for each period, and the daily balance when the bank prints it, show how close the account runs to zero.

Returned items and fees

Returned payments, overdraft and NSF fees keep their own description, so they can be filtered and counted across several months.

Large transfers

Large or one off movements stand out once every transaction sits in a single table, ready for an underwriter to ask about them.

How to spot a tampered bank statement

When a statement is used to prove income or a balance, extraction is not enough: you also need to know whether the file is genuine. Koncile checks the file, the content and the image, and returns a fraud score from 0 to 100.

To check a single statement, use our fake bank statement checker.

Balances that don't add up

A removed transaction or a changed amount breaks the running balance. The gap shows between the printed balance and the one Koncile recomputes.

File saved again after issue

The software that produced the PDF and its successive saves are read. A file reopened after the bank issued it keeps a trace of it.

Font or alignment

A pasted digit does not share the font, size or alignment of its neighbors. Image analysis catches it, even on a scanned statement.

Export and integrations

Accounting tools already import transactions through bank feeds. OCR takes over when there is no feed: statements sent by a client, a bank the feed does not cover, historical data. Extracted transactions can then be matched with your invoices and ledger entries by Koncile's reconciliation agent.

Developers can start from our OCR API documentation.

Exports

Excel, CSV and JSON, with the columns in the order you choose and the date and amount formats your software expects.

API and webhook

Send statements through the API and get the result by webhook as soon as extraction is done, ready to push to your ERP.

No code

Make, n8n and Zapier connect Koncile to your tools in minutes. QuickBooks and Xero work through Zapier or Make.

Email intake

A dedicated email address receives statements from your clients or banks and extracts the attachments automatically.

Bank statement OCR pricing

Koncile is priced per page analyzed: one page uses one credit, so a six page statement uses six. The free plan gives you 20 credits to test on your own statements. Paid plans start at [price] per month for [N] credits, and the price per page drops as volume grows.

Prices in USD and EUR are on our pricing page.

Free bank statement converters: what they do and what they miss

Start with the answer most pages skip: if your bank offers a CSV or OFX download in online banking, that is the best free option for your own accounts. For a digital PDF you received, Excel can do it: Data, Get Data, From PDF. Free online converters do the same without installing anything.

The limits come with scans, long statements and privacy: a statement holds a name, an address, an account number and a month of spending. Before uploading it to a free site, check where it is processed and how long it is kept.

OptionWhat it does wellWhat it misses
Bank download (CSV, OFX)Free, exact, straight from the bankOnly for accounts you can log into
Excel Power QueryFree, local, fast on a digital PDFScans, columns to realign, no checks
Adobe Acrobat onlineClean conversion of simple tablesOne sheet per page, split descriptions
Free online convertersNo install, often no accountUnclear data handling, no balance check
KoncileScans, multi page statements, balances checked, APIAccount required, 20 free credits

An AI OCR built for security

Your documents are never used to train a model. Fully encrypted software, secure storage of extracted data, a SOC 2 certified and GDPR compliant platform.

Our security policy
  • SOC 2
  • GDPR

Bank statement OCR: frequently asked questions

What is bank statement OCR?

Software that reads a PDF, scanned or photographed bank statement and returns the balances and every transaction as a table, ready for Excel or your accounting software.

How do I convert a PDF bank statement to Excel or CSV?

Upload the statement, review the extracted transactions, then download the Excel or CSV file. Each transaction becomes one row, with withdrawals and deposits in separate columns.

Is there a free bank statement converter?

Yes. Your bank's own CSV or OFX download is the best free option for your accounts, and Excel can import a digital PDF. Koncile gives you 20 free credits to test scans and multi page statements, with balances checked.

Does it work with any bank?

Yes. AI reads each statement's layout with no template to set up per bank, for US banks as well as European and other foreign banks.

Can it read scanned or photographed statements?

Yes. A 300 dpi scan or a sharp photo gives the best results. Hard to read values come out with a low confidence score.

How do I know every transaction was extracted?

Koncile recomputes the ending balance from the beginning balance and every transaction. Any gap points to a missed row, and the statement goes to review.

Can AI detect fake bank statements?

Koncile's fraud detection checks the file, the balances and the image of the statement, and returns a fraud score from 0 to 100.

Are my bank statements stored after processing?

Your statements are never used to train a model. Extracted data is stored encrypted and secure, on a SOC 2 certified and GDPR compliant platform. Our security policy details hosting and retention.

Automate your document processing with Koncile

Upload your invoices, statements or purchase orders: Koncile extracts the data, checks it and sends it to your tools, by API or in Excel.

Talk to an expert