🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Google Sheets to Gmail, polite invoice reminders sent

Lisa Granqvist Partner Workflow Automation Expert

Chasing invoices is awkward. You open your Google Sheet, spot a few overdue rows, then spend your morning rewriting the same reminder email so it sounds “polite” but still gets paid.

This is where invoice reminder automation helps. Small business owners feel it first, because cash flow is personal. But agency operators and marketing managers end up doing the follow-ups too when ops is stretched thin.

This n8n workflow checks your invoice Google Sheet every day, calculates how late each invoice is, then sends a matching Gmail reminder with the right tone. You’ll see how it works, what you need, and what to watch out for before you turn it on.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Google Sheets to Gmail, polite invoice reminders sent

The Problem: Overdue invoice follow-ups take too much time

Most teams don’t struggle because they can’t send an email. They struggle because follow-ups are never “one email.” You check the sheet, filter what’s past due, calculate how late it is, then you second-guess the wording because you don’t want to annoy a good client. Next thing you know, it’s Friday, and half the overdue list never got a message. Even worse, the ones that did got inconsistent follow-ups, which makes your business look messy.

The friction compounds. It’s small tasks stacked on top of each other until you avoid the whole thing.

  • You end up spending about 10 minutes per invoice just to verify dates, amounts, and status.
  • Emails swing between too soft and too sharp, so clients get mixed signals about urgency.
  • One missed follow-up can stretch payment by weeks, which means you’re financing the project.
  • When the process lives in someone’s head, it breaks the moment they’re busy or out sick.

The Solution: Daily Google Sheets → Gmail reminders, written for the situation

This workflow runs on a daily schedule and treats your Google Sheet like a simple invoice database. It pulls every row, filters to the invoices that are unpaid and past the due date, then calculates how many days past due each one is. From there it builds a reminder message that matches the moment: a friendly nudge for invoices that are just a few days late, a firmer follow-up when it’s been a couple of weeks, and a final warning tone for the ones that are seriously overdue. Finally, it sends the email automatically and you can log what happened back into your sheet (or expand it later to notify Slack).

The workflow starts with a daily Cron trigger. Google Sheets provides the invoice rows, Function steps handle filtering and “days overdue” math, and the final Send Email step delivers the message to the client’s email address. After that, you’re not guessing who got contacted, because the automation is consistent.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you have 12 invoices in a month that need at least one follow-up. Manually, it’s usually 10 minutes to find the row, confirm the due date, calculate how late it is, and write an email that doesn’t sound cranky. That’s about 2 hours, and it often gets split across several days (which makes it easier to procrastinate). With this workflow, you spend about 15 minutes once to connect the sheet and email account, then the daily run happens in the background and the reminders go out automatically.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets for your invoice database and statuses.
  • Gmail (or SMTP) to send invoice reminders from your address.
  • Google account credentials (connect via n8n’s Google auth flow).

Skill level: Beginner. You’ll paste a Sheet ID, connect accounts, and confirm your column names match.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

A daily schedule kicks it off. The workflow uses a Cron trigger (the “Scheduled Daily Start” node) so reminders don’t depend on someone remembering to run a report.

Invoices are pulled from Google Sheets. n8n reads your invoice table, which should include columns like client_name, email, invoice_number, due_date, and status so it can tell what’s unpaid and who to contact.

Overdue invoices get filtered and scored. Function steps remove anything that isn’t past due, then compute “days overdue” (DPD). That one number becomes the logic for tone and urgency, which keeps your messaging consistent.

The email gets composed and sent. A message is generated based on the DPD bracket (friendly, firmer, final warning), and the Send Email node delivers it to the client’s email address.

You can easily modify the tone rules to match your voice, or change the schedule from daily to weekly based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Cron Trigger

Set the schedule that starts the daily reminder run.

  1. Add or open Scheduled Daily Start and set the trigger time to run daily at hour 6.
  2. Confirm the connection flow from Scheduled Daily Start to Retrieve Invoice Sheet.

Tip: Flowpast Branding is a sticky note for documentation only and does not affect execution.

Step 2: Connect Google Sheets

