🔓 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, monthly finance reports done

Lisa Granqvist Partner Workflow Automation Expert

Monthly reporting shouldn’t feel like archaeology. But if your transactions live in Google Sheets, you probably spend the first day of the month sorting dates, fixing totals, and rewriting the same “what changed?” summary.

This hits marketing leads who need a quick budget readout, but business owners and ops folks feel it too. Sheets finance reports automation gives you a clean, ready-to-send monthly email with totals and a few useful insights, without the copy-paste marathon.

Below is the exact n8n workflow that pulls last month’s transactions, has AI summarize what matters, and sends the report via Gmail. You’ll see how it works, what you need, and the common pitfalls to avoid.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Google Sheets to Gmail, monthly finance reports done

The Problem: Monthly reporting turns into manual cleanup

If you’ve ever built a “simple” monthly finance email, you know how it goes. You open the sheet, filter to last month, realize a few rows are missing categories, then second-guess the totals because one refund is sitting in the wrong column. After that, you still need to write the narrative part: what drove expenses, what income lines changed, and what you should pay attention to next month. It’s not hard work. It’s repetitive work, and it steals the morning you meant to use for decisions.

The friction compounds. Here’s where it breaks down in real life.

  • You spend about 1–2 hours every month filtering and formatting the same report.
  • Small data mistakes slip in because you’re moving fast, which means totals don’t match and trust drops.
  • The “insights” section becomes vague because you’re already tired by the time you write it.
  • Reports go out late when the one person who knows the steps is busy or out.

The Solution: Google Sheets + Gmail reports, generated automatically

This workflow runs on a monthly schedule (typically the first day of the month), pulls your transactions straight from a Google Sheet, and isolates only the entries from the prior month. Then it hands that curated dataset to OpenAI to calculate total income, total expenses, and a short set of practical bullet insights based on what changed. Finally, n8n assembles everything into a formatted Gmail message, including a transaction table and the AI summary, and emails it to the people who need it. No digging through tabs. No last-minute spreadsheet gymnastics.

The workflow starts with a Cron-style schedule trigger. Next, Google Sheets acts as the source of truth, and a small filter step trims the data to the right date window. OpenAI produces the totals and narrative, then Gmail sends the final report as a ready-to-forward email.

What You Get: Automation vs. Results

Example: What This Looks Like

Say your sheet has around 300 transactions per month and you send a summary to two people. Manually, you might spend 45 minutes filtering and cleaning, 30 minutes double-checking totals, and another 30 minutes writing a decent explanation. Call it about 2 hours. With this workflow, you spend maybe 10 minutes once to set the Sheet range and recipients, then the monthly run is automatic (a few minutes to process, then it arrives in Gmail). That’s your month-end morning back.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets for your transaction table and categories.
  • Gmail to send the report to stakeholders.
  • OpenAI API key (get it from your OpenAI dashboard).

Skill level: Beginner. You’ll connect accounts and confirm your sheet columns match the expected format.

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

How It Works

A monthly schedule kicks it off. n8n runs on the day you choose (most people pick the 1st), so reporting happens even if nobody remembers.

Your Google Sheet is read as-is. The workflow grabs rows from a defined range (for example, a FinanceSummary tab with columns like date, description, category, income/expense, amount). If your columns are slightly different, you’ll adjust the range and mapping once.

Last month gets isolated. A small Function step filters rows to the complete previous month, which avoids the classic “partial month” confusion when someone runs a report early.

AI produces totals and a short narrative. OpenAI receives only the filtered data, then returns total income, total expense, and three concise insights you can actually skim.

Gmail sends the finished report. The final email includes a transaction table plus the summary, so recipients can glance at the story and still audit details if they want.

You can easily modify the schedule to run weekly instead of monthly based on your needs. 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 automatically each month using the built-in schedule trigger.

  1. Add the Monthly Schedule Trigger node as the trigger.
  2. Set the schedule rule interval to run every month by configuring ruleinterval with field set to months.
  3. Ensure the connection flows from Monthly Schedule Trigger to Retrieve Finance Sheet Data.

Step 2: Connect Google Sheets

