I created a spending tracker product, because I loathe subscriptions

As I came towards the end of another year, I wanted to understand where all my money was disappearing each month. Do I really spend it all on falafel wraps? How much did that holiday really cost me? Am I saving enough?

The problem with budgeting apps

I looked at YNAB, Emma, and a couple of the other trending budgeting apps.

YNAB wants $109 per year – now, I think that’s a lot of money for consumer software. Especially if it’s something I only plan to use as a glorified dashboard.

Emma is another app that’s quite well-known in the UK. It has a free tier, and some paid tiers. But I don’t like the idea of investing time in an app where all the useful features could disappear tomorrow in a rug-pull.

At this point, I got fed up.

All that he wants… is another dashboard

I don’t need budgeting features or personalised recommendations.

I just want to load up my bank CSVs (the ones they already give me for free) and see spending by category, by month. I want to see trends, not minute detail.

But, I do need it to support multiple banks.

Ultimately, I just need a simple chart or two to tell the story.

Spreadsheets are the (boring) way

So, I built a spending tracker in Google Sheets. It uses Google Sheets, because (1) it is very boring, (2) it does charts, and (3) it’s free.

(Google aren’t going to ask me to pay for Google Sheets tomorrow; they make money from me in far more interesting ways.)

It does three things:

  1. Scans your Google Drive for bank transaction files – usually CSVs or JSONs – from your chaotic life of multiple accounts (the Monzo/Wise/Revolut trinity; that legacy bank account you’ve had since you were aged 12; credit cards)
  2. Adds all the transactions into a malleable single sheet and categorises them
  3. Charts your spending month-by-month, broken down by category

Making it work with multiple banks

The hardest part was probably handling multiple different bank formats in one sheet.

So I created a system based on rules.

You define a rule for each bank: this tells the script exactly where to find the transaction date, amount, and description for each account. You can also tell it whether the amount is plus or minus (useful for credit card statements).

Then I had a brainwave: why not just store those rules in a sheet, instead of in code? So now the rules are in a spreadsheet of their own.

Now if I need to add a new bank, I just add a new rule and it’s go. The same goes for categories.

How I keep it up to date

Once a month - or even once a quarter if I’m lazy - I download the CSVs from the banks, and upload them to Google Drive. Then I just refresh the sheet.

The best part is, it only needs data in your Google Drive. It doesn’t force you into online syncing, or spending time having to manually enter transactions either.

It never tries to take ownership or modify the data.

It just processes and visualises your existing data, which instantly makes your financial life much easier to understand.

Simple > clever

The process of building this tool has reminded me that simple solutions are the best. It could have been a React SaaS with a login and AI-powered recommendations. Or a sleek iOS app with data sync to my Mac. Or even a Grafana dashboard.

But this product does exactly what I need, and I can update my rules or spending categories at any time.

You can use it too

I’m selling this product as a Google Sheets template for $10. Pay once, use forever.

You don’t need to pay a subscription, and I don’t see any of your data. It’s just boring, reliable, spreadsheet-based personal finance that works.

Get Spending Tracker for Google Sheets

If you’re like me - earning a comfortable salary but with no idea where it all goes - this might be exactly what you need. I’ve been using it for months.

It’s boring (but that’s kind of the point).