Banking & Lending Document Processing

Extract data from bank statements

Unstract reads checking, savings, credit card and mortgage statements, from online-banking PDFs to phone photos of paper pages, and sends every transaction, balance and fee to your loan origination system.

whitfield-checking-sep-2026.pdf · borrower asset documentationstructured data
{  "bank": "Cedar Ridge Community Bank",  "account_holder": "Dana M. Whitfield",  "account_number": "****6352",  "statement_period": "Sep 1 – Sep 30, 2026",  "opening_balance": 412.38,  "total_deposits": 6793.64,  "total_withdrawals": 2183.79,  "closing_balance": 5022.23,  "nsf_fees": 35,  "confidence": 0.95}

Trusted by lending and onboarding teams around the globe

G2 Leader, Fall 2026G2 Best Usability, Summer 2026
Moody'sEndpointMedaxionPinpointConvrSmart ClerkCyberSoftThoughtFocusZluriIOA
What arrives

Borrowers send statements in whatever form their bank gives them

Some download a clean PDF from online banking. Many photograph paper pages on the kitchen table or forward a screenshot of an app.

Paper statements photographed on a table, shadowed and tilted

WITHDRAWALSDEBITSAMOUNT OUT

Three banks, three names for the same withdrawal column

DEPOSITSOURCE2,500.00TRANSFER?YESNO

Margin notes from the borrower explaining a deposit, one amount struck through

CHKSAVCCLOE3 ACCOUNTS · 26 PAGES

Two months, three accounts, one upload from the borrower portal

CSV EXPORT · 1,912 TRANSACTIONS

Transaction history exported as a CSV instead of a statement

Processors add up deposits, hunt for NSF fees and check every month is present by hand, so a loan file waits days for asset verification before an underwriter can clear it.

Unstract reads each statement in its own bank's layout, extracts every transaction and balance, checks the running balance and the months covered, and posts the result to your loan origination system with the questions already raised.

Book a consultationFree consultation worth $1,000. Bring a stack of borrower statements and watch them read.
How it works

From a borrower's statement to verified assets on one platform

Parse the statement, extract the transactions, run asset verification around them. Use any one product alone, or stack all three and let the loan file move without anyone retyping a deposit.

Bank statement OCR

Parse bank statements with every transaction kept on its own row

Get the full text of a statement whether it came as a bank-generated PDF, a scan from a branch or a phone photo of a printed page. Date, description, withdrawal, deposit and running balance stay on the same line, multi-page transaction tables carry across page breaks, and the account summary box is read separately from the activity below it.

Send the text to your own LLM, or make parsing the first step of an asset verification workflow.

Learn more about LLMWhisperer
BANKCedar Ridge CommunityHOLDERDana M. WhitfieldACCOUNT****-****-6352PERIODSep 1 – Sep 30, 2026OPENING412.38TRANSACTIONS8 linesCLOSING5,022.23
AI data extraction

Turn bank statements into transaction records an underwriter can trust

Bank statement data extraction starts with the fields you name: the account holder, account number, period and balances, and then every transaction with its date, description, amount and type. A credit union's two-column layout and a national bank's four-column one return the same JSON. Each statement is checked as it comes out: the transactions must carry the opening balance to the closing one, and a deposit that is not payroll or a returned item fee is flagged with the reason.

Developers call it as a bank statement OCR API from a borrower portal or a lending app, operations teams run it as an ETL pipeline from the loan documents folder, or it becomes one step of an orchestrated loan file.

Learn more about Document Studio
account_holderDana M. Whitfield✓statement_periodSep 1 – Sep 30, 2026✓large_deposit2500.00⚑nsf_fee35.00⚑closing_balance5022.23✓⚑ not payroll, need LOE⚑ check #1182 returned
Agentic process automation

Run mortgage loan origination from the upload to a clean loan file

Describe how your team verifies assets and income from bank statements in plain English, and Flow's agents build the workflow. The 1003, pay stubs, W-2s and statements are split and indexed to the loan, each statement is read, payroll deposits are compared with the stated income, and balances are checked against the funds needed to close. Clean fields land in your loan origination system, such as ICE Encompass or Dark Matter Empower. You approve the workflow once, and every loan file runs through it identically.

Choose when a person steps in: income off the 1003 beyond your tolerance, an unexplained large deposit, a missing statement month or a low-confidence read. Only those files stop, with the statement page that raised the question, for a loan processor to clear or turn into a condition.

Learn more about Flow
1
Loan file intakeStatements arrive with the 1003, pay stubs and W-2s, often one big PDF
2
Stack and indexEach statement indexed to the loan and the account it belongs to
3
Read and extractParseSummary box and every transaction line as textExtractHolder, balances, deposits, fees
4
Income and asset checksPayroll matched to stated income, large deposits and gaps flagged
5
ConditionsA missing month or unsourced deposit becomes a condition on the file
6
Into the LOSVerified assets and indexed statements land in Encompass or Empower

