Expense analysis is the work of sorting everything that left a bank account into categories, then reading where the money actually went — which categories swallow the most, what's fixed versus what you can move, and which single payments deserve a second look. Done from bank statements, it runs in three moves: confirm the statement is complete, group the outgoings into categories, then rank them and split fixed from variable. The grouping is only as honest as the data underneath it. Miss one debit and a category quietly understates itself, and you trim the wrong thing.
You can build a tidy category breakdown on figures that are missing a line, and it'll look convincing. So the first job isn't categorising — it's proving nothing fell off the statement on the way out of the PDF.
Prove the figures are complete before you sort anything
Banks print a running balance after every transaction, and that column is a free checksum: start at the opening balance, apply each debit and credit in order, and you should finish exactly on the closing balance. Land there and the statement reconciles, so the totals you're about to carve into categories are whole. Come up short — say by 312 — and a transaction is missing or misread, and that gap is going to land inside one of your expense categories without warning.
This bites hardest when the numbers came out of a PDF. Extraction goes wrong in predictable places: a row vanishes in the seam between two pages, a 1,480 card payment reads as 1,460 when OCR fumbles a digit, a debit slips into the credit column and flips its sign. None of those flash red. The running balance catches them — the moment a number is wrong, the balance stops tying out.
Export Bank Statement does this check before you ever see the spreadsheet. It walks the running balance from opening to closing and confirms the totals reconcile — or it flags the statement instead of handing you a clean-looking export that's quietly short a payment. Most converters extract and leave the checking to you. For expense work that's a real gap: one missed direct debit can drop a whole category down the rankings and send you cutting somewhere that was never the problem.
Group the outgoings into categories
With the figures verified, sort every debit into a category. Keep the list short enough to be useful — a dozen buckets you actually read beats forty you never open. For most businesses the spine runs: payroll, rent and premises, suppliers and stock, software and subscriptions, marketing, professional fees, bank charges, tax, then a small "other" for genuine one-offs.
Two rules keep the breakdown honest. Every transaction lands in exactly one category, so the parts add back to the total you reconciled — if they don't, something's been double-counted or dropped. And watch the "other" bucket: when it creeps past roughly a tenth of total spend, it's hiding a category that deserves its own line. I once saw a fat "other" turn out to be courier costs that had quietly become the third-biggest expense in the business.
The analyser does the first pass automatically after conversion. It reads each transaction description, sorts it into expense categories, surfaces recurring payments and merchants, and totals each group — no pivot table to build. What you bring is judgement: knowing a payment tagged "supplier" is really a one-off equipment buy, or that two merchant names are the same vendor under different trading styles. The tool gets the volume sorted; you correct the edges.
Rank the biggest outflows, then split fixed from variable
A category breakdown answers "where does it go." Two more reads turn that into something you can act on.
- The biggest outflows, ranked. Sort categories largest to smallest and the top three or four usually account for most of the spend. That's where attention pays off — shaving 5% off your largest category beats eliminating a small one entirely. Then rank the individual payments inside the top category, because a single oversized line often explains the whole total.
- Fixed versus variable. Fixed costs land whatever happens — rent, salaries, the insurance premium, the software you're locked into. Variable costs move with activity — stock, ad spend, the casual freelance invoice. The split matters because in a tight month you can only touch the variable side quickly; the fixed side needs notice or a contract ending. The ratio tells you how much room you've actually got.
A distinction that catches people out: "recurring" and "fixed" aren't the same thing. A subscription billing 49 every month is recurring, but if you can cancel it tomorrow it behaves like a variable cost. A quarterly rent payment is fixed but not monthly. The analyser's recurring detection flags the repeats; you decide which are genuinely fixed. There's more on spotting them in the recurring transactions guide.
How to analyse expenses from bank statements, step by step
You can do every bit of this by hand: foot each page, tick the running balance, then key each debit into a spreadsheet and tag it. For a quiet personal account that's fine. For a busy business account it's a long afternoon, and the re-keying is exactly where new errors sneak in. The quicker route, on data you can trust:
- Gather the statements. Download the PDFs from online banking — several consecutive months if you want fixed-versus-variable patterns to show, not just one snapshot. A scan or phone photo of a paper statement works too; it'll be read by OCR.
- Convert them. Upload the PDFs at /convert. Each line comes across — date, description, money in, money out, balance — across every page.
- Check the reconciliation result first. Confirm the totals reconcile before you trust any category total. A flagged statement means you've caught a missing line a manual skim would probably have waved through.
- Read the category breakdown. Open the analyser: spend grouped by category, recurring payments and merchants surfaced, each group totalled. Fix any miscategorised lines — that's the bit only you can do.
- Rank and split. Sort categories largest to smallest, then mark each as fixed or variable. The top few categories and the variable column are where decisions live.
- Export. Take the clean .xlsx for your own working, or the CSV in the native bank-import format if the data's headed for Xero, QuickBooks or Zoho Books.
One verified month usually takes well under a minute, and that's the real point — when it's that quick, you look monthly instead of once a year. A creeping cost caught in month two is a quick cancellation; the same one found at year-end is just an expensive story.
A worked example
A small services business, three months, roughly 250 debits a month across a seven-page PDF. When I footed the first month the page-four total didn't tie — a 312 supplier payment had dropped in the join between pages three and four, understating the suppliers category by exactly that. Nothing on screen looked wrong; the breakdown just sat quietly short, which is the worst kind of error because you trust it and act on it.
Run the same PDFs through the converter and the reconciliation check flagged that month in seconds and pointed near the gap. Once fixed, the real shape showed. Payroll and rent were the top two, no surprise. But software had climbed to third — eleven subscriptions, four barely used, 390 a month between them, all cancellable. None of that shows in a closing balance; it's obvious the moment verified spend is grouped and ranked. To dig into who you're actually paying, the merchant spending analysis guide goes deeper, and the business cash flow analysis guide sets these outflows against what's coming in.
One honest caveat before you act on any of this: Export Bank Statement is a file import, not a live bank feed. It converts your PDF statements, verifies they reconcile, and exports a CSV in the native bank-import format Xero, QuickBooks and Zoho Books expect — but you convert, then import the CSV, rather than syncing through a certified bank-feed API. It's a tool you run yourself, not a bookkeeping service, so the categories and the calls on what to cut stay yours. It just hands you complete, verified figures to make them on.
Frequently asked questions
What is expense analysis?keyboard_arrow_down
Expense analysis is sorting everything that left an account into categories and reading where the money went — which categories cost the most, what's fixed versus variable, and which single payments stand out. From bank statements it means confirming the statement reconciles, grouping the outgoings, then ranking them. Verification comes first, because a category total built on a missing transaction understates itself without showing it.
How do I categorise expenses from a bank statement?keyboard_arrow_down
Sort each debit into one clear category — payroll, rent, suppliers, software, marketing, fees, tax, and a small "other" — so the parts add back to the reconciled total. Export Bank Statement does the first pass automatically by reading each transaction description after conversion; you then correct the edge cases it can't know, like a one-off purchase tagged as a regular supplier.
What's the difference between fixed and variable expenses?keyboard_arrow_down
Fixed expenses land regardless of activity — rent, salaries, insurance, contracted software. Variable expenses move with what the business does — stock, advertising, casual freelance work. In a tight month only the variable side can be cut quickly; fixed costs need notice or a contract ending. Note too that "recurring" isn't the same as "fixed": a monthly subscription you can cancel tomorrow behaves like a variable cost.
Does this push my expense data into Xero or QuickBooks automatically?keyboard_arrow_down
No. Export Bank Statement converts and verifies the statement, then exports a CSV you import into your accounting software. It's a file import that lands as reconcilable statement lines, not a live bank-feed sync through a certified API. You convert, then you import.
Try it on your own statement
Clean Excel/CSV, with every transaction checked to balance.
