Bank Statement Conversion for Income Verification
Underwriting a bank statement loan? Convert borrower PDFs to CSV to total qualifying deposits, flag large deposits, and catch NSFs across 12 or 24 months.
TL;DR - Quick Summary
To verify income from bank statements, convert the borrower's PDFs to a CSV first. Then total eligible deposits across 12 or 24 months and divide by the month count for average monthly income, flag any large deposit over half of monthly income, and scan for NSF and overdraft activity.
Reading a borrower's statements at scale
A bank statement loan lives or dies on the deposits, and a self-employed file often means 12 or 24 months of PDFs across more than one account. Eyeballing that many pages to add up income, pick out large deposits, and spot overdrafts is slow and invites mistakes that surface later in the file. Converting every statement to a CSV turns the whole set into one sortable ledger of dated transactions. From there the analysis is filtering and totaling a spreadsheet, and every figure you quote to underwriting traces back to a specific line rather than a highlighted page.
Averaging deposits into qualifying income
The core calculation on a bank statement loan is straightforward once the data is structured: total the eligible deposits over the 12- or 24-month period and divide by the number of months to get average monthly income. The work is in deciding what counts. In a converted CSV you can isolate the deposit column and exclude what is not income, transfers between the borrower's own accounts, loan proceeds, tax refunds, and one-off reimbursements. Summing the remainder gives a defensible qualifying figure you can compare against the borrower's stated income, and the same sheet documents exactly which deposits you included.
Spotting large deposits that need sourcing
Any deposit larger than half of the borrower's monthly income draws scrutiny and has to be sourced and seasoned, with a documented origin and at least 60 days in the account. Finding those by hand across two years of statements is exactly the kind of thing that gets missed. Sorting the converted deposit column from largest to smallest surfaces every outsized credit in seconds, so you can request the paper trail up front instead of during a condition-clearing scramble. Catching them early is what keeps a large unexplained deposit from stalling the file late in underwriting.
Catching NSFs and overdrafts before underwriting does
Overdrafts, bounced checks, and NSF fees are a documented red flag: they suggest tight cash management, Freddie Mac calls for added scrutiny when they appear, and on an FHA file the presence of NSF fees forces a human underwriter to manually re-approve even after an automated pass. Filtering the converted transactions for fee and overdraft descriptions gives you a count and the dates before the file goes up, so nothing is a surprise. Knowing the NSF picture in advance lets you set borrower expectations and document explanations rather than react to a suspended approval.
Handling borrower data responsibly
Verifying income means handling a borrower's complete banking activity, often two years of it. Statements are processed to produce the CSV and then deleted automatically, so nothing is retained on a server after the file is generated. That keeps sensitive borrower records out of a third-party system and fits the privacy obligations that come with a loan file. For a shop pulling files from many banks and borrowers at once, bulk conversion plus automatic deletion is what makes working from borrower PDFs both quick and defensible.
How it works
- Convert the statements: Convert the borrower's 12 or 24 months of PDF statements into a single sortable CSV.
- Average the income: Total eligible deposits, exclude transfers and non-income, and divide by the number of months.
- Flag large deposits: Sort the deposit column and request sourcing for any credit over half of monthly income.
- Scan for NSFs: Filter for overdraft and NSF descriptions, then verify reserves from the ending balances.
Comparison
| Check | From PDFs by hand | From a converted CSV | Underwriting impact |
|---|---|---|---|
| Average income | Add deposits page by page | Sum deposits, divide by months | Qualifying income |
| Large deposits | Skim for big numbers | Sort the deposit column | Sourcing letters |
| NSF / overdraft | Read every line | Filter fee descriptions | Manual review triggers |
| Reserves | Total ending balances | Pull the ending balances | Closing and reserves |
A 24-month statement set converts to one searchable deposit ledger in about 10 minutes. Convert your statements now.
See pricing