Chase Unpaid Invoices On Autopilot
Most businesses are sitting on thousands in unpaid invoices right now. This system chases them for you automatically, every day, without you lifting a finger. Recover meaningful cash inside the first week.
Video 1 — Workflow & Spreadsheet Setup
Walks through importing the n8n workflow and setting up the Google Sheet template.
Video 2 — Connecting n8n to Google
OAuth setup for Google Drive, Sheets, and Gmail credentials inside n8n.
One Workflow, Three Moving Parts
You'll wire up an n8n workflow, a Google Sheet, and your Gmail. Once it's running, every overdue invoice gets a polite reminder automatically — daily — until it's paid.
The Spreadsheet
A Google Sheet template tracks every invoice: amount, due date, customer email, status. Three formulas auto-flag overdue rows so the workflow knows who to chase.
The n8n Workflow
A pre-built n8n blueprint reads the sheet daily, finds overdue invoices, drafts a follow-up email, and sends it from your Gmail. Zero manual work after setup.
The Gmail Sender
Connects to your Gmail via OAuth so reminders come from your real address — not a "noreply@" robot. Customers reply directly and the thread lands in your inbox.
Grab These Before You Start
Everything you need is free. Watch the two videos first — they walk through the same steps in real time — then download the template + blueprint from the resource folder.
| Resource | Purpose | Cost | Link |
|---|---|---|---|
| n8n Account | The automation platform that runs the workflow | Free tier | n8n.io |
| Google Account | For Sheets, Drive, and Gmail (you almost certainly have one) | Free | console.cloud.google.com |
| Video 1 — Workflow + Sheet Setup | Walkthrough of importing the workflow and setting up the spreadsheet | Free | Watch on Loom |
| Video 2 — Connecting Google | OAuth setup for Drive, Sheets, and Gmail credentials in n8n | Free | Watch on Loom |
| Template + Blueprint | Spreadsheet template and n8n workflow JSON | Required | Drive folder |
Stop Losing Money to Awkwardness
Most invoices go unpaid not because customers can't pay — but because no one wants to chase. Here's what changes when the chasing happens automatically:
| Task | Without Memory | With Memory | Time Saved |
|---|---|---|---|
| Spotting overdue invoices | Manually filter the sheet weekly | Auto-flagged daily | ~30 min/week |
| Writing chase emails | Draft from scratch each time | Templated & sent automatically | ~5 min/invoice |
| Tracking last contact date | Search Gmail history | Logged in the sheet | ~3 min/lookup |
| Avoiding the awkward chase | Procrastinate for weeks | Bot handles it — no awkwardness | Priceless |
| Recovering "forgotten" invoices | Often written off | Chased until paid | $$$ recovered |
| Cash flow forecasting | Guesswork | Live status column | ~20 min/week |
Real talk: Most clients we deploy this for recover meaningful cash inside the first week. Not because the emails are clever — but because they actually go out. The bot doesn't get embarrassed.
Hi, I'm Sheni
I run Icarus Growth, a London-based agency that helps teams turn 5 hours of work per client into 5 minutes of work — by mapping processes, finding bottlenecks, and building workflows to alleviate them at scale.
This invoice chaser is one of the simplest things we build, and one of the most immediately useful. Most clients recover meaningful cash within the first week of switching it on.
What we build
· Invoice & payment automation
· CRM & lead management systems
· End-to-end operational infrastructure
· Cold email marketing systems
How we work
We work retainer-based with clients long-term, because that's the only way to build something that actually sticks. No one-off fixes. Just infrastructure that keeps working while you focus on the stuff that actually needs you.
The Full SOP
Eight steps. About twenty minutes. Watch the videos in section 02 alongside these instructions if you want a visual walkthrough.
Create Your n8n Account
Go to n8n.io in your browser. Click Get Started in the top right corner. Enter your email and follow the sign-up steps. You'll land on an empty dashboard — that's fine.
Import the Workflow
Open the resource folder and download the file called Invoice Follow-Up. Back in n8n, click Create Workflow, then the three dots in the top right → Import from File. Find the file you downloaded, click it, then click Open. Hit Save — the whole workflow appears on screen.
Set Up the Spreadsheet
Go back to the resource folder and download the second file, the spreadsheet template. Open a blank Google Sheet, then click File → Import → Upload and drag the downloaded file into the box. When asked, select Replace Spreadsheet and click Import.
Add the Formulas
Three columns need a formula. For each one: click the right cell, paste the formula, then drag it down to cover all your rows.
Status — cell H2
=IF(Q2=TRUE, "Paid", IF(P2=TRUE, "Overdue", "Pending"))
Days Overdue — cell J2
=MAX(0, TODAY()-I2)
Past Due Date — cell P2
=IF(I2="", "", I2 < TODAY())
To drag a formula down: click the cell, grab the small blue square in its bottom-right corner, and pull it down to your last row.
Connect Your Google Account to n8n
You need to link three things to n8n: Google Drive, Google Sheets, and Gmail. Run through these substeps once for each.
5.1 — Start inside n8n. Click Personal → Credentials → Create Credential. Search for Google Drive (then Sheets, then Gmail). Copy the Redirect URL — you'll need it in a moment.
5.2 — Set up a Google Cloud project. Open a new tab, go to console.cloud.google.com and log in. Click New Project, name it anything, hit Create.
5.3 — Create OAuth credentials. Go to APIs and Services → Library. Search Google Drive API and click Enable. Then Credentials → Create Credentials → OAuth Client ID. Set type to Web Application. Paste the Redirect URL from n8n into Add Redirect URI, then click Create.
5.4 — Paste credentials back into n8n. Copy the Client ID and Client Secret that appear, paste them into n8n. Click Sign in with Google, pick your account, click Allow. You'll see a green Connection Successful message. Rename it and click Save.
5.5 — Repeat for Sheets and Gmail. Same flow for Google Sheets, then again for Gmail. Once all three are connected you're good to move on.
Connect the Spreadsheet to the Workflow
Inside the workflow, click the Google Sheets block. Select your Google Sheets account from the dropdown, then choose the spreadsheet you set up in Step 3. Click Execute — it should pull in your data without any errors.
Test It
Replace every email address in the spreadsheet with your own — this stops test emails going to real people. Clear everything in the Last Reminder Sent column. Back in n8n, click Execute Workflow. Check your inbox — you should see follow-up emails arriving for each overdue row.
Switch It On
Click the Schedule block at the top of the workflow and confirm it's set to run daily at your preferred time. Toggle the Active switch in the top right corner of the workflow editor. That's it — the system will run every morning without you doing a thing.
Done. Your invoice chaser is live. The first chase email goes out tomorrow morning at your scheduled time. Check back in a week and see what's been recovered.
Common Issues & Fixes
"Connection Failed" when linking Google to n8n
▾Almost always a Redirect URI mismatch. The URL in your Google Cloud OAuth client must match the one shown in the n8n credential screen exactly — including https://, trailing slashes, and any path segments. Copy/paste it; don't retype.
If you get "Access blocked: This app's request is invalid", make sure you enabled the right API in APIs and Services → Library (Drive API for the Drive credential, Sheets API for Sheets, Gmail API for Gmail).
Workflow runs but no emails go out
▾Check three things:
1. The Status column. The workflow only chases rows marked Overdue. If your test rows show Pending or Paid, the formula in column H or P is wrong — re-paste from Step 4.
2. The Days Overdue value. Must be greater than 0. If today's date isn't past the invoice due date, nothing fires.
3. The Last Reminder Sent column. If it's already populated for today, the workflow skips that row to avoid double-emailing.
Formulas show #REF or #NAME errors
▾Usually caused by the spreadsheet importing in a different locale (commas vs. semicolons). If you're in a region that uses semicolons as separators, replace the commas in the formulas:
=IF(Q2=TRUE; "Paid"; IF(P2=TRUE; "Overdue"; "Pending")) =MAX(0; TODAY()-I2) =IF(I2=""; ""; I2 < TODAY())
Workflow imported but the Google Sheets node is red
▾The blueprint references a sheet ID from the original template — you need to point it at your copy. Click the Google Sheets block, then under Document use the dropdown to select your imported spreadsheet. Then under Sheet, pick the correct tab. Click Execute to verify.
Schedule is set but nothing runs overnight
▾Two checks: first, make sure the workflow is Active (toggle in the top right of the editor — it goes green). Inactive workflows ignore their schedule. Second, confirm the Schedule node's timezone matches yours — n8n defaults to UTC, which can shift your "9am daily" to the middle of the night.
I want to customise the email copy
▾Click the Gmail node in the workflow. The email body is a template with merge fields like {{$json["Customer Name"]}} and {{$json["Amount"]}}. Edit the text however you want — just keep the merge fields intact so the right details land in each email. Save the workflow when you're done.
Want Us to Build It For You?
If you'd rather skip the setup — or you want a fully custom system built around your existing tools — grab a slot below. No pressure, no pitch. Just a chat.
Built by Icarus Growth — AI operations consulting for agencies & service businesses