Field note

How to Automate Invoice Reminders With Make.com (Step by Step, No Nagging Required)

The one-paragraph version

I built a Make scenario that watches my invoice tracker, sends a polite reminder 3 days after the due date, a firmer one at 14 days, and a final notice at 30 days — then flags me to pick up the phone. Build time: about an hour. Result: my average days-to-paid dropped from 34 to 19. The rest of this article is the exact build, the email copy I use, and the one setting that almost made me spam a client.

The awkward truth about late payments

Nobody likes chasing invoices. It's not the two minutes of writing the email — it's the emotional friction of nagging someone you have a good relationship with. So most freelancers do what I did for years: wait, feel resentful, send one apologetic "just bumping this!" email, wait more.

The data on this is boring and unanimous: invoices with automated reminders get paid faster than invoices with human reminders, because the automation has no embarrassment. A robot doesn't feel awkward. That's the entire business case.

What you need before you build

  1. An invoice tracker. Mine is a Google Sheet with columns: Client, Invoice #, Amount, Due date, Status (Sent / Paid / Overdue), Reminder count. You can use Airtable instead — same idea. If your invoices live only in your accounting tool's head, fix that first; the automation needs a single source of truth.
  2. A Make account. Free plan works (1,000 credits/month). This scenario burns roughly 60–100 credits a month for a freelancer sending 10–20 invoices. Well within free.
  3. An email sender. Gmail module in Make works fine. If you want the reminders to come from your invoicing tool instead, most accounting apps have Make integrations — but honestly, a plain email with a payment link converts better than anything fancy.

The build, step by step

Step 1: The trigger — a scheduled check, once a day. New Make scenario. First module: Schedule → "Every day" at 8:00 AM. Not every 15 minutes, not on every edit — once a day is the right cadence for payment reminders. (Side note: Make's free plan has a 15-minute minimum interval anyway, so daily is comfortably inside the limit.)

Step 2: Read the tracker. Google Sheets → "Search rows" module. Filter: Status = "Sent" AND Due date is before today. This returns only the overdue, unpaid invoices. One module, a handful of credits.

Step 3: Router — three reminder tiers. Add a Router with three routes, each with a filter on "days overdue":

Routers and filters cost zero credits in Make — this is one of the genuinely good things about their pricing model. On Zapier, the equivalent (Paths) exists on paid plans, and every step still burns a task.

Step 4: The emails. Gmail → "Send an email" on each route. Here's the copy I actually use — steal it:

Route A (polite): Subject: "Quick check-in on invoice #1234". Body: "Hi [Name], hope you're well. Just a friendly heads-up that invoice #1234 for $[amount] was due on [date]. Here's the payment link again: [link]. Let me know if there's anything you need on my end!"

Route B (firm): Subject: "Invoice #1234 is now 2 weeks overdue". Body: "Hi [Name], following up — invoice #1234 ($[amount], due [date]) is still outstanding. Could you let me know when I can expect payment? Payment link: [link]."

Route C (final): Subject: "Final notice: invoice #1234". Body: "Hi [Name], this is the third reminder for invoice #1234 ($[amount], originally due [date]). If I don't hear from you by [date + 7], I'll need to pause any ongoing work and explore next steps. I'd much rather sort this out — can we talk this week?" Plus: create a task for yourself (Todoist/Notion/Slack message to yourself) to call them.

Step 5: Update the tracker. After each email, Google Sheets → "Update a row": increment Reminder count, set Last reminder date. This prevents double-sends and gives you a paper trail.

Step 6: Test with a fake row. Add a test invoice with a due date of yesterday for $1, run the scenario manually, check that Route A fires and the email looks right. Delete the test row. Only then turn on the schedule.

The setting that almost made me spam a client

Make scenarios have a setting for what happens when a module returns no results. My first version: when no invoices were overdue, the Sheets search returned empty — fine. But I'd also set the scenario to "run on demand" during testing and accidentally left a test schedule running every 15 minutes while debugging the email template. Result: three identical "polite nudges" to my own test address in 45 minutes. Harmless in testing, mortifying if it had been a real client.

Two rules I now follow: always test with your own email address first, and set the schedule to daily only after the template is final. Also add a guard filter: "Reminder count < 3" on Route A and B so no client ever gets more than the designed sequence even if something misfires.

Should the payment link be in the email?

Yes. Every reminder should make paying take less than 60 seconds. I use Stripe Payment Links — no monthly fee, you pay 2.9% + 30¢ per successful US card transaction, and generating a link takes about a minute in the Stripe dashboard. The link goes in every reminder email. Removing friction at the payment step matters more than the wording of the email; half of "late" payments are just procrastination, and a one-click link kills procrastination.

Handling the replies (the part nobody automates)

The reminders work — which means clients reply, and you need a plan for the three reply types:

  1. "Paid it, sorry for the delay!" — Verify it actually arrived (check Stripe/your bank, not their word), then update the tracker Status to Paid. I have a Make scenario branch for this too: when I mark an invoice Paid, it sends a one-line thank-you. Takes 10 seconds to set up, and clients remember being thanked more than being chased.
  1. "Can we do a payment plan / need two more weeks?" — This is a human conversation, not an automation. My rule: agree in writing (email), update the Due date in the tracker to the new agreed date, and let the automation resume from there. The system doesn't judge; it just follows the new date.
  1. Silence. — After Route C (30 days) plus your phone call, stop automating and decide: collections, write-off, or small claims. The automation's job was to make sure no invoice ever got forgotten. Once you've done the human follow-up, the system has done all it can.

Adapting this for retainers vs. one-off projects

The scenario above assumes per-invoice billing. Two common variations:

Monthly retainers: instead of due-date logic, trigger on "invoice sent + 7 days, status unpaid." Same three-tier escalation, just anchored to send date. I also add a Route D: if a retainer invoice hits 30 days overdue, the scenario pauses the client's active work automations (a Slack message to me: "pause onboarding emails for [client]"). Nothing enforces payment like paused service — but only do this if your contract allows it.

One-off projects with deposits: two trackers, or one tracker with a "Type" column (Deposit / Final). Deposits get a shorter fuse — Route A at 1 day overdue, because final delivery is usually gated on the deposit clearing. I learned this after starting a project on an unpaid deposit and spending three weeks as an involuntary creditor.

When automation isn't enough: the phone call

There comes a point — usually around day 30–45 — where emails stop working and a voice starts working. Here's the script I use, because "just call them" is useless advice without words:

"Hi [Name], it's [you] — I'm calling about invoice [#], which is now [X] days overdue at $[amount]. I'm not calling to be difficult; I just want to understand what's going on, because the emails might be landing in spam. Is there something I can help resolve on my end?"

Three things this does: it assumes a benign cause (spam filter), it asks an open question, and it puts the ball in their court without aggression. In four years, this call has never once gone badly. The worst outcome was "oh no, our AP person left, resend it to this address" — which the automation then handled from the new date.

What this costs

Pricing checked October 2026 — verify on the official pages before you commit, especially Make's plan names, which they shuffle periodically.


Enjoyed this? Join the newsletter for one practical automation tip a week. No spam, no hype.

← Back to all field notes