Extract bank statement data now. Automate the loan file when you're ready.

Start for free and run your own borrowers' statements through parsing and extraction today. Income checks, conditions and posting to your loan origination system begin with a consultation.

Supported documents, processes & fields

Bank, card and mortgage statements, and the rest of the asset file

Documents

  • Bank account statements
  • Savings and money market statements
  • Business bank statements
  • Credit card statements
  • Mortgage statements
  • Bank reconciliation statements
  • Home equity line statements
  • Auto loan statements
  • Online banking transaction exports (CSV)
  • Verification of deposit forms
  • Brokerage statements
  • Retirement account statements
  • Pay stubs
  • W-2 forms
  • Letters of explanation
  • Gift letters

Fields captured

Bank nameAccount holderJoint account holderMailing addressAccount number (masked)Routing numberAccount typeStatement periodStatement datePage countOpening balanceClosing balanceAverage daily balanceTotal deposits
Who it's for

For the people who build and clear a loan file

Mortgage lenders and loan officers

Loan officers see a borrower's verified assets and income while the conversation is still fresh, and know which deposit needs a letter of explanation before they promise a closing date.

Loan processors and underwriters

Processors stop adding deposits on a calculator, and underwriters open a file with every month accounted for, every NSF fee listed and every large deposit sourced or conditioned.

Credit unions and community banks

Members' statements from any local bank or credit union are read in their own layout, so a small lending team handles more applications without hiring for document review.

Consumer and auto lenders

Consumer and auto applicants who are self-employed or paid in gig work can be decisioned on months of real deposits, with the transaction history in your loan origination system.

Outcomes

Asset verification done before the underwriter opens the file

<3 minfrom a statement uploaded to transactions in your loan file
91%of statements extracted without a processor's edit
54%fewer hours spent keying deposits and balances
2×faster from application to a file ready for underwriting
This is a wonderful utility that helps me recognize bank statements from Bank of America, I have been using it every day
G2Yuriy V.Developer, Meest · Reviewed on G2
1 / 3
Security

Protecting the most personal record a borrower hands over

A bank statement carries a person's account number, balances and every transaction they made: where they shop, who they pay, what they earn and when. That is enough to open fraudulent credit or take over the account.

AICPA SOC 2ISO 27001GDPRHIPAA
  • Encrypted in transit and at rest.
  • Borrower statements are never used for model training.
  • Access by role, branch and loan file, with every edited transaction and cleared flag recorded against the borrower.
  • You set retention: statements are deleted when your record-keeping and privacy policy says they can go.
  • Self-hosted deployment for lenders and credit unions whose examiners expect member data to stay inside their own environment.
See how borrower data is protected in the Trust Center
Questions

What lending teams ask about reading bank statements

LLMWhisperer is the OCR engine: it reads scanned, photographed and bank-generated statements into text with each transaction row kept intact, and returns it through one API call. Document Studio then extracts the fields you define, so a developer gets a JSON record per statement from an endpoint instead of writing a parser per bank.

Look for three things: it reads statements from banks it has never seen, it checks that the transactions add up to the closing balance, and it fits where your loan files already live. Unstract deploys as an API endpoint, an ETL pipeline or an MCP server, and posts results to your loan origination system.

Unstract extracts every transaction with its date, description, amount and running balance, and tags payroll deposits, transfers, returned items and fees. The AI sits in the extraction layer, and two models check each value, so a figure they disagree on comes back empty for review rather than wrong.

Upload the statement, name the fields you want, and run it. Try it free on your own statements, or point an ETL pipeline at the folder your borrower portal writes to so every new upload is read on arrival.

Yes. Every transaction comes back as a row with date, description, withdrawal, deposit and balance, so bank statement to Excel or CSV is one export. Most lenders send the same rows straight to the loan file instead of a spreadsheet.

A bank statement parser written with rules or templates breaks when a bank changes its layout. Document Studio finds the fields by meaning, so a new bank, a redesigned statement or a credit union's own format needs no new template.

Yes. Credit card statements return the balance, minimum payment and due date for the debt-to-income calculation. Mortgage statements return the servicer, principal balance, escrow and payment history. Bank reconciliation statements are read the same way.

You set the rules: a deposit above a share of monthly income, or one that is not payroll, is flagged with the statement line, and every NSF or overdraft fee is listed with its date. The loan processor decides whether it becomes a condition.

Yes. Each statement's period and page count are extracted, so a gap between months or a "page 2 of 4" with no page 3 is raised before the file reaches an underwriter.

Unstract is SOC 2, ISO 27001, GDPR and HIPAA compliant. Statements are encrypted in transit and at rest, never used to train models, and deleted on the schedule you set. Lenders that keep member data in-house can self-host; see the Trust Center.

Next step

Bring a week of borrower statements to the consultation

Phone photos, credit union PDFs, a CSV export and the statement with a deposit nobody has sourced yet. We read them live and show the transactions, the balance check and every flag.

Start for freeOr try it on your own statements today.