Bank Statement Analyzer: From PDF to Income, Expenses and Cash Flow

Analysis starts with clean data. Convert PDF statements into verified rows, then answer the real questions — where the money came from, where it went, and how the balance moved month by month.

How do I analyse a bank statement?

Convert the PDF statement into structured rows first: upload it here and download Excel or CSV with date, description, amount and balance. Then add a month column and a keyword-based category column, and build a pivot table to see income, expenses, top categories and monthly cash flow. The conversion takes seconds and is free up to 50 pages a month.

A bank statement analysis in four steps

  1. 1

    Extract the transactions

    Upload each statement PDF (digital or scanned) and download Excel. Every row is checked against the running balance, so your analysis isn't built on a missing or misread line.

  2. 2

    Combine the months

    Paste several months — or several accounts — into one sheet. Add a column for the account name if you combine accounts.

  3. 3

    Categorise

    Add Month and Category columns with the formulas below. A short keyword list (salary, rent, UPI, ATM, EMI, fuel…) covers most rows; fix the rest by hand.

  4. 4

    Summarise

    Insert a pivot table: Month in rows, Category in columns, sum of Amount as values. That is your income-and-expense and cash-flow summary.

Step 1 — extract your statement now

Drop PDF here or click to upload

Max 20 MB · Text-based or scanned PDF

What this tool does — and what you do

To be clear about the split: Bank Statement Parser is the extraction step. It reads PDF statements from any bank, pulls out every transaction, checks each row against the statement's running balance and gives you Excel, CSV or JSON. It does not categorise transactions, score creditworthiness or produce a ready-made report for you.

That is deliberate. Categories mean different things to a household budget, a small business, a loan officer and an auditor — and once the data is clean and verified, the analysis itself is quick in a spreadsheet you already know. Developers building their own analyser can take the same verified rows as JSON from the REST API.

Formulas for the analysis

Assuming the converted sheet has Date in column A, Description in column C, Amount in column E (positive = money in, negative = money out) and Balance in column F — adjust the letters to your file:

Month (add as a new column)

=TEXT(A2,"yyyy-mm")

Total money in

=SUMIFS(E:E,E:E,">0")

Total money out

=-SUMIFS(E:E,E:E,"<0")

Net cash flow

=SUM(E:E)

Category from a keyword list (Keywords sheet: A = keyword, B = category)

=IFERROR(LOOKUP(2^15,SEARCH(Keywords!$A$2:$A$50,C2),Keywords!$B$2:$B$50),"Uncategorised")

Spend in one category

=-SUMIFS(E:E,H:H,"Groceries",E:E,"<0")

Lowest balance in the period

=MIN(F:F)

If dates came in as text rather than real dates, use =LEFT(A2,7) for the month instead — the converter writes dates year-first (YYYY-MM-DD), so the first seven characters are the year and month.

What you can learn from a statement

  • Income sources — salary, client payments, refunds and transfers in, and how regular they are.
  • Spending by category — rent, utilities, groceries, fuel, subscriptions, loan EMIs and card payments.
  • Monthly cash flow — money in minus money out for each month, and whether the balance trends up or down.
  • Recurring payments — the same description and amount every month usually means a subscription, standing order or EMI.
  • Fees and exceptions — bank charges, returned or bounced cheques, overdraft interest and penalty entries (search the description column for words like CHARGE, RETURN or PENALTY).
  • Large or unusual transactions — sort by amount to see the biggest movements first.

Lenders often look at the average balance over the period. A simple =AVERAGE(F:F) of the balance column is only an approximation, because it weights each transaction rather than each day; for a strict daily average, carry the closing balance forward for every calendar day first.

Keyword ideas for categories

Keyword in descriptionCategory
SALARY / PAYROLLIncome — salary
UPI / IMPS / NEFT / RTGSTransfers (split further by payee)
ATM / CASH WDLCash withdrawal
EMI / LOANLoan repayment
RENTRent
ELECTRICITY / WATER / GASUtilities
CHARGES / FEE / GSTBank charges

Descriptions vary by bank — check a few rows of your own statement and extend the list.

Frequently asked questions

Is there a free bank statement analyzer?

The extraction step here is free for the first 50 pages every month with no credit card. Combined with the Excel formulas and pivot table on this page, that gives you a complete income, expense and cash-flow analysis without paying for a dedicated analyser.

Does it categorise transactions automatically?

No. We extract and verify the transactions; categorisation is done in your spreadsheet with a keyword list (shown above) or in your own software. This keeps the categories under your control.

Can it check loan eligibility or detect fraud?

No. There is no credit scoring or fraud detection. What you get is an accurate, balance-checked list of transactions — the input that lending, underwriting or audit analysis needs.

Can I analyse several months or accounts together?

Yes. Convert each statement and paste the rows into one sheet, adding an Account column if needed. Sort by date and the pivot table works across all of them.

Does it work for Indian bank statements?

Yes — statements from any bank in any country work, including the busy UPI/NEFT/IMPS descriptions common in Indian statements. If your bank's PDF is password-protected, save an unlocked copy first.

Can developers build their own analyser on top of it?

Yes. The REST API returns the same verified transactions as JSON, ready to feed into your own categorisation, dashboards or underwriting models.

What happens to my statement?

The PDF is deleted automatically within 14 days at the latest, and it is never used to train AI models.

Related tools and guides

50 pages free every month

Create a free account — no credit card. Need more? See the plans.