Pull invoice data from your spreadsheet so overdue records can be evaluated.

  1. Open Retrieve Invoice Sheet and set Range to Invoices!A1:G1000.
  2. Set Sheet ID to [YOUR_ID] and confirm Operation is lookup.
  3. Credential Required: Connect your googleSheetsOAuth2Api credentials.

⚠️ Common Pitfall: Ensure your sheet has columns named due_date and status exactly, since downstream logic depends on these fields.

Step 3: Set Up Processing Logic

Filter to unpaid invoices, compute days past due, and generate the reminder copy.

  1. In Filter Past-Due Records, keep the provided function code to filter items where status is unpaid and due_date is before today.
  2. In Compute Days Overdue, keep the function code that calculates dpd (days past due) and assigns it to item.json.dpd.
  3. In Compose Reminder Text, keep the function code that builds the message based on dpd and writes it to item.json.message.

The execution flow is linear: Retrieve Invoice SheetFilter Past-Due RecordsCompute Days OverdueCompose Reminder Text.

Step 4: Configure Output Email

Send the reminder email using the generated message.

  1. Open Dispatch Email Notice and set Subject to Invoice Reminder.
  2. Set Text to ={{$json.message}} to use the composed reminder message.
  3. Credential Required: Connect your email credentials for Dispatch Email Notice (SMTP or email provider configuration in n8n).

⚠️ Common Pitfall: If email credentials are missing, the workflow will execute but fail to send messages.

Step 5: Test and Activate Your Workflow

Validate the full flow and enable the daily schedule.

  1. Use Execute Workflow to run a manual test and confirm that overdue invoices produce a message field.
  2. Check that Dispatch Email Notice sends an email with the expected reminder text.
  3. Once confirmed, switch the workflow to Active to run daily via Scheduled Daily Start.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Google Sheets credentials can expire or need specific permissions. If things break, check the Google Sheets node credentials in n8n first, then confirm the connected Google account still has access to the Sheet.
  • If you later add Wait steps or external services (like WhatsApp sending), processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • The default wording in the “Compose Reminder Text” logic can feel generic. Honestly, spend 10 minutes adding your brand tone now or you will keep editing follow-ups forever.

Frequently Asked Questions

How long does it take to set up this invoice reminder automation?

About 20–30 minutes if your Sheet is already organized.

Do I need coding skills to automate invoice reminders?

No. You’ll connect Google Sheets and your email, then confirm the right columns map to the workflow.

Is n8n free to use for this invoice reminder automation workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also want to budget for email sending limits (Gmail has daily caps) if you’re contacting lots of clients.

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I customize this invoice reminder automation workflow for different reminder timing?

Yes, but you’ll do it in two places. Change the “Scheduled Daily Start” Cron schedule if you want weekly checks, and adjust the “Compose Reminder Text” logic if you want different tone brackets (for example, 3 days, 10 days, 30 days). Common customizations include adding your payment link, referencing purchase order numbers, and CC’ing an internal finance address.

Why is my Google Sheets connection failing in this workflow?

Usually it’s a permissions issue or an expired Google login inside n8n. Reconnect the Google Sheets credentials, then double-check the Sheet ID you pasted matches the real file and that the connected account can view it. If the workflow can read the sheet but finds “zero overdue invoices,” it’s often because column names don’t match what the workflow expects (client_name, email, invoice_number, due_date, status).

How many invoices can this invoice reminder automation handle?

For most small teams, hundreds of invoices in a Sheet is fine.

Is this invoice reminder automation better than using Zapier or Make?

It depends on how strict you want the logic to be. Zapier and Make can send a follow-up email, but the moment you want conditional tone (1–7 days, 8–14, 15+), date calculations, and filtering rules, n8n tends to feel cleaner and easier to maintain. You also get the option to self-host, which matters if you’re trying to keep execution costs predictable as volume grows. If you only need a simple “if due date passed, send email” rule, Zapier or Make may be quicker to set up. Talk to an automation expert if you want help choosing.

Set this up once, and overdue follow-ups stop living on your mental checklist. The workflow handles the repetitive nudging so you can focus on work that actually grows the business.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal