🔓 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, invoice reminders sent for you

Lisa Granqvist Partner Workflow Automation Expert

Your invoices aren’t the problem. The follow-ups are. You send one reminder, then another, then you realize three more clients slipped past their due date because you were busy doing real work.

Finance admins feel this every week. Agency owners notice it when cash flow gets “weird” mid-month. And solo operators? You end up doing invoice chasing at night. This invoice reminder automation takes that off your plate and makes follow-ups consistent.

This workflow checks your Google Sheet daily, finds invoices that are due soon or overdue, and sends personalized Gmail reminders automatically. You’ll see how it works, what you need, and what to tweak so it matches your process.

How This Automation Works

The full n8n workflow, from trigger to final output:

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

The Problem: Invoice follow-ups happen too late (or not at all)

Most small teams track invoices in a spreadsheet because it’s simple and flexible. But the moment you rely on “I’ll remember to follow up,” the system breaks. You open the sheet, filter by due date, check who paid, draft an email, copy the amount, then hope you didn’t pull the wrong client email from an old thread. Multiply that by 10 invoices and it’s suddenly an hour. Then there’s the emotional tax. You don’t want to bug good clients, so you wait, and waiting quietly hurts your cash flow.

It adds up fast. Here’s where it usually breaks down.

  • Reminders get sent in batches when you finally remember, which means invoices age past the point where “friendly” feels natural.
  • Someone marks an invoice as paid in one place but not in the sheet, so you send an awkward follow-up to the wrong client.
  • Due dates sit in mixed formats, so sorting looks right but you still miss items hiding in the noise.
  • Every manual email is a tiny creative task, and that context switching drains your day.

The Solution: A daily spreadsheet check that sends Gmail reminders automatically

This n8n workflow runs on a daily schedule and treats your Google Sheet like a living queue of follow-ups. At the set time (say, every morning), it pulls every invoice row from your sheet, then applies simple logic: ignore anything marked “Paid,” flag invoices due soon (for example, within 3 days), and also flag invoices that are overdue (for example, up to 7 days past due). For each match, it creates a tailored email subject and message that includes the client name, invoice ID, amount, and due date. If there’s nothing to send, it stops cleanly. If there are reminders to send, Gmail sends them out one by one, reliably, without you babysitting it.

The workflow starts with a daily trigger. Google Sheets provides the invoice list, a Function step decides who needs a nudge, and an If gate prevents “empty runs” from trying to send anything. Gmail delivers the final reminder emails using the content prepared earlier.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you manage 25 open invoices in a sheet and you typically need to follow up on 8 of them each week. Manually, finding the right rows, drafting emails, and double-checking details takes maybe 10 minutes per invoice, so you lose about 80 minutes weekly. With this workflow, you spend about 15 minutes once setting it up, then it runs each morning on its own. Most days you do nothing, and the reminders still go out on time.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets to store invoice rows and statuses.
  • Gmail to send reminder emails from your account.
  • Google OAuth credentials (create in n8n Credentials for Sheets and Gmail).

Skill level: Intermediate. You’ll connect Google credentials, confirm your sheet columns, and adjust a small bit of reminder logic (like “3 days before”).

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

How It Works

A daily scheduled check runs automatically. You pick the time and timezone, and n8n kicks the workflow off every day without anyone logging in.

Your invoice sheet is read in one pull. The workflow grabs rows from Google Sheets, expecting columns like InvoiceID, ClientName, ClientEmail, Amount, DueDate, and Status so it can make decisions reliably.

Reminder logic decides what to send. A Function step compares each DueDate to today, skips anything marked Paid, then prepares a subject and message for “due soon” and “overdue” cases. It’s also where you adjust windows like 3 days before or 7 days after.

Gmail sends the reminders only if there’s a queue. An If node checks whether there are any reminders to send, then Gmail sends each email using the content already prepared.

You can easily modify the reminder windows and the email wording to match your tone. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Schedule Trigger

Set the workflow to run on a daily schedule so invoice reminders are evaluated automatically.

  1. Add the Scheduled Daily Kickoff node as your trigger.
  2. Open Scheduled Daily Kickoff and set the schedule to run daily using the built-in rule configuration.
  3. Keep the default execution order (it will pass output to Retrieve Invoice Sheet Data).

Step 2: Connect Google Sheets

