Love, Debt and Robots #1: Foundation
Here’s the story how we rebuilt our household budgeting system from scratch using Google Sheets and AI. For the first chapter, we'll explore how the project started and the real motivation behind.
Being a sandwich generation is not easy: trying to balance between ageing parents support in Vietnam, save for a house here in France, and prepare for kids — all while our calculations shows we're "on budget" but our bank account says otherwise.
Here’s the story how we rebuilt our household budgeting system from scratch using Google Sheets, AI, and email alerts.
It was a lazy late Friday afternoon in May.
I was daydreaming about a story set on a sand planet, where a brother leads his people into battle on massive, beautiful worms.
Abruptly, my beloved poked her head in, asking:
💬 Our financial sheet is messed up. I have wasted 2 hours and still cannot match all the spending and our budget. Where the hell have those 200 EUR for the cats gone? Can we throw the Excel file into ChatGPT to analyse it? I guess we can get an Plus account.
I was shattered, my heart sank. The Switch 2 was just 3 weeks away, and I had managed to secure 200 EUR for its purchase.
Time to act.
We sat down to do a simple check-in on our household budget. Five minutes in, we realised something painful. Our financial system was completely out of sync with our current life, and here was why.
🇻🇳 We started the sheets in 2019 while living in Vietnam. At the time:
Most of our transactions were in cash. There were no recurring debit operations.
Our income far exceeded our expenses, so we didn’t stress over tracking.
Our parents were healthy and financially independent.
🇫🇷 Fast forward to now — 2025, we live in a smaller city in France.
95% of our payment is cashless
Our income is decent, but…
Our parents are older, less financially stable, and depend on us more.
Essential services (food, rent, pet care, healthcare) are more expensive.
It wasn’t just the numbers. We can feel the pressure and our workflow itself has too many overhead:
It was painful to track the receipts or to remember what we bought.
Our bank apps were messy: sync was off across devices, the statement took 3 business days to update, mandatory phone approval loop to access the accounts.
Even trying to sit down and reconcile the monthly sheet led to tension between us and could take hours at times. The tools didn’t match our habits anymore. We needed a system that was low-friction and collaborative.
💬 So I said to her:
We need a new sheet, or a new process.
But how about the missing 200 EUR?
I’m sure it’s getting mixed up somewhere. But we’ll set something up that won’t take up the whole weekend and 3 fights to consolidate. I’ll also look into the automation with AI. Let’s build this over the weekend 💪.
Step One: Diagnostics
We spent the next 30 minutes mapping out the current tracking process and the pain points to address.
We just asked ourselves
What is our midterm goal? And long-term goal?
How do we make a decision when we encounter the expected?
How do we want to keep ourselves accountable in complex times?
That's when we notice three big gaps
A decision-making framework for the unexpected.
A way to forecast affordability for our goals.
A mechanism to create just enough guilt before dipping into savings.
Step Two: Flow
We adopted a cashflow model built on the classic six jars principle, simplified for our context:
Fixed + Variable Expenses: core monthly needs, parental supports and our pocket money
Family Fund: emergency costs like car breakdowns, pet health, or unexpected bills
Target Fund: future large expenses (travel, moving, etc.)
Long-Term Savings: to prepare for eventual investment or home buying
We intentionally leave the "Investment" jar for now. Our priority was building stability before compounding risk.
Due to our current job locations, we have some logistics that we need to sort out. That will keep our monthly expenses way over the recommended 50% line to correctly fill the investment jar. We will revisit it in December 2025.
The cash flow should look like this.
Step Three: Tools
We decided to keep the architecture simple but robust. The budget would be managed with:
Google Sheets for data storage and calculations
Notion for shared rules and structure
That’s it — no subscriptions, no integrations, no login nightmares. We tried out multiple apps in the past (Money Lover, YNAB) but…
we don’t want any more learning curves.
we don't want to pay extra to keep our data.
we want flexibility to get our tracker to grow easily with us.
So, we mapped out our typical expenses and manually created categories with validation, formatting, and even emojis for clarity. What started as a rough sketch became a functioning prototype in a weekend.
The result was a colourful, clear, and collaborative sheet that we could use.
a transaction list for each group, with category validation
a dashboard with the budgets vs. spending, by groups and categories
a category list
Step Four: Automated Tracking
Alerts
We knew that manual tracking wouldn’t last.
Receipts get lost.
Motivation fades.
Mobile bank apps were inconsistent: both synchronisation and data export were complicated.
🚨This was our most acute pain point.
We must find an easy way to get all of our spending data in our place.
A full bank sync is not an option because it would mean dealing with a complex integration and security, not ideal for a weekend project.
That’s when we discovered email alerts. Most French banks let you configure emails for key operations:
Card purchases
Incoming/outgoing transfers
New debits (e.g., rent, utilities)
These alerts were consistent, searchable, and already part of our workflow. We just needed to make use of them.
Automations
First, to avoid mixing up with other emails, we created a new dedicated mailbox for all the bank alerts.
Then, I asked ChatGPT to help me to write a script in Google's AppsScript:
Read emails from Gmail and parse the transaction alert.
Use a Language Mode (OpenAI's GPT) to classify it by group, category, location, and note.
Write the transaction into the Google Sheet.
It worked on the first try, which is amazing. It would take me at least half an hour to get this working from scratch. ChatGPT generated two core functions:
One to fetch the relevant email body and extract the amount and the relevant text.
One to call OpenAI with a well-structured prompt, including the extracted description and return a structured response.
To my surprise, the first version leaned on rigid logic — how the phrase must read — to extract the relevant information. This would stop working as soon as the bank updated its email or we switched to another bank. As an example, this was how the email looked like.
So I asked ChatGPT to extract what was between the greetings and the signature, then send it in for classification.
This way, we could still keep it fairly private:
The data were stored in our spreadsheet — we could always download it and go offline.
OpenAI only saw the operation and the amount that we sent over to classify.
Assessments
We tested it with a dozen real bank alerts.
It populated the sheet automatically.
Roughly 70% of the transactions get categorised correctly without any effort from us.
For the remaining 30%, we needed to rectify or delete them in the spreadsheet.
The errors were “random”, e.g. “grocery” getting labelled as “dining out”, random categorisation of the health insurance as shopping or service.
🎉 Suddenly, the hardest part — keeping up with the daily flow — was almost invisible.
At the End of a Sunday
A new spreadsheet built around real needs 👉 You can check out the TEMPLATE here.
A categorisation system tied to actual cash flow and priorities
An AI-powered system for auto-logging expenses, usable by both of us
And most importantly:
No more "sign me into your bank app" moments
No more dread when we talk about money
A system that could grow with us
We had our foundation. I hope it will be useful for couples trying to manage joint budgets without handing over control (and sanity) to a fintech app: Sheets and AI are already very powerful for this scenario.
Now, guess I can peacefully find another chance to “borrow” the remaining 200 EUR while waiting for my crush Samus Aran to come back to the Switch 2 Universe 😈 .
🧵 It was not the end. Another painful moment quickly makes its way back into our process.
Please follow for Chapter #2: Friction — where we build a bot that talks back using the spreadsheet.





