See llms.txt for all machine-readable content.

Back to Templates

Send a daily overdue invoice digest with Google Sheets and Gmail

Quick overview

I built this for freelancers who keep invoices in Google Sheets. It learns how late each client really pays, gives every unpaid invoice an expected date and a cash calendar by week, and emails you once when a promise breaks or a client starts paying slower.

How it works

  1. Each morning I read your Invoices tab and work out how many days late each client paid every past invoice.
  2. A client with three paid invoices or more gets their own habit. A newer client borrows the habit of all your clients together, marked low confidence.
  3. Each unpaid invoice gets an expected date. A date the client promised in the promised_on column comes first.
  4. I rewrite the Forecast tab with every open invoice, its week, its risk and the reason in plain words.
  5. You get an email when a promise is broken, an invoice runs later than that client usually pays, or a client's recent invoices are paid a week or more later than their older ones (both numbers are settings). Each change reaches you once, and I log it in the Alerts tab. On your summary day, Monday unless you change it, the full forecast comes anyway.

It never emails a client. Chasing stays your decision.

Setup

  1. Make a Google Sheet with three tabs: Invoices, Forecast and Alerts. The Invoices columns are invoice_id, client, amount, currency, due_on, paid_on, promised_on and status.
  2. Connect your Google Sheets and Gmail credentials on the nodes that ask for them.
  3. Open Your Settings and fill in your email address and the sheet URL.
  4. Set your timezone in the workflow settings.
  5. Click Run It Now, read the email I send you, then switch the workflow on.

Requirements

A Google account with Sheets and Gmail, and n8n 1.x or 2.x. No AI service and no paid add-on.

Customization

Your Settings holds the thresholds I use: the paid invoices a client needs before they get their own habit, and how much later recent payments must be before I call a client slower. The weeks ahead, the summary day and the date order sit there too.

Additional info

I ran it on n8n with a test sheet of 18 invoices: it wrote the Forecast tab, sent the email and logged four alerts, and a second run reported none of them again. Rows with a missing client, a bad amount or a date it cannot read are named in the email and left out of the forecast.

It is free to use.

Support: [email protected]