Pull invoice data from your spreadsheet for reminder evaluation.

  1. Add the Retrieve Invoice Sheet Data node and connect it to Scheduled Daily Kickoff.
  2. Credential Required: Connect your googleSheetsOAuth2Api credentials.
  3. Set Sheet ID to YOUR_GOOGLE_SHEET_ID.
  4. Set Range to Invoices!A:F.

⚠️ Common Pitfall: Ensure your sheet has the expected column headers: InvoiceID, ClientName, ClientEmail, Amount, DueDate, Status. Mismatched headers will cause Prepare Reminder Payloads to skip records.

Step 3: Set Up Processing and Filtering

Prepare reminder content and filter only invoices that should receive reminders.

  1. Add Prepare Reminder Payloads after Retrieve Invoice Sheet Data.
  2. In Prepare Reminder Payloads, keep the provided Function Code as-is unless you need to adjust reminder windows or field mappings.
  3. Connect Prepare Reminder Payloads to Check Reminder Queue so the workflow only proceeds when reminders are created.

Tip: To change reminder timing, edit the values const remindBeforeDays = 3; and const remindAfterDays = 7; in Prepare Reminder Payloads.

Step 4: Configure the Email Output

Send personalized reminder emails for each qualifying invoice.

  1. Add Dispatch Reminder Email and connect it to the true output of Check Reminder Queue.
  2. Credential Required: Connect your gmailOAuth2 credentials.
  3. Set Subject to ={{ $json.subject }}.
  4. Map the email To field to the recipient address using {{$json.clientEmail}} and use the prepared body content from {{$json.body}}.

Step 5: Test and Activate Your Workflow

Verify the data flow and enable the workflow for daily use.

  1. Click Execute Workflow to run a manual test.
  2. Confirm Retrieve Invoice Sheet Data returns rows and Prepare Reminder Payloads outputs only due or overdue invoices.
  3. Ensure Dispatch Reminder Email sends messages with the correct subject and body.
  4. When successful, toggle the workflow to Active so Scheduled Daily Kickoff runs daily.
🔒

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 n8n Credentials screen and re-authenticate the Google account first.
  • If you’re filtering by DueDate and your sheet stores dates as text, the Function logic may misclassify invoices. Clean up the date format (YYYY-MM-DD is safest) and test one or two rows in the n8n execution data.
  • Gmail can fail when sending higher volumes or when “From” doesn’t match the authenticated account. Check the last run in the Executions tab and confirm the Gmail node is using the same inbox you expect.

Frequently Asked Questions

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

About 30 minutes if your Google Sheet is already clean.

Do I need coding skills to automate invoice reminders?

No. You’ll mostly connect Google accounts and paste in your Sheet ID and range.

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 account for Google Workspace costs if you’re using a paid Gmail/Workspace inbox.

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 a different reminder schedule?

Yes, and it’s one of the first things you should change. Adjust the Schedule Trigger time for when the workflow runs, then edit the “remindBeforeDays” and “remindAfterDays” values inside the Prepare Reminder Payloads (Function) step. Common tweaks include sending two reminders before the due date, extending overdue chasing past 7 days, or adding different wording for VIP clients.

Why is my Google Sheets connection failing in this workflow?

Usually it’s expired Google OAuth permission or the wrong Sheet ID/range. Reconnect the Google Sheets credential in n8n, then confirm the range actually includes your header row (InvoiceID, ClientEmail, DueDate, and so on). If the sheet loads but the workflow still sends nothing, check the execution data to see if DueDate is coming through as a real date or as messy text.

How many invoices can this invoice reminder automation handle?

On n8n Cloud Starter, you can run plenty of daily checks for a typical small business, and higher plans handle more volume. If you self-host, there’s no execution cap, but your server resources and Gmail sending limits still matter. Practically, hundreds of invoices in a sheet is fine as long as the data is clean and you’re not trying to send a huge batch in one go.

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

Often, yes, because the logic here is the whole point. n8n makes it easy to compare dates, branch on conditions, and build custom email content without paying extra for every little filter. You can also self-host, which keeps costs predictable once your reminder volume grows. Zapier or Make can still work if your rules are extremely simple, but most teams end up fighting the edges of “spreadsheet date logic” pretty quickly. If you want a sanity check before you build, Talk to an automation expert.

This is the kind of workflow you set up once, then quietly benefit from every week. Your sheet stays simple, your follow-ups stay consistent, and you stop carrying invoice chasing around in your head.

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