Bank statement extraction: how it works, what to check and how to automate it
For lenders, underwriters, accountants and operations teams who still key bank statements by hand: how extraction works, which fields and checks matter, and how to roll it out.

Key takeaways
- Bank statement extraction turns PDF, scanned and photographed bank statements into structured data: account details, balances and every transaction line.
- It runs in five stages: read the page, find the account fields, rebuild the transaction table, check the math and send unsure fields to a person.
- The hard part is the transaction table: rows that wrap onto two lines, tables that break across pages and a different layout for every bank.
- Extraction isn't verification. Balances should reconcile, months should run on without gaps and large deposits may need a documented source before the data is used.
- With automation, people review flagged fields instead of typing; Docsumo reports under 5 minutes per document, down from 2+ hours.
On this page
- What is bank statement extraction?
- How bank statement extraction works
- Bank statement fields: the data you get
- Manual vs automated bank statement extraction
- Common problems when extracting data from bank statements
- Checks to run on every bank statement
- Where bank statement extraction is used
- How to extract data from bank statements with Docsumo
- The bottom line
- Frequently asked questions
Bank statement extraction turns a bank statement, whether a bank PDF, a scan or a phone photo, into structured data: the account details, the opening and closing balances and every transaction line. Done well, it also checks that the numbers add up and sends anything it's unsure about to a person. This guide covers how it works, the data you get, the checks to run and how to extract data from bank statements with Docsumo.
What is bank statement extraction?#
A bank statement records an account over a period, usually a month: the account details at the top, a summary of balances and totals, and a table of every transaction. Lenders read it to confirm income and assets, accountants to reconcile the books and auditors to test transactions. Extraction turns it into rows and fields in a spreadsheet, CSV or JSON file (the result is sometimes called a bank extract), or sends the data straight to another system. The transaction table is most of the work, and most of the errors.
| Field | Extracted value | Confidence |
|---|---|---|
| Account holder | Harbor Street Bakery LLC | |
| Address | 118 Harbor St, Portland, ME | |
| Bank name | First Midwest Bank | |
| Account number | •••• 4821 | |
| Account type | Business checking | |
| Statement period | 2026-07-01 → 2026-07-31 |
| Field | Extracted value | Confidence |
|---|---|---|
| Opening balance | 42,180.55 | |
| Total deposits | 88,412.10 | |
| Total withdrawals | 91,686.44 | |
| Closing balance | 38,906.21 | |
| Transaction count | 142 |
| Field | Extracted value | Confidence |
|---|---|---|
| Date | 2026-07-14 | |
| Description | ACH DEPOSIT STRIPE PAYOUT | |
| Amount | +3,284.10 | |
| Debit / credit | Credit | |
| Running balance | 51,902.44 | |
| Category | Card processor payout |
How bank statement extraction works#
Extraction runs in five stages. Each one has to work for the numbers at the end to be reliable.
- Bank PDFs
- Scans
- Phone photos
- Emailed statements
- 01Read the page
- 02Find account fields
- 03Rebuild transactions
- 04Check the math
- 05Review unsure fields
- Read the pageScans and photos are straightened and cleaned, and OCR turns the page into text.
- Find account fieldsHolder, bank, account number and period, found from context and layout, so a new bank needs no template.
- Rebuild transactionsWrapped descriptions and tables split across pages become one table, one row per transaction.
- Check the mathOpening balance plus deposits minus withdrawals should equal the closing balance, and each running balance should follow from the one before.
- Review unsure fieldsLow-confidence values go to a person with the source line in view; the rest go straight through.
Bank statement fields: the data you get#
Fannie Mae's Selling Guide sets a useful minimum for mortgage files: the bank, the borrower as account holder, at least the last four digits of the account number, the period, every deposit and withdrawal, and the ending balance. Most teams extract a little more.
| Field | Example | Used for |
|---|---|---|
| Bank, account holder and address | First Midwest Bank; Harbor Street Bakery LLC; 118 Harbor St, Portland, ME | Matching the statement to the applicant or client |
| Account number and type | •••• 4821, business checking | Matching statements across months and to the application |
| Statement period | Jul 1 to Jul 31, 2026 | Checking the months are consecutive and recent |
| Balances and totals | Opening $42,180.55; deposits $88,412.10; withdrawals $91,686.44; closing $38,906.21 | Reconciling the statement and verifying assets |
| Transactions | Date, description, debit or credit, amount, running balance | Income, cash flow, reconciliation and audit sampling |
| References | Check numbers, transaction IDs, memo text | Matching payments to the books and tracing items |
Average daily balance, NSF and overdraft counts and true revenue are lender calculations, not fields to extract: they're worked out from the bank transaction data. Bank statement analysis shows how.
Manual vs automated bank statement extraction#
Keying statements by hand is slow, and the errors hide: one wrong digit in a running balance throws off every total after it.
Manual extraction
- Someone retypes every transaction line into a spreadsheet
- Each bank's layout has to be learned by the person reading it
- Math errors surface late, if at all
- Volume grows only by adding staff
Automated extraction
- Transactions arrive as rows in minutes, whatever the bank
- New layouts are read without building a template first
- Running balances are checked on every statement
- People review only the fields that were flagged
Docsumo reports these results:
- <5 minper document, down from 2+ hours
- 99%field-level accuracy on 250+ document types
- <1 minper complex statement at Grid Finance
Common problems when extracting data from bank statements#
Most extraction errors come from four causes. Test any tool against each one with your own statements.
Password-protected PDFs
Some statements arrive locked with a password. Remove it, or ask for an unprotected copy, first.Tables that break across pages
Repeated headers, subtotals and wrapped descriptions make basic converters split or duplicate rows.Layouts and scan quality
Every bank has its own layout, and photos add skew and blur. A good tool flags low-confidence reads instead of guessing.OCR without structure
Plain OCR returns text in reading order, not a table, so a debit can land in the credit column.
Checks to run on every bank statement#
Extraction gives you numbers; these checks tell you whether to trust them. Most run automatically, and a person looks only at the statements that fail.
- The statement reconcilesOpening balance plus deposits minus withdrawals equals the closing balance, and each running balance follows from the line before.
- Months are consecutiveNo gaps, and each closing balance is the next month's opening balance.
- Names and account numbers matchThe same on every page and month, and on the application.
- Statements are recentA Fannie Mae purchase loan needs the most recent full two months of account activity.
- Large deposits are sourcedFannie Mae counts a single deposit over 50% of total monthly qualifying income as large; on a purchase, the lender documents its source if the funds go toward the down payment, closing costs or reserves.
- A reviewer looks for editsFonts, spacing or PDF properties that don't fit the bank are a reviewer's call, not something extraction proves. See how to spot fake bank statements.
Where bank statement extraction is used#
Which team are you?
How to extract data from bank statements with Docsumo#
Docsumo is an intelligent document processing (IDP) platform. Its bank statement extraction uses pre-trained models, so there's no template to build for each bank, and for lenders it's often one part of a wider lending workflow. A rollout takes five steps.
- Pick one process and measure itStart where statements slow you down most, and record today's time per statement and error rate.
- Upload real statementsPDFs and scans from your own mix of banks, or through the API. Remove passwords from protected PDFs first.
- Extract and checkDocsumo reads the account details, balances and every transaction, joins tables that run across pages and checks running balances. On the Enterprise plan, cross-document validation compares the statement with the rest of the file, such as pay stubs and the application.
- Review what's flaggedFields below their confidence threshold go to your reviewers with the source line highlighted; their corrections improve the model.
- Send it on and keep measuringDownload to Excel or send the data through the API and webhooks, then compare a monthly sample with manual review.
What Docsumo doesn't do: it doesn't make the credit decision or replace your loan origination or accounting system, and it runs in the cloud only. Comparing vendors? See our comparison of bank statement extraction software.
The bottom line#
Bank statement extraction is easy to demo and hard to get right on real files. The test is whether transaction tables come out complete, balances reconcile and uncertain fields reach a person before the data is used. Start with one process, pilot on your own statements and measure against manual review.
Book a demo with a few of your own bank statements, or start a free trial: 14 days, up to 1,000 pages.
Frequently asked questions#
What is bank statement extraction?
It's the process of reading a bank statement, whether a bank-generated PDF, a scan or a phone photo, and turning it into structured data: account holder, account number, statement period, balances and every transaction. The output goes to a spreadsheet, a loan system or an accounting tool.
What is a bank extract?
A bank extract is the data taken from a bank statement: the account details, balances and transaction rows, in a spreadsheet, CSV or JSON file. It's what bank statement extraction produces, and what lenders and accountants work from instead of the PDF. You get one by keying the statement into a spreadsheet or running it through extraction software; for your own accounts, many banks offer the transactions as a CSV download.
What file formats can bank statement extraction read?
Bank-generated PDFs, scanned PDFs, image files such as JPG, PNG and TIFF, and phone photos of paper statements. Password-protected PDFs need the password removed first.
Is bank statement OCR the same as bank statement extraction?
No: OCR turns the page image into text. Extraction goes further: it finds each field, rebuilds the transaction table row by row, and checks that the balances add up. OCR alone gives you text; extraction gives you data you can use.
Can the same tools read credit card statements?
Yes, because a credit card statement has the same parts: account details, a billing period, a balance summary and a transaction table. Docsumo handles any document type, not only the 250+ it has pre-trained models for, and a check for duplicate transactions is a workflow step you set up, as an AI step or your own Python code. To get statements into a spreadsheet, see how to convert them to Excel.
How does extracted data get into a loan origination or accounting system?
Most tools send it through an API or webhooks, or export a spreadsheet file. Docsumo sends it through its API and webhooks, or you download it to Excel.
Sources
- Fannie Mae Selling Guide B3-4.2-01, Verification of Deposits and Assets
- Fannie Mae Selling Guide B3-4.2-02, Depository Accounts
First published . Last updated .