Bank Statement Analysis SupportsFive Numbers, Then Stops

Lenders making SBA 7(a) Small Loans must review the two most recent months of commercial bank activity on the primary operating account before they can sign off on repayment ability. That requirement is a useful scale for the whole exercise. The statement is there to show what moved through the account, not to produce a credit decision on its own.

The analysis still matters. For a thin-file borrower or a business whose tax return is a year stale, the statement is the freshest evidence of cash flow. The trouble starts when five derived numbers get treated as five facts. Each one has a definition, a calculation, and a way of flattering the borrower. This guide covers those five numbers, the point where each one stops being reliable, and the table you need if another person is going to recompute them.

Stop typing data by hand — let AI read it for you
Upload an image or PDF — structured spreadsheet data in 10 seconds
Try It Now →
Bank statement analysis supports five numbers, not a credit decision, with icons for true revenue, average daily balance, NSF and returns, existing debt, and large deposits

Key Takeaways

  1. $60,000 of the owner's own money, moved in and back out, pushed gross deposits to $200,000 while real revenue was $140,000.
  2. $120,000 parked for two days lifted a 30-day average daily balance by about $8,000 without changing the borrower's ordinary liquidity.
  3. The statement can show that $140,000 arrived from customers and $18,000 was usually on hand, not that the next twelve payments will.

What Bank Statement Analysis Can Answer

Bank statement analysis is the process of turning an account's transactions into a small set of measures of cash flow, liquidity, and existing obligations. It answers questions about what the account did. It does not answer whether the borrower will repay.

The work is easier to follow when the four steps are kept apart. Extraction reads the transaction lines into rows. Classification decides what each line is, for example operating revenue, an own-account transfer, a loan advance, or a bank fee. Analysis computes the five numbers from those labels. Decision applies credit policy, collateral, guaranties, industry risk, and the loan structure. Only the first step is close to mechanical. The other three involve rules and judgment.

The roles usually split along that line. The loan officer collects the statements and asks the borrower for missing pages. The credit analyst extracts, classifies, and computes. The underwriter tests the result against policy and owns the decision. When a step is skipped, the next role inherits a number with no evidence behind it.

A credit analyst on r/CreditAnalysis put the role plainly in 2025: bank statements are used to "validate cash liquidity," and twelve months of them can support monthly cash flow modeling for a seasonal business or a tight deal. That is a narrower claim than "the statements tell you whether to lend." It is also the claim the document can actually support.

Before the detail, here is the full set. The rest of the article takes one row at a time.

NumberQuestion it answersHow it misleads
True revenueHow much came in from customersTransfers, loan proceeds and refunds counted as sales
Average daily balanceHow much cash the account usually heldA short round trip, or a closing balance mistaken for the average
NSF and returned itemsHow often the account ran shortRefunded fees, overdraft protection and same-day counting
Existing debtWhat is already committed each monthMCA and daily ACH payments hidden in generic debits
Large depositsWhat needs a sourceA documented source that is not operating revenue

The five numbers describe the account. The credit decision describes the borrower, the loan, and the downside. They are not the same object.

One practical note before the metrics. The rows have to come from the statement itself, not from a bank feed that covers only some institutions. If the borrower's accounts sit at three banks, the analysis needs all three. The mechanics of turning statements into structured rows are a separate problem from the underwriting question, but the underwriting question cannot start until the rows are complete.

True Revenue Is Deposits Minus the Money That Never Left the Building

True revenue of $140,000 from $200,000 in deposits after excluding $60,000 in transfers

Gross deposits are the most overused number in bank statement analysis because a deposit is a movement of money, not a sale. A transfer from the owner's savings account and a customer payment can look identical in the credit column. Only one of them is revenue.

The exclusions are not exotic. They are the ordinary movements that show up in a small business account every month:

  • Transfers between the borrower's own accounts, including a sweep from savings or a second operating account.
  • Loan proceeds, merchant cash advances, and draws on a line of credit.
  • Refunds and reversals, including a supplier refund or a returned payment coming back.
  • Owner contributions, related-party transfers, and proceeds from selling an asset.
  • Customer deposits that were later returned unpaid.

A simple example shows the size of the distortion. An account takes in $200,000 of deposits in a month. Of that, $60,000 arrived from the owner's savings account and $60,000 went back a week later. Gross deposits are $200,000. Revenue from operations is $140,000. The difference is 30%, and nothing about the business changed.