Pull the monthly finance data from your Google Sheet.

  1. Add the Retrieve Finance Sheet Data node.
  2. Set Sheet ID to [YOUR_ID].
  3. Set Range to FinanceSummary!A:E.
  4. Credential Required: Connect your googleSheetsOAuth2Api credentials.
  5. Connect Retrieve Finance Sheet Data to Filter Prior Month Records.
⚠️ Common Pitfall: Ensure the sheet has a Date column matching the expected format, or the filter step will drop all rows.

Step 3: Set Up Data Filtering and AI Insights

Filter the dataset to the prior month and generate a summary with GPT-4.

  1. Add the Filter Prior Month Records node and keep the provided Function Code to filter by the previous month.
  2. Add the Create AI Finance Insights node and set Model to gpt-4.
  3. Set the Prompt to include the transaction payload with the expression {{JSON.stringify($json, null, 2)}}.
  4. Credential Required: Connect your openAiApi credentials.
  5. Ensure the flow connects Filter Prior Month RecordsCreate AI Finance Insights.

Step 4: Configure the Email Output

Send the AI-generated summary to your recipients via Gmail.

  1. Add the Dispatch Finance Summary Email node.
  2. Set Subject to Monthly Finance Summary and AI Insights.
  3. Credential Required: Connect your gmailOAuth2 credentials.
  4. Connect Create AI Finance Insights to Dispatch Finance Summary Email.
If you want to brand the canvas, keep Flowpast Branding as a non-executing note for documentation.

Step 5: Test and Activate Your Workflow

Validate the end-to-end run and then enable the monthly schedule.

  1. Click Execute Workflow to run the flow manually.
  2. Confirm that Retrieve Finance Sheet Data outputs rows, Filter Prior Month Records returns only the previous month, and Create AI Finance Insights generates a formatted summary.
  3. Check your inbox to verify Dispatch Finance Summary Email sends the report successfully.
  4. Turn on the workflow by toggling Active so Monthly Schedule Trigger runs each month in production.
🔒

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 connection inside n8n Credentials first, then confirm the Sheet is shared with the right account.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.

Frequently Asked Questions

How long does it take to set up this Sheets finance reports automation?

About 30 minutes if your Google accounts are ready.

Do I need coding skills to automate Sheets finance reports?

No coding required. You’ll mostly connect Google Sheets, Gmail, and paste in your OpenAI API key.

Is n8n free to use for this Sheets finance reports 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 need to factor in OpenAI API costs (often a few cents per report, depending on how much text you include).

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 Sheets finance reports workflow for weekly reporting instead of monthly?

Yes, but you’ll change two parts. Update the Schedule Trigger to run weekly, then adjust the “Filter Prior Month Records” function logic to filter the last 7 days (or last full week) instead of the previous month. Many teams also tweak the OpenAI prompt so the insights focus on category spikes and unusual transactions. If you want, you can add a second Gmail node to send a shorter “weekly pulse” to a wider list.

Why is my Google Sheets connection failing in this workflow?

Usually it’s an expired Google OAuth session or the Sheet isn’t shared with the same Google account used in n8n. Reconnect the Google Sheets credential, then confirm the Sheet ID is correct and the tab/range exists (for example, FinanceSummary!A:E). If the data loads but the AI step fails, check for blank date cells or inconsistent date formats because the filter logic relies on valid dates.

How many transactions can this Sheets finance reports automation handle?

Hundreds per month is fine, and even a few thousand usually works, but very large sheets may require narrowing the range or summarizing before sending to OpenAI.

Is this Sheets finance reports automation better than using Zapier or Make?

Often, yes, if you care about control. n8n makes it easier to filter dates reliably, reshape rows, and build a proper “report” payload before the email is sent. Self-hosting is also a big deal when you want unlimited runs without watching task limits. Zapier or Make can still work if your version is very simple, but once you add “only last month,” totals, and AI insights, the logic tends to get messy. If you’re on the fence, Talk to an automation expert and you’ll get a straight recommendation.

Once this is running, your month-end report becomes a non-event. The workflow handles the repetitive parts so you can focus on the decisions the numbers are trying to tell you.

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