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?

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

YNAB wants $109 per year - now, that’s a lot of money for something I just plan to use as a glorified dashboard.

Emma is another SaaS (well, an app). It has a free tier. But these days, I don’t get excited about investing time in an app that could disappear tomorrow in a rug-pull.

At this point, I got fed up.

I don’t need budgeting features or personalised recommendations. I just want to aggregate my bank CSVs (the ones they already give me for free) and show me spending by category, by month. I want to see trends, not minute detail.

And just like any good millennial, I have multiple accounts. One single bank’s own app doesn’t cut it.

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 (Monzo, Wise, Revolut; your legacy bank account you’ve had since you were 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

The hardest part was probably handling three different bank formats. 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 want to add a new bank, I just add a new rule and it’s go. The same goes for categories.

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 doesn’t try to take ownership, or modify the data. It creates dashboards over the top of your existing data, making those transactions much easier to understand.

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.

I’m selling this product as a Google Sheets template for £9. Pay once, use forever. No subscriptions, no data mining, no app that will disappear tomorrow. Just boring, reliable, spreadsheet-based personal finance, which actually 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.