A complete walkthrough for automating overdue invoice reminders using Make.com, Google Sheets, and Gmail. Built for freelancers and small business owners who hate chasing payments.
- Why automate invoice follow-ups at all
- How the automation works (the full picture)
- Tools you need before you start
- Step 1: Set up your invoice tracker in Google Sheets
- Step 2: Create the Make.com scenario
- Step 3: Pull pending invoices from your sheet
- Step 4: Calculate how many days each invoice is overdue
- Step 5: Route invoices into three tiers
- Step 6: Send the reminder emails
- Step 7: Update the sheet so the same email never fires twice
- Step 8: Schedule the scenario to run daily
- Three email templates you can copy
- Testing without spamming real clients
- Common pitfalls (and how to avoid them)
- When to upgrade your tracker
- FAQ
Why automate invoice follow-ups at all
This guide shows you how to automate invoice follow-up with Make.com using Google Sheets and Gmail — so you stop chasing unpaid invoices of running a small business. You finished the work weeks ago, sent the invoice, and now you have to play collections agent. You draft awkward reminder emails, check your inbox to see if the client replied, then forget about it for three days because a real project came up. Meanwhile, your cash flow takes the hit.
The honest truth: most overdue invoices get paid as soon as you send a polite reminder. The problem is not the reminder itself, it is remembering to send it on day 7, then day 14, then day 21, across however many clients you currently have.
This is exactly the kind of work that should never touch your calendar. A Make.com scenario can check your invoice tracker every morning, figure out which clients are overdue, send the right reminder for each one, and log what was sent. You set it up once and then stop thinking about it.
The whole thing runs on the free Make.com plan if you have fewer than 30 active invoices at a time. Past that, Core at $9 per month covers the volume most freelancers and small shops actually have.
How the automation works (the full picture)
Before opening anything, here is the mental model. Once you see how the pieces connect, the build itself takes 25 minutes.
When an invoice in your Google Sheet has Status = Pending and the due date has passed, then calculate how many days overdue it is, send the appropriate reminder email through Gmail, and update the sheet so the same level of reminder never fires twice for the same invoice.
The scenario has eight modules in a chain: a Google Sheets search, a date calculation, a router with three branches, three Gmail sends, and three sheet updates. It runs once a day at 9 AM, which is when most clients are at their desks and your email actually gets read.
The three tiers are intentional. Day 7 is a polite nudge, day 14 is a firm follow-up, day 21 is a final notice. Skipping straight to “final notice” on day 7 burns relationships. Sending six polite nudges over three weeks teaches clients they can ignore you. Tiered reminders work because they match how human collection actually feels.
Tools you need before you start
| Tool | What it does here | Cost |
|---|---|---|
| Make.com | Runs the scenario daily | Free for <30 invoices, then $9/mo Core |
| Google Sheets | Stores invoice data + tracks follow-up level | Free with any Google account |
| Gmail | Sends the reminder emails | Free with any Google account |
You may be wondering why we are not using QuickBooks, Stripe, or a dedicated invoicing tool. Those platforms have built-in reminders, but they are rigid. You cannot easily change the tone of the day 14 email, you cannot add a second internal email to yourself, and you cannot pause reminders for a specific client without disabling the whole feature. Google Sheets gives you full control over the logic. If you are already on a paid invoicing tool that handles this well, stay with it. If you are not, this is a way to get the same result for free.
If you have never built anything in Make.com before, it is worth reading our lead capture tutorial first. That walks through scenario basics in more detail than this article does.
Step 1: Set up your invoice tracker in Google Sheets
Create a new Google Sheet called “Invoice Tracker.” Add one tab called “Invoices.” This tab needs exactly these columns, in this order:
| Column | What goes here | Example |
|---|---|---|
| A — Invoice ID | Your own invoice number | INV-2026-014 |
| B — Client Name | For email personalization | Sarah Martinez |
| C — Client Email | Where reminders get sent | sarah@acmecorp.com |
| D — Amount | What they owe | $1,850 |
| E — Due Date | The actual due date | 2026-05-15 |
| F — Status | Paid or Pending | Pending |
| G — Follow Up Level | 0, 1, 2, or 3 | 0 |
The Follow Up Level column is the most important one. It starts at 0 for every new invoice. The automation moves it to 1 after sending the day 7 reminder, to 2 after day 14, and to 3 after day 21. This is how the scenario knows not to send the same email twice.
Add a few real invoices to test with. Set the Due Date to something in the past for at least one row so you have data to work with when testing.
Step 2: Create the Make.com scenario
Log into your Make.com account. If you do not have one yet, the free plan is enough to test the full build. Click Scenarios in the left sidebar, then Create a new scenario in the top right.
Name the scenario “Invoice Follow-Up Automation” so you can find it later when you have 15 scenarios running.
You will see a blank canvas with a big + in the middle. That plus is where your first module goes.
Step 3: Pull pending invoices from your sheet
Click the central plus. In the search box, type Google Sheets and select it. Pick the action called Search Rows.
Connect your Google account if you have not already. Make.com will ask for permission to read and write your sheets — this is required for the automation to function.
Configure the module with these values:
- Spreadsheet: Invoice Tracker
- Sheet name: Invoices
- Table contains headers: Yes
- Range: A1:G1000 (adjust if you expect more invoices)
- Filter: Status (F) — equal to — Pending
- Maximum number of returned rows: 50
Click OK. Right-click the module and choose Run this module only to make sure it pulls your pending invoices. If you see your test data in the output panel on the right, you are good. If you see an error about authorization, reconnect your Google account.
Step 4: Calculate how many days each invoice is overdue
Hover over the right edge of the Google Sheets module. A small plus appears. Click it. In the module picker, search for Tools and select it. Pick the action Set Variable.
Configure it like this:
- Variable name: daysOverdue
- Variable lifetime: One cycle
- Variable value: Click into the field. In the Make.com expression panel that opens, build this formula:
{{round((now - parseDate(E; "YYYY-MM-DD")) / 86400000)}}
This subtracts the due date from today, divides by 86,400,000 (the number of milliseconds in one day), and rounds to a whole number. The result is positive when the invoice is overdue and negative when it is not yet due.
now function returns milliseconds, not seconds. If you forget to divide by 86,400,000 you will see results like “1,728,000 days overdue” — which is not a sustainable client relationship.
Step 5: Route invoices into three tiers
Click the small plus after Set Variable. Search for Flow Control and select Router. The canvas will now show three empty branches coming out of the router.
Each branch needs a filter that tells Make.com when to use it. Click the wrench icon on the line between the router and each branch to open the filter editor.
| Branch | Filter (daysOverdue) | Follow Up Level filter (G) |
|---|---|---|
| Branch 1 — Day 7 | greater than or equal to 7 AND less than 14 | equal to 0 |
| Branch 2 — Day 14 | greater than or equal to 14 AND less than 21 | equal to 1 |
| Branch 3 — Day 21 | greater than or equal to 21 | equal to 2 |
The Follow Up Level filter is what prevents duplicate emails. Branch 1 only fires if no reminder has been sent yet (Level = 0). Branch 2 only fires if the day 7 reminder was sent (Level = 1). Branch 3 only fires after Branch 2. Once Level = 3, no more emails go out at all.
Step 6: Send the reminder emails
On the first branch, click the plus and add Gmail → Send an Email. Connect your Gmail account. Repeat for branches 2 and 3.
Each Gmail module needs the same general structure, but different subject lines and bodies. Configure them like this:
- To: Click into the field, then drag the Client Email field (column C) from the Google Sheets module output.
- Subject: See the templates in the next section.
- Content type: Plain text (avoids spam triggers)
- Content: Paste the email template, with Client Name and Invoice ID dragged in as variables.
The email templates are below. Copy them into each Gmail module before continuing.
Step 7: Update the sheet so the same email never fires twice
After each Gmail module, add a Google Sheets → Update a Row module on the same branch. Configure it to update column G (Follow Up Level):
- Branch 1 Update: Set Follow Up Level to
1 - Branch 2 Update: Set Follow Up Level to
2 - Branch 3 Update: Set Follow Up Level to
3
For the Row Number field, drag the row number from the original Google Sheets Search Rows module output. Without this, Make will not know which row to update.
This step is what makes the whole scenario safe to run daily. Without it, you would send the same reminder every single morning until the client paid, and they would block your email by day 4.
Step 8: Schedule the scenario to run daily
In the bottom left of the scenario editor, click the small clock icon next to the Run Once button. Set the schedule to:
- Run scenario: Every day
- Time: 09:00 (in your timezone)
Save the scenario, then toggle the activation switch in the bottom left from off to on. Your scenario is now live.
Three email templates you can copy
I hope you are doing well. Just a quick note that invoice {{Invoice ID}} for {{Amount}} became due on {{Due Date}} and is showing as unpaid on my end.
If it has already been processed, please ignore this. If not, the original invoice is attached for reference.
Thanks so much,
[Your Name]
I am following up on invoice {{Invoice ID}} for {{Amount}}, which was due on {{Due Date}} and is now two weeks overdue.
Could you let me know the status? If there is a problem with the invoice or if you need it reissued, I am happy to sort it out today.
Looking forward to your reply,
[Your Name]
Invoice {{Invoice ID}} for {{Amount}} is now 21 days past due. This is the third reminder I have sent.
I need to settle this by the end of next week. If there is a specific issue holding up payment, please reply today so we can resolve it. Otherwise, please process the invoice at your earliest convenience.
I appreciate your attention to this,
[Your Name]
These templates are written to escalate without burning the relationship. The day 7 email assumes good faith, the day 14 email asks a direct question, the day 21 email sets a deadline. You can soften or sharpen them based on your client base. If you work mostly with enterprise clients, the day 21 email may need to be even more direct. If you work with creatives and small studios, the day 14 version may already be too firm.
Testing without spamming real clients
Before activating the scenario, test it with fake data. Here is the safe way:
- Add three test rows to your sheet. Use your own email address as the Client Email for all three.
- Set the Due Date for row 1 to 7 days ago, row 2 to 14 days ago, row 3 to 21 days ago.
- Make sure Follow Up Level is 0, 1, and 2 respectively (matching what each branch expects).
- Click Run Once in the bottom left of the scenario editor.
- Check your inbox. You should receive three different emails, one from each branch.
- Open the sheet. Follow Up Level should now read 1, 2, and 3.
If anything goes wrong, look at the colored bubbles next to each module in the canvas. Make.com shows you exactly how many credits each step consumed and what data passed through. Click any bubble to inspect the inputs and outputs.
Once you confirm the test emails arrive correctly and the sheet updates, delete the test rows. Then add your real invoices and activate the schedule.
Common pitfalls (and how to avoid them)
The date math returns nonsense
This almost always means column E is formatted as text, not as a date. Reformat it (Format → Number → Date) and re-run.
The same email fires every day
You probably skipped the Update Row module in step 7, or the filter on the router branches does not check Follow Up Level. Both are required for the scenario to remember what it already did.
Emails go to spam
Plain text content rarely hits spam. If yours does, check that your Gmail “From” name is your real business name, not a generic one. Also avoid words like “urgent” or “final notice” in the day 7 subject — save those for day 21.
The scenario hits credit limits
On the free plan, you get 1,000 credits per month. Each invoice check uses about 3 to 5 credits. That means around 200 to 300 daily checks per month, which covers up to 10 active overdue invoices at any given time. Past that, the Core plan at $9 per month gives you 10,000 credits, which handles essentially unlimited follow-up volume for a small business.
When to upgrade your tracker
Google Sheets is the perfect starting point. It is free, fast, and easy to understand. But there is a real ceiling: once you have more than 40 or 50 active invoices, the sheet starts to feel chaotic. You cannot easily see which clients are repeat late payers, you have no audit log of when reminders were sent, and the sheet becomes one wrong click away from disaster.
At that point, you have two options. You can either invest in a real invoicing platform (Stripe, QuickBooks, FreshBooks) and use their built-in reminders, or you can keep the same Make.com scenario but swap Google Sheets for a real database like ClickUp. The second option keeps the custom logic and the tiered emails, but gives you proper views, filters, dashboards, and history.
The Make.com scenario barely changes. You replace the two Google Sheets modules with the ClickUp equivalents, and that is it. If you want to see exactly how that swap works, our ClickUp automations tutorial walks through it.
Stop chasing payments by hand
Make.com’s free plan covers the full automation in this guide. Upgrade to Core at $9/month only when you outgrow the free credits — most small businesses never need to.
No credit card required. Free plan includes 1,000 monthly credits and 2 active scenarios.
FAQ
How much does this cost to run each month?
If you have fewer than 10 simultaneously overdue invoices, the Make.com free plan covers it. Past that, Make.com Core at $9 per month handles essentially any small business volume. Google Sheets and Gmail are free.
What if a client pays in the middle of the cycle?
Change their Status from Pending to Paid in the Google Sheet. The next morning, the Search Rows filter will skip them automatically.
Can I add a fourth reminder tier?
Yes. Add a fourth branch to the router with the filter “daysOverdue greater than or equal to 28 AND Follow Up Level equal to 3,” followed by another Gmail module and another Update Row module that sets Follow Up Level to 4. Most freelancers do not need this — past day 21, a phone call works better than another email.
What if I use Outlook or Apple Mail instead of Gmail?
Make.com has modules for Microsoft 365 (Outlook) that work exactly like the Gmail ones. For other providers, use the generic SMTP module. The rest of the scenario stays identical.
Can I CC myself on every reminder?
Yes. In each Gmail module, add your own email to the CC field. You will get a copy of every reminder the scenario sends, which is useful for the first few weeks while you build trust in the automation.
What happens if the scenario fails mid-run?
Make.com retries failed modules automatically up to three times. If a Gmail send fails (rate limit, invalid email), the scenario logs the error and continues to the next invoice. You can review failed runs in the History tab of your scenario.
Is this safe with sensitive client data?
The data stays in your own Google account and your own Make.com workspace. Make.com is GDPR-compliant and SOC 2 certified. That said, if you handle invoices subject to HIPAA or PCI-DSS, you may want to use Make’s Enterprise tier or run a self-hosted automation like n8n instead.
Some links in this article are affiliate links. If you sign up for Make.com or ClickUp through them, we may earn a small commission at no extra cost to you. This helps keep NoCodeFlo free. We only recommend tools we have tested and would use ourselves.