Automated invoice payment reminders with Google Sheets and Gmail
Workflow preview
$20/month : Unlimited workflows
2500 executions/month
THE #1 IN WEB SCRAPING
Scrape any website without limits
HOSTINGER
Early Deal
DISCOUNT 20% Try free
DISCOUNT 20%
Self-hosted n8n
Unlimited workflows - from $4.99/mo
#1 hub for scraping, AI & automation
6000+ actors - $5 credits/mo
Important notice
This workflow is provided as-is. Please review and test before using in production.
Overview
How It Works ⚙️
This workflow systematically ensures you never miss sending an invoice reminder:
- Daily Schedule Trigger: ⏰ The workflow starts automatically at a set time each day (e.g., every morning). This ensures continuous monitoring of your invoice statuses.
- Read Invoice Data (Google Sheets): 📊 The workflow connects to your specified Google Sheet to retrieve a list of all your invoices and their details. Ensure your sheet has required columns like
InvoiceID,ClientName,ClientEmail,Amount,DueDate, andStatus. - Filter & Prepare Reminders (Function): 🧹 This is the core logic. It processes each invoice row:
- Compares the
DueDatewith the current date. - Identifies invoices that are due soon (e.g., within 3 days) or are already overdue (e.g., up to 7 days past due).
- Skips invoices marked as 'Paid'.
- Prepares a custom subject line and email body for each relevant reminder.
- Compares the
- If Invoices to Remind?: 🚦 This node acts as a gate. If the previous step found any invoices needing reminders, the workflow proceeds. If not, it stops gracefully.
- Send Invoice Reminder (Gmail): 📧 For each filtered invoice, this node sends a personalized email reminder to the client. The email uses the dynamic subject and body prepared in the 'Filter & Prepare Reminders' step.
How to Set Up 🛠️
Follow these steps carefully to get your "Automated Invoice Reminder" workflow up and running:
Import Workflow JSON:
- Open your n8n instance.
- Click on 'Workflows' in the left sidebar.
- Click the '+' button or 'New' to create a new workflow.
- Click the '...' (More Options) icon in the top right.
- Select 'Import from JSON' and paste the entire JSON code provided in the previous response for this workflow.
Configure Daily Schedule Trigger:
- Locate the 'Daily Schedule Trigger' node (1. Daily Schedule Trigger).
- Adjust 'interval', 'value', and 'timezone' to your preferred daily reminder time (e.g., every 24 hours at 9 AM in your local timezone).
Configure Read Invoice Data (Google Sheets):
- Locate the 'Read Invoice Data (Google Sheets)' node (2. Read Invoice Data).
- Credentials: Select your existing Google Sheets OAuth2 credential or click 'Create New' to set one up. Replace
YOUR_GOOGLE_SHEETS_CREDENTIAL_IDwith the actual ID or name of your credential from your n8n credentials. - Sheet ID: Replace
YOUR_GOOGLE_SHEET_IDwith the actual ID of your Google Sheet where invoice data is stored. - Range: Ensure the 'range' (e.g.,
Invoices!A:F) correctly covers all your invoice data. Crucially, ensure your Google Sheet has columns with exact names:InvoiceID,ClientName,ClientEmail,Amount,DueDate(in a parsable date format like YYYY-MM-DD), andStatus(e.g., 'Pending', 'Paid').
Configure Filter & Prepare Reminders (Function):
- Locate the 'Filter & Prepare Reminders' node (3. Filter & Prepare Reminders).
- Date & Field Names: Review the
functionCodeinside the node. Adjust the variable names (e.g.,invoice.InvoiceID,invoice.DueDate) if your Google Sheet uses different column headers than the defaults assumed in the code. - Reminder Window: You can modify
remindBeforeDays(e.g., 3 days before) andremindAfterDays(e.g., 7 days after) to adjust how many days before/after the due date reminders are sent. - Email Content: Modify the
subjectPrefixandbodyTextwithin the code to customize the reminder message for 'due soon' and 'overdue' invoices.
Configure Send Invoice Reminder (Gmail):
- Locate the 'Send Invoice Reminder (Gmail)' node (5. Send Invoice Reminder).
- Credentials: Select your existing Gmail OAuth2 credential or click 'Create New'. Replace
YOUR_GMAIL_CREDENTIAL_IDwith the actual ID or name of your credential from your n8n credentials. - From Email: Replace
[email protected]with the email address you want the reminders to be sent from. - Email Content: The 'subject' and 'html' fields are dynamically generated by the previous 'Function' node (
={{ $json.subject }}and={{ $json.body }}). You can further customize the HTML email template here if needed.
Review and Activate:
- Thoroughly review all node configurations. Ensure all placeholder values (like
YOUR_...) are replaced and settings are correct. - Click the 'Save' button in the top right corner.
- Finally, toggle the 'Inactive' switch to 'Active' to enable your workflow. 🟢 Your automated invoice reminder is now live and ready to improve your cash flow!
- Thoroughly review all node configurations. Ensure all placeholder values (like
Troubleshooting Tips: 💡
- Execution History: Always check the 'Executions' tab in n8n for detailed error messages if the workflow fails.
- Google Sheet Data: Ensure your Google Sheet data is clean and matches the expected column headers and date formats.
- Function Node Logic: If invoices aren't being filtered correctly, the
Functionnode is the place to debug. Use the 'Test Workflow' feature to inspect the data flowing into and out of this node. - Credential Issues: Double-check that all credentials are correctly set up and active in n8n.