Home › Statement analyzer
Bank statement analyzer
CSVLedger's analyzer totals inflows, outflows and net change per month and lists the ten largest payees straight from a PDF bank statement. It uses the same reconciled data as the exports, so totals match the statement balances, and runs entirely in your browser.
Updated October 29, 2026
See where the money went without building a spreadsheet: CSVLedger totals inflows and outflows per month and groups spending by payee, straight from the PDF.
Typical uses
- Bookkeeping catch-up: see which months have unusual activity before you start categorising.
- Loan or lease applications: monthly deposits and net cash flow are often requested; check them before you send statements.
- Subscription clean-up: recurring payees show up at the top of the payee list.
- Client onboarding: get a first view of a new client's cash flow from the statements they send.
How the numbers are calculated
Inflow is the sum of positive transactions (deposits, refunds, payments to a card); outflow is the sum of negative ones. Months come from the transaction dates. The payee grouping is a simple text rule, so the same merchant may appear twice if the bank writes its name differently — download Excel for a full pivot-table analysis.
Frequently asked questions
Can I analyze several months at once?
Yes. A statement that spans more than one calendar month is split by month. For several statements, drop all the PDFs; each gets its own analysis.
Does the analyzer categorise transactions (rent, payroll, etc.)?
Not yet. It groups by payee text only. Category rules are on the roadmap.
Are transfers between my own accounts excluded?
No. The analyzer shows the statement as printed; transfers appear as normal inflows and outflows.
Is my bank statement uploaded to a server?
No. The PDF is opened and converted by JavaScript running in your browser tab (using Mozilla's open-source pdf.js library). The file is not sent to CSVLedger or anyone else. You can confirm this in your browser's developer tools: the Network tab shows no request containing your file.
How do I know the conversion is correct?
Every conversion is checked against the statement itself: the opening balance plus credits minus debits must equal the closing balance printed on the statement, to the cent. If the statement prints a running balance, each row is checked too, and rows that do not match are highlighted in red. If the check fails you see it before you download anything.