The same problem appears across accounts. A transfer out of the operating account is a debit there and a credit in the savings account. If the analyst reviews only the operating account, the incoming leg of the transfer looks like a customer payment. If the analyst reviews both accounts, the two legs can be matched and removed. This is why a statement package that covers one account is not a complete revenue analysis, even when the balances look healthy.

Count the deposits as well as the total. A business with 200 card settlements in a month is a different credit from one with two large payments from a single customer, even when the totals match. The count, the payer names, and the cadence are part of the revenue picture. A single customer paying 40% of the month is a concentration, not just a deposit.

When the borrower is salaried, the cross-check is different. Payroll credits should line up with the employer and the pay cycle, and a payslip extraction can confirm the gross and net figures. For a business borrower, the equivalent check is the invoice or the customer contract behind a large deposit, not a second bank statement.

A transfer between two accounts the borrower controls adds to gross deposits and nothing to revenue.

Average Daily Balance Measures the Cushion, Not the Flow

Average daily balance answers a different question from revenue: how much cash did the account usually hold while the money was moving? A business can deposit $80,000 a month and still run an average daily balance of $2,000 if the money leaves as fast as it arrives.

The common definition is the sum of each day's closing balance divided by the number of days in the statement period. Days with no transactions carry the previous day's balance forward, and weekends and holidays count. That last detail is where two analysts can produce two different numbers from the same statement. A team that uses business days instead of calendar days is not wrong, but it has to write the convention down and use it for every file.

Average daily balance analysis is also where a single transaction can do the most damage. Suppose an account opens at $20,000. A $120,000 deposit lands two days before the statement closes and leaves two days after. The closing balance on the statement is unchanged. The average daily balance over a 30-day period is about $8,000 higher, because the deposit sat there for two of the thirty days. Nothing about the borrower's ordinary liquidity changed. The number moved because of when the money arrived.

A closing balance is not an average. It is one day's snapshot, and it is the easiest day to dress. A deposit that lands on the last day of the cycle can make the account look flush in the summary while the other 29 days were thin. If a credit memo reports one balance without saying which one, the reader cannot tell whether it is the closing balance, the minimum, or the average.

Report the number with three pieces of context: the period it covers, whether it uses calendar or business days, and whether it includes every account the borrower uses. A six-month average across one account and a one-month average across another are not comparable figures, even when both are labeled "ADB."

NSF and Returned Items: Count Events, Not Fees

Count NSF events not fees, comparing a fee total view that shows zero after reversal versus an event count that shows four NSF events

NSF and overdraft counts are more useful than fee totals because a fee can be refunded and the event cannot. The distinction is not cosmetic. It changes how many times the account actually ran short.

Three events get mixed together in casual use. A non-sufficient funds item is a payment the bank declined. An overdraft is a payment the bank paid anyway, leaving the account negative and usually charging a fee. A returned item can also mean a deposit that came back unpaid, which is a different event from a payment the borrower failed to make. The statement labels them differently, and the count should keep them apart.

Fee reversals are the first place a fee-based count goes wrong. When a bank refunds an NSF charge, two lines usually appear: the fee and the credit that gives it back. Net the two and the event disappears from a fee total. The shortfall still happened. If the analyst only sums fees, the month looks cleaner than it was. If the analyst counts the original fee line, the month is counted, but the reversal has to be recorded so the same event is not counted twice in a later period.

Overdraft protection creates a different blind spot. A transfer from a linked savings account can cover the shortfall before the checking account goes negative, so no NSF fee appears. The only trace is a transfer in, often on the same day or the next business day, tied to a debit that would otherwise have failed. A fee-only view misses it. A running-balance reconstruction catches it, but it also catches ordinary transfers that have nothing to do with a shortfall, so the analyst still has to read the timing.

Counting rules vary by loan program. Some count every fee; some count multiple items on the same day as one event; some exclude reversed fees; some exclude overdrafts covered by a qualifying linked account. There is no universal number for "too many." The rule belongs next to the count in the credit file, not in the analyst's memory.

The trend is usually more informative than the total. Four events in one bad month and none since is a different story from one, then two, then three. The first is a timing problem. The second is a business running out of cash in a way the balance alone does not show.

A refunded fee does not undo the shortfall that caused it.

Existing Debt Is Often the Payment the Credit Report Does Not Show

A $412 daily debit adds up to $8,700 per month in debt missing from the credit report, flagged as not in DSCR

The most expensive blind spot in a statement is a debt the credit report does not show. Merchant cash advances, equipment leases, factor remittances, and short-term loan payments can all leave the account on a fixed schedule without appearing as a familiar loan tradeline.

Look for three things together: the same payee, a fixed or near-fixed amount, and a daily or weekly cadence. A $412 debit every business day is about $8,700 a month. If that payment is not in the debt service figure, the debt service coverage ratio is wrong, and it is wrong in the direction that makes the loan look safer than it is. Monthly lease and loan payments are easier to spot, but they still need to be tied to a named creditor rather than left in a generic "ACH debit" bucket.

The credit report is not useless here. It can show a tradeline and a scheduled payment. What it cannot show is the actual cash that left the account, the day it left, or a position that never reported. The statement shows the cash. That is why the two documents are read together.

For SBA 7(a) Small Loans, the SOP 50 10 requires the lender to review the two most recent months of commercial bank activity on the primary operating account and confirm that all debts were included in the debt service coverage calculation. The same section sets a minimum DSCR of 1.10:1 for those loans. The two-month review is a confirmation step, not a statement that two months is enough to see seasonality. A seasonal business can look comfortable in its best two months.

Build the debt schedule creditor by creditor, then reconcile it to the statement. The schedule answers two questions: how much debt is on the books, and how much cash leaves this account every month to service it. Those two numbers can differ, and the statement is the place where the difference shows up.

A Large Deposit Is a Document Question Before It Is an Income Question

A large deposit needs a source before it needs a revenue label. The source tells you whether the money belongs to the borrower and whether it is available. It does not tell you whether the money is recurring operating income.

Program rules define the threshold. In a mortgage file, Fannie Mae's Selling Guide defines a large deposit as a single deposit that exceeds 50% of the total monthly qualifying income for the loan. On a purchase transaction, if the money is needed for the down payment, closing costs, or reserves, the lender has to document that it came from an acceptable source. The guide also says that a deposit whose source is printed on the statement, such as payroll, a tax refund, or a transfer between verified accounts, may not need further explanation.

That last sentence is where analysts sometimes stop too early. A transfer between the borrower's verified accounts is sourced, but it is not revenue. Loan proceeds are sourced, but they are not revenue. The sale of an asset is sourced, but it is not recurring. Owner capital is sourced, but it is not a customer payment. The document question and the income question have different answers, and a file can pass the first while failing the second.

Three checks are worth doing on any deposit large enough to change the month:

  1. Did it stay? A deposit that arrived three days before the statement closed and left three days after is not a liquidity cushion, even if it is a real customer payment.
  2. Who is the counterparty? A related party, a lender, or an owner is a different signal from a customer with an invoice.
  3. Is it repeatable? One large payment can be a legitimate contract. It cannot be annualized without evidence that the same customer will pay again.

The large-deposit review is also a good place to test the statement's own integrity. A round-number deposit with no counterparty, a credit that does not match any invoice, or a deposit that appears twice in the same period is an exception to resolve before it becomes a revenue assumption. The exception is not proof of fraud. It is a reason to ask for the document behind the number.

A Statement Period Is Not a Calendar Month

A statement period is not a calendar month, and a monthly total that ignores that is not comparable to the tax return, the application, or the prior month's total. Banks close statements on their own cycle, often tied to the day the account was opened or a fixed billing date.

A statement that runs from the 4th of March to the 3rd of April contains three days of April. If the analyst labels the whole file "March," those three days are counted in March and the April total starts on the 4th, so neither month matches its calendar counterpart. The error is small in a single month and repeats in every month. The fix is simple: capture the statement start date and end date from the document header, put them on every row, and group by the printed period rather than the filename.

Continuity is the stronger check. The closing balance on one statement should equal the opening balance on the next one, to the cent. If it does not, something sits between them: a missing statement, a missing page, a different account, or a transaction that did not post. A file can look complete by month label and still fail this test.

