Bank statement analysis
Bank statement analysis built for MCA underwriting
Easify reads business bank statements with its own extraction engine and balances each one to its printed totals and running balance, flagging any file that doesn't reconcile. It then calculates true revenue, NSFs, negative days and average daily balance month by month. It also lists existing MCA positions by lender name, and the results go into a funder-ready PDF report.
What you get from every statement
Upload a business bank statement as a PDF and Easify returns an underwriting file, not a spreadsheet:
- Every transaction, with date, description and amount, grouped by account and month
- Opening and closing balance for each statement period, checked against the printed figures
- True revenue by month, with the excluded items listed so you can see why they were excluded
- NSFs, negative days and average daily balance (ADB), month by month
- Existing merchant cash advance (MCA) positions by lender name, with the debits attributed to each lender
- Fraud signals: documents that contradict themselves, duplicate uploads and suspicious deposit patterns
- A funder-ready PDF report you can send or attach to the deal
Balanced to the statement, or flagged
A statement already contains its own answer key. Easify checks the extracted transactions against the statement's printed totals and its running balance. When everything ties out, you can trust the totals. When it doesn't, the file is flagged as not reconciling, so you know before you price the deal. A statement that doesn't balance is never presented as if it did.
True revenue, not gross deposits
Gross deposits overstate what a business earns. Easify calculates true revenue by excluding credits that aren't sales:
- MCA and loan funding: money advanced to the merchant, which is a liability, not income
- Transfers between the merchant's own accounts
- Owner injections: money the owner puts into the business
Every excluded credit stays visible in the report with its reason, so an underwriter can override an edge case instead of re-keying the month. For how true revenue feeds into payment sizing, see the step-by-step guide.
Month-by-month risk metrics
Underwriters read trends, not just averages. For each month, Easify shows:
- NSFs: returned or non-sufficient-funds items
- Negative days: days the account closed below zero
- Average daily balance: the cushion the account carries day to day
- True revenue, so a strong month and a weak month aren't blended away
Existing positions and fraud signals
Recurring debits to other funders are grouped under each lender's name, so you can see the stack before adding to it. Read more about MCA stacking detection.
Easify also checks the document itself. It flags statements whose own figures contradict each other, the same statement uploaded more than once, and deposit patterns that warrant a second look.
Three ways to run it
- Web app: upload statements, review the analysis and download the PDF report.
- Chrome extension: run the same analysis from Salesforce, Zoho, HighLevel, LendSaaS or any other CRM.
- REST API + HMAC-signed webhooks: send statements from your own system and receive signed results. Docs are at /api/documentation.
Built for MCA funders and lenders and for ISOs and brokers. See how files are protected on the Security page. Bank statement analysis is one part of Easify's MCA underwriting platform.
Start free — 20 analyses a month
FAQ
What is bank statement analysis in MCA underwriting?
It turns a business's bank statements into the numbers an underwriter decides on: true revenue, existing advance payments, daily balances, NSFs and negative days. Easify does this from the statement PDF and balances the result to the statement's printed totals.
How do I know the numbers are right?
Each statement is checked against its own printed totals and its running balance. If the extracted transactions don't tie out, the file is flagged as not reconciling instead of being reported as clean.
What does true revenue exclude?
Easify excludes MCA and loan funding, transfers between the merchant's own accounts, and owner injections. Excluded items stay visible with a reason, so you can review edge cases.
Can I send statements through an API instead of uploading them?
Yes. Easify has a REST API and sends results to your system through HMAC-signed webhooks. The Swagger documentation is public at /api/documentation.
Does Easify work with my merchant's bank?
Easify is built for US business bank and credit union statements. The quickest way to check a specific bank is to upload one statement on the free plan.
Is there a free plan?
Yes. The free plan includes 20 analyses a month, and you can sign up at /register.