Bank Statement Analyzer
Analyze bank statements directly in your browser. Your financial data stays on your device.
Loading…
Try it without a real statement
The demo loads a synthetic statement for a fictional Indian services business — 247 transactions, ₹18,42,000 in and ₹15,76,500 out — so you can walk the whole workflow before you open a client's file.
Load the demo statement247 synthetic transactions across a full financial year, generated on your device. Import it like any statement to see exactly how the parser behaves — the PDF is a real multi-page statement layout, not a screenshot.
From a locked PDF to a reviewed set of books
Import any statement format
PDF with a text layer, XLSX, XLS or CSV, up to 100 MB. The file is read by your browser — it never travels to a server.
Password-protected PDFs
Most bank statements arrive locked. Enter the password once and it is used in memory only — never stored, never logged, never sent anywhere.
Column mapping you control
We detect which column is the date, the narration, the debit, the credit and the balance — then show you, so you can correct anything we read wrong before it is saved.
Date formats that do not guess
01/02/2026 is read as DD/MM by default, and where a statement is genuinely ambiguous the tool asks you rather than silently picking one.
Extraction checked against the balance
Every row is verified as previous balance + credit − debit. If the chain breaks, the statement is flagged — you are told what could and could not be resolved.
Several statements, one analysis
Import Apr–Jun, Jul–Sep and Oct–Dec, tick the ones to analyse together, and overlapping periods are de-duplicated so income is never double counted.
Classification
Deterministic, explainable, and yours to correct
Every transaction shows the category, the counterparty, a confidence figure and where that classification came from. No black box — if you disagree, you change it, and the tool remembers.
Your rules run first
IF narration contains ABC ENTERPRISE THEN Purchases, party ABC Enterprise. Rules are ordered by priority, always beat pattern matching, and stay on your device.
Build a rule from a real transaction
Click Rule on any row and a draft is written from that narration. Adjust it, see how many transactions it would claim, then save.
Confidence you can read
90–100% high, 70–89% medium, below that flagged for review. Confidence describes the classification only — never how well the file parsed.
Business, personal or transfer
A separate marking from the category, because an own-account transfer is neither business spend nor personal spend and should not be forced into either.
Categories that fit a set of books
Sales, Purchases, Salaries, Rent, Professional Fees, GST, TDS, Bank Charges and more — rename, reorder, archive or add your own.
Duplicates found, not merged
Same date, same amount, same reference across statements gets flagged and kept out of totals until you decide to keep it.
Review
Built for someone working through a thousand rows
The review screen is where the hours go, so it is the screen that had to be fast. Rows are virtualised, filters are one click, and nothing is destructive.
Thousands of rows, no pagination
The table renders only what is on screen, so a 5,000-line statement scrolls as one continuous ledger with the header pinned.
Filters that match the work
Needs review, possible duplicates, high value, extraction issues, uncategorised, by direction, by category or by marking.
Bulk everything
Select a run of rows and categorise, mark business or personal, mark transfer, or override a duplicate in one action.
Undo
Every edit and bulk action can be stepped back, so trying a categorisation across fifty rows costs nothing.
Counterparty extracted from the narration
UPI/DR/402318/SWIGGY/UTIB becomes Swiggy — and where nothing looks like a name, the field is left empty rather than filled with a guess.
Local activity log
What you imported, edited, ruled and exported, kept on the device. It never records account numbers, passwords or file contents.
Analysis
The reports a CA actually opens
Every figure respects the duplicate policy and the extraction warnings, so what you see is what you can defend.
Monthly cash flow
Opening balance, credits, debits and closing balance month by month, charted and tabled, with the table view a click away.
Expense and income analysis
Every category ranked by amount with its share and transaction count — the working paper behind a P&L.
Cash transactions
Every deposit and withdrawal isolated, with totals, because cash is the first thing anyone reviewing the books asks about.
High-value transactions
A configurable threshold, ₹1,00,000 by default, applied live — change it and the report re-cuts immediately.
Top counterparties
Who money went to and came from across the period, with counts, so concentration and unfamiliar names stand out.
Bank charges, interest and transfers
Three separate reports, because each one is a different journal entry and hunting them through a statement by eye is miserable.
Uncategorised — needs review
The list that matters most: everything the tool would not commit to, waiting for your judgement.
Worth a look
Round-tripping within two days, weekend cash, a month of spending double the median, and any row where the balance chain broke.
Reconciliation
Statement against books, matched three ways
Import a ledger export from Tally, Excel or anywhere else. Any column layout works — the columns are detected and you correct them.
Exact match first
Same date, same amount, same reference. These are settled before anything looser is attempted.
Then a date window
Same amount within two days, marked as a likely match rather than a certainty, for you to confirm or reject.
Then narration similarity
Same amount within three days with a similar description — explainable token overlap, not a model you cannot audit.
Near misses surfaced, never merged
An amount that is close but not equal is reported as a mismatch with the difference shown, because that difference is usually the point.
You confirm the uncertain ones
Likely matches and mismatches carry Confirm and Reject, and the summary updates as you work through them.
Manual BRS still available
For the classic reconciling-items statement — uncleared cheques, deposits in transit, charges — the Bank Reconciliation tool is one click away.
Exports
Take it into your working papers
Generated on your device. No email step, no cloud render, no link that expires.
Excel workbook, one sheet per report
Statements, transactions, transaction summary, monthly summary, expense analysis, cash, high value, uncategorised, bank charges, interest, transfers, counterparties and GST-relevant.
Formatted PDF report
Summary, monthly movement, expense and income analysis, cash, high value, uncategorised and counterparties — with extraction warnings on the first page.
Transactions CSV
The full list with categories, parties, confidence and duplicate flags, ready for Tally or your own schedule.
Warnings travel with the report
If a statement did not fully reconcile, both the workbook and the PDF say so up front — so whoever reads it sees what you saw.
Privacy
No AI. No upload. No account.
Client bank data is about as sensitive as it gets, so the answer to “where does it go?” is: nowhere. Not to us, not to a model, not to an analytics service.
No AI, cloud or offline
Classification is a rules engine and a keyword table you can read in the source. There is no model on a server and no model on your device.
No upload, ever
There is not a single network call in the analyzer. An automated test scans the source on every run and fails the build if one appears.
No analytics, no telemetry
No transaction data, no file metadata, no narrations, no account information. Nothing is measured, because nothing is sent.
No login, no account
Open the page and start. There is nothing to sign up for and no identity attached to your work.
Account numbers masked on sight
Only the last four digits are ever kept, and the PDF password is never written to storage at all.
Your data, deletable in one click
Statements, rules and categories live in this browser. Clear all local data removes every trace of them.
What it does not do
Accounting software that overstates itself is worse than useless, so here is the honest edge of this version.
Scanned statements are not supported yet
A PDF needs a text layer. OCR for scanned or photographed statements is not in this version, and the tool tells you plainly instead of returning an empty result.
Bank-specific parsers are not yet verified
Adapters for HDFC, SBI, ICICI, Axis, Kotak, PNB, Bank of Baroda and Yes Bank are built, but until each is proven against real anonymised statements every file is read with the generic layout engine — and the screen says so.
GST identification, not GST compliance
Transactions can be flagged as GST relevant or potentially relevant. Input tax credit eligibility, tax liability, place of supply and reverse charge need context this tool does not have, so it does not pretend to.
Large statements prefer a desktop
Import, review and the dashboard all work on a phone, but a 50 MB PDF is much faster on a laptop and you will be told so before you wait.
Who is this for?
- ✓Chartered accountants working through a client's year of statements
- ✓Accounting and audit staff preparing schedules and working papers
- ✓Bookkeepers reconciling a bank statement against the ledger each month
- ✓Business owners who want to see where the money actually went
Keep your work safe
Important: because nothing is uploaded, your imported statements, rules and categories live only in this browser. If you clear site data or switch device, they are gone. Export the Excel workbook when you finish a review — that file is your record.
Bank Statement Analyzer — questions
No. The file is read by your browser and every step — parsing, classification, analysis and report generation — runs on your device. There is no server call in the tool at all, and an automated test fails the build if one is ever added.