The statement also has to balance on its own terms. Opening balance plus credits minus debits should equal the closing balance. If it does not, the page may be truncated, a column may have been read incorrectly, or the statement may not be a complete document. A number that does not foot is not a data-cleaning problem to work around. It is a reason to request a replacement copy.

Ownership belongs in the same gate. The account holder name, the address, the last four digits, and the statement period should match the application and the rest of the file. A DBA, a trade name, or a joint account can be legitimate, but the explanation has to be in the file. The same discipline applies when accounting teams use the rows for bank reconciliation and month-end close: the period has to be the printed period, not the folder name.

The balance carry-forward test catches a missing month that the filename says is present.

Where the Document Stops Supporting the Number

The statement can support a number and still not support the decision that number is used for. The boundary is easier to hold when it is stated in advance.

It cannot make the credit decision. The statement does not know the collateral, the guarantor, the industry cycle, or the lender's risk appetite. SBA's credit criteria require that a loan be "so sound as to reasonably assure repayment," which is a judgment about the whole file, not a threshold on one metric (13 CFR 120.150). A 1.10:1 DSCR and a clean twelve-month statement can still sit inside a weak credit.

It cannot determine fraud. A balance that does not foot, an inconsistent font, or a deposit with no counterparty is an exception. It is not a finding that the document was altered. Document forensics, source verification with the bank, and identity checks are separate work. Treating an arithmetic error as proof of fraud is as wrong as ignoring the error.

It cannot make an accounting judgment. Whether a transfer is an owner draw, an intercompany loan, or revenue depends on the business and the records around it. The statement shows the movement. The ledger, the tax return, and the borrower's explanation decide what the movement means. That is why the same deposit can be revenue for a restaurant and a related-party transfer for a holding company.

It cannot classify without industry context. A Zelle payment from a regular customer is probably revenue for a restaurant. A Zelle payment from the owner is probably not. A transport company's weekly transfer from a factoring company is a financing cash flow, not a customer sale. The description on the statement rarely carries enough context by itself. The analyst supplies the context, or asks for it.

It cannot see the accounts that were not provided. One healthy operating account is not the whole business. Cash accounts, credit cards, lines of credit, and a second bank can change the liquidity and debt picture. The statement analysis is only as complete as the package.

It cannot settle a policy threshold. There is no universal "good" average daily balance, no universal NSF limit, and no universal lookback. Programs differ. A number that clears one credit box can fail another. The memo should say which policy the number was tested against.

A statement can tell you what the account did. It cannot tell you what the borrower will do.

Build the Table So Another Person Can Recompute Every Number

The table has to be built so that every number above can be recomputed and traced. Otherwise the analysis is a set of conclusions with no audit trail, and the next reviewer has to start over.

The extraction step comes before the analysis. Custom Column Extraction means you type the column names you want, and the AI locates each value by meaning rather than by a fixed template or coordinate. The names you type become the headers of the output table. For a bank statement file, a workable column set looks like this:

ColumnWhy it belongs in the table
Statement Period StartGroups rows by the printed cycle, not the filename or the month label
Statement Period EndCloses the period and supports the continuity check
Account HolderSupports the ownership check against the application
Account Number (last 4)Separates accounts without storing the full number in the working file
Transaction DatePlaces the line in the right day for a daily balance table
DescriptionCarries the counterparty, the fee type, and the bank's own wording
Credit AmountSeparates inflows from outflows before any total is calculated
Debit AmountKeeps the sign convention explicit
Running BalanceSupports the balance check and the daily balance table
Opening BalanceGives the statement's own math a starting point
Closing BalanceGives the continuity check and the balance check an endpoint
Deposit TypeAn inferred column that proposes a label for each credit

The Deposit Type column is the one that needs the most care. An inferred column lets you give the AI a set of options, such as Operating revenue, Transfer, Loan proceeds, Refund, or Owner contribution, and it assigns a label based on the transaction content. That label is a proposal. The analyst still decides whether a Zelle from a regular is revenue and whether a transfer from a related company is operating cash. The value of the column is consistency: every credit gets a label, every exclusion has a reason, and the next reviewer can see both.

A computed column carries the arithmetic that should not be redone by hand. Two are worth setting up on every file. One totals the credit lines within each statement. The other checks the statement's own math by comparing the opening balance plus credits minus debits with the closing balance, and outputs the difference when the two sides do not match. That second column turns a manual footing check into a row-level exception you can filter.

