Send monthly consolidated customer statements from Google Sheets with Gmail
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
What this workflow does
This workflow has 8 nodes and runs on a schedule (every month at 09:00). Along the way it connects Google Sheets and Gmail.
How it runs
Trigger: On a schedule (every month at 09:00).
- Settings (Edit Fields (Set)): sets 6 fields: sheetUrl, businessName, yourName…
- Get open invoices (Google Sheets): uses Google Sheets
- Read the statement log (Google Sheets): uses Google Sheets
- Build statements (Code): runs custom JavaScript code
- Email the statement (Gmail): uses Gmail
- Build the log row (Code): runs custom JavaScript code
- Log sent statements (Google Sheets): append
Services it uses
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (5)
- Schedule Trigger
n8n-nodes-base.scheduleTrigger - Edit Fields (Set)
n8n-nodes-base.set - Google Sheets
n8n-nodes-base.googleSheets - Code
n8n-nodes-base.code - Gmail
n8n-nodes-base.gmail
From the author
Quick overview This workflow runs on the 1st of every month, reads open invoices from Google Sheets, builds one consolidated account statement per customer with ageing totals, emails it via Gmail, and appends a send log back to Google Sheets to prevent…