When life gets busy automate!
How n8n and Gemini have made tracking and paying bills a breeze.

My life has become very busy. Work and family and the stresses of both have seen me run out of time for everything. There are honestly not enough hours in the day for anything else in my life at the moment. This includes paying bills and other boring chores. I haven't quite worked out how to do the cooking or the cleaning through automation just yet. But what I can automate is making sure I set a reminder to pay my bills.
Before we get started on solutions, lets talk challenges.
How do we get a copy of the bills? Over time I have bills going to multiple places. Some are physical and some are via email. Some go to my primary email, others go to another email. Its a mess. Researching into it there are no APIs.
How do we parse the bills? Bills come in all shapes and formats. I don't have time to build a parser for each and every bill. Also companies are ars... regularly change their bill formats all the time. This would break most standard parsers.
How and where do we enter the data? If we get the billing data and can parse it, the question is what do we do with it? Do we pay the bills, or just setup alerts?
Solutions
I approached these challenges in the reverse order. I made a decision that I did not want an automated process of any sort accessing my banking data. Only I should be accessing that data and making transaction decisions. With that decided my only option is to generate an alert when I should pay my bills. Where should that alert occur and how should it look? This really depends on you and how you want to get this information.
I like to use Google Calendar to keep track of my appointments and Google Tasks is integrated into Google Calendar. The great thing about Google is that Google developer makes it easy to make API updates. Further, Google Calendar has an iOS and Android app which means I can get alerts on my phone as well. You can also mark off the activity after its done. It gives me the features I need without having to build anything.
Solving that made answering challenge #1 easier. The answer was staring me in the face. Since I'm already in the Google ecosystem for alerts, centralising bill collection into Gmail made perfect sense. I set up email forwarding rules so that all bill-related emails from my secondary email account automatically forward to a dedicated Gmail label I called "Bills Inbox". For the physical bills — yes, people still send those — I use Google's own camera app which has a built-in document scanner. I scan them and drop them into a shared Google Drive folder. It's not glamorous, but it works. The point isn't perfection, it's consistency.
That brought me to challenge #2, and honestly this is where things got interesting.
Parsing bills manually is a nightmare, and building a traditional parser is a fools errand for exactly the reasons I mentioned — companies love to redesign their PDF layouts right when you think you've got it figured out. So I stopped thinking about code and started thinking about AI.
Large language models are genuinely good at reading documents the way a human would. They don't care if the layout changed. They don't care if the bill is a PDF, a scanned image, or a forwarded HTML email. You just hand it the document and ask it the right questions: What is the due date? What is the amount owing? Who is this bill from? It returns structured data. Every time. Even when the format changes.
My setup is simple:
Bills land in Gmail or Google Drive
An n8n workflow runs on a schedule, checks for new items, and passes the content to Gemini Flash
Gemini extracts the key fields — biller, amount, due date
The workflow creates a Google Task with a reminder set a few days before the due date
The whole thing runs without me touching it. I get a notification on my phone, I pay the bill, I tick it off. Done.
The Stack
Gmail + Google Drive — bill collection
n8n — the glue that ties everything together (self-hosted on the free community edition, with native integrations for Gmail, Google Drive, Google Tasks, and Gemini built in)
Gemini Flash — document parsing (free tier via Google AI Studio gives you more than enough quota for a handful of bills a month)
Google Tasks + Google Calendar — alerts and tracking
What it cost me to set up: A couple of evenings.
What it costs to run: Nothing. n8n Community Edition is completely free to self-host, Gemini Flash's free tier has generous enough limits that a few dozen bill extractions a month barely registers, and everything else is free Google infrastructure. Total running cost: zero.
The nice thing about n8n over writing custom code is that the workflow is visual — you can see exactly what's happening at each step without reading a line of code, and it has first-class nodes for Gmail, Google Drive, and most LLM providers already built in. No custom HTTP calls or OAuth wrangling required.
Gemini Flash is a natural fit here too. Since the whole stack is already living in the Google ecosystem, using Google's own model keeps things consistent and means one less account with another provider to manage.
Is it perfect? No. Physical bills still require me to scan them, which means I have to actually pick them up off the floor first. But the rest largely takes care of itself, and that's a win I'll take.
A Note on Privacy
I want to be upfront about something that does sit in the back of my mind with this setup. Your bills contain a lot of sensitive information — account numbers, your address, how much you owe and to who. I'm reasonably comfortable with this setup because I'm already trusting Google with my email, and Gemini Flash's free tier operates under Google's standard data terms. But I haven't fully stress-tested what that means for my data long term and I don't want to pretend I have.
If privacy is a concern for you — and honestly it probably should be for all of us — there are a few things worth looking into before you set this up. Running a local LLM instead of Gemini Flash would keep your bill data off any external servers entirely. It's a bit more effort to set up but it's an option. At minimum, read the terms around how your data is used when you send documents to any cloud AI API.