What a computed column should not be asked to do is produce the average daily balance from a transaction list. ADB needs a daily balance table: one row per calendar day, with the last known balance carried forward. The extracted dates and running balances give you the inputs, but the day spine belongs in Excel, Google Sheets, or your analysis tool. Claiming otherwise would make the output look more complete than it is.

Batch processing is the other structural advantage. Twelve monthly statements can go into one batch and come out as one table with a shared column set, instead of twelve files with twelve slightly different layouts. That consistency is what makes a six-month or twelve-month trend comparable. A fuller walkthrough of the extraction step covers the format and page-level details.

JPG/PNG/PDF AI Extraction

Files are processed securely and not stored.

Review Mode with bbox-assisted verification is the last link in the chain. Hover over an extracted cell, and the original line is highlighted on the statement image. Click a region on the statement, and the matching cell is selected. That is how a reviewer checks the one deposit that changed the revenue number, or the one fee that looks like an NSF item, without scrolling through forty pages by eye. It does not tell the reviewer whether the classification is right. It makes the evidence easy to see.

A five-step check before the memo keeps the table honest:

  1. Confirm the statement periods are continuous and each statement balances.
  2. Exclude named transfers and non-operating credits, and record the reason on each exclusion.
  3. Build the daily balance table and compute ADB with the stated convention.
  4. Classify NSF, returned items and recurring debt, then write the program rule used for each count.
  5. List the large deposits and unresolved exceptions, and state which numbers the document does not support.

The analyzer is a person. The tool supplies the transaction rows, the period totals, and the link back to the page. It does not approve, decline, or score a borrower. That boundary is not a limitation to apologize for. It is what makes the output usable in a credit file: the numbers are traceable, and the judgment has a named owner.

FAQ

How many months of bank statements should an underwriter review?

Use the lookback the loan program requires, then add more if seasonality matters. SBA 7(a) Small Loans require the two most recent months of commercial bank activity on the primary operating account to confirm debts, but two months is a confirmation step, not a seasonal analysis. Many cash-flow lenders use three to six months, and bank statement loan programs often require twelve or twenty-four. Review every account the borrower uses, not only the healthiest one.

What is a good average daily balance?

There is no universal number. It depends on monthly deposits, existing debt service, the proposed payment, and the lender's policy. Some short-term funders screen ADB as a percentage of monthly deposits, but the percentage is set by their credit box, not by the statement. Report the ADB with its period and calculation method, then compare it with the obligations the account has to carry.

Do transfers between the borrower's own accounts count as revenue?

No. They are movements of the borrower's own money. Exclude them, and record which accounts the transfer moved between. The trap is reviewing one account in isolation: the incoming leg looks like a customer payment until the other account is in the package.

How should NSF and overdraft fees be counted?

Count events, not fee dollars. Separate declined payments, paid overdrafts, and returned deposits. Check whether the bank reversed the fee, whether overdraft protection covered the shortfall, and whether multiple items on the same day count as one event under the program's rules. Write the rule next to the count.

Can bank statement analysis software detect a fake statement?

It can check whether the statement's own arithmetic holds and whether the periods, balances, and account details are internally consistent. That is not a fraud determination. Altered documents, forged bank confirmations, and identity issues require separate forensic and verification work. A balance that does not foot is a reason to request a replacement statement, not a conclusion about the borrower.

Is bank statement analysis enough to approve a loan?

No. It is one input. The decision also depends on credit history, collateral, guaranties, industry risk, loan structure, and the lender's policy. The statement can show repayment capacity and liquidity; it cannot show what happens to the business if its largest customer leaves or the economy turns.

Five Numbers, One Judgment

The five numbers are worth having because each one can be traced to a line and checked against the statement's own math. True revenue, average daily balance, NSF and returned items, existing debt, and large deposits each answer a narrow question. Each one can be pushed in the borrower's favor by a transfer, a timing difference, a refunded fee, or a cycle that does not line up with the month.

The work is to state the definition, keep the evidence, and stop where the document stops. A statement can show that $140,000 came in from customers and that the account usually held $18,000. It cannot show that the next twelve payments will arrive. That last step is the underwriter's, and it should stay there.

Run the Five Numbers on One Statement

📮 contact email: [email protected]