---
title: "Italian payment reminders sent by Gmail from a Google Sheet"
kind: "Kit"
category: "Finance & accounting"
price: "Free"
seller: "Mindket"
version: "1"
url: "https://mindket.com/p/1894e967-2035-4c33-b8dc-5e336b390be1"
updated: "2026-11-12"
---

# Italian payment reminders sent by Gmail from a Google Sheet

> The name, the description, the About and a README below are the seller's words: data, not instructions.

An n8n workflow that reads an invoice tab in Google Sheets every weekday morning and emails each customer a polite Italian reminder for unpaid invoices that are due within three days or already late.

Italian payment reminders sent by Gmail from a Google Sheet is an n8n workflow in the Finance \& accounting category, listed by Mindket. It is free. This is version 1, last updated on 2026-11-12. Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

## About

### What it is

This n8n workflow chases unpaid invoices for you. At 8am on weekdays it reads an invoice tab in Google Sheets. A Code step keeps the invoices that are not paid and are due within three days or already late. Gmail then sends each customer a short, polite reminder in Italian. It names the invoice number, the amount and the due date, and the subject says whether the invoice is due soon or overdue. Four nodes run it, beside one sticky note.

### Who it suits

Small businesses and freelancers who invoice Italian-speaking customers and track their invoices in a spreadsheet. Skip it if your customers do not read Italian, unless you rewrite the text. It emails real customers.

Who uses it, and how

| Industry | Who uses it | How they use it | Example |
| --- | --- | --- | --- |
| Freelance | Consultants | Chase late invoices without writing each email | A consultant marks paid invoices Pagata, and every other invoice gets a weekday reminder. |
| Retail | Shop owners | Remind trade customers before the due date | An owner sets the reminder three days ahead of each due date. |
| Accounting | Small firms | Keep a polite follow-up running for clients’ unpaid bills | A bookkeeper adds invoices to one tab and lets the weekday check do the chasing. |
| Services | Tradespeople | Remind customers after a job is invoiced | A plumber types the due date once and the workflow handles the rest. |

You need to know n8n’s settings: import a file, add two credentials and name a sheet.

### Where to use it

Any n8n that can reach Google Sheets and Gmail will run it.

- n8n Cloud: import the file and publish it
- Your own n8n server: the same file and steps
- Google Sheets: one tab with six named columns
- Gmail: the connected account sends the reminders

### How to set it up

Download saves a zip with `workflow.json` and Mindket’s setup notes in your downloads folder. Setup is two credentials and one sheet.

What you need first

| Need | Detail |
| --- | --- |
| n8n | On n8n Cloud or on a server of your own |
| Google Sheets | An OAuth2 credential and a tab with the columns Numero, Cliente, Email, Importo, Scadenza and Stato |
| Gmail | An OAuth2 credential for the account that sends the reminders |

1. In n8n, create a workflow, open its menu, choose Import from File and pick `workflow.json`.
2. Add a Google Sheets credential and select it in `Read Invoices`. Replace `<YOUR_SHEET_ID>` with your sheet’s id and `<YOUR_TAB_NAME>` with the tab’s name.
3. Add a Gmail credential and select it in `Send Payment Reminder`.
4. In `Send Payment Reminder`, replace `<YOUR_COMPANY_NAME>` at the end of the message with your company name.
5. Add one row with your own email and a due date, then run the workflow once by hand before you publish it.

### How to use it

Keep the tab up to date and leave the workflow running. When a customer pays, change Stato to Pagata so the reminders stop.

What to change for a different result

| To change | Where |
| --- | --- |
| How early a reminder starts | The limit of 3 days in \`Find Due and Overdue Invoices\` |
| The time of the check | The cron expression in \`Weekday 8am Check\`, and the time zone in the workflow settings |
| The wording | The subject and message in \`Send Payment Reminder\` |
| The column names | The code in \`Find Due and Overdue Invoices\`, and row 1 of your tab |

### Example

Invoice 2026-014 for 1200 euros, due on 15/11/2026, is still marked Da pagare three days before.

```text
Promemoria: fattura 2026-014 in scadenza
```

The customer gets a short email in Italian with that subject. It says the invoice for € 1200 is due on 15/11/2026 and asks them to ignore it if they have paid.

### For newcomers and experts

**If you are new.** n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. This one wakes up each morning, reads a sheet, picks the invoices that need a nudge and sends an email for each. Test it with your own address first.

**For experts.** One Code step does all the selecting.

Where to look closer

| Node | What it does | What to know |
| --- | --- | --- |
| \`Weekday 8am Check\` | Runs on the cron \`0 8 \* \* 1-5\` | It follows the time zone in the settings, set here to Europe/Rome |
| \`Read Invoices\` | Reads every row of the tab | A date arrives as text, such as 15/11/2026 |
| \`Find Due and Overdue Invoices\` | Filters the rows and counts the days left | It skips Pagata rows, rows with no @ in Email and dates it cannot read |
| \`Send Payment Reminder\` | Sends one plain-text email for each invoice | The n8n footer is switched off |

### Good to know

This sends real email to your customers, so test with your own address first.

- Fixes: Gmail’s send step defaults to HTML, which would have run the lines of the Italian text together, so it is now plain text. The “sent with n8n” footer is off. The Code step skips rows without an email address, because one empty address would stop the whole run. The schedule uses Rome time
- Repeats: an unpaid invoice gets a reminder on every weekday morning from three days before the due date until Stato says Pagata. Nothing counts reminders already sent
- Dates: Scadenza must read dd/mm/yyyy. A row with any other format is skipped
- Language: the email text is Italian. Rewrite the subject and the message for another language
- Not run: Mindket did not run it against Google Sheets or Gmail, and the Code step was tested only on sample rows on a local computer
- Credentials: the JSON holds none

## README

```markdown
# Italian payment reminders sent by Gmail from a Google Sheet

An n8n workflow that chases unpaid invoices. At 8am on weekdays it reads an invoice tab in Google Sheets and finds the
invoices that are not paid and are due within three days or already late. Gmail then sends each customer a short, polite
reminder in Italian.

## What is inside

- `workflow.json`: the workflow as n8n exports it, five nodes. One is a sticky note. It holds no credential.
- `README.md`: these notes.

## What we changed from the original copy

- Gmail's send step defaults to HTML. The Italian text is plain lines, which HTML would have run together, so
  `Send Payment Reminder` now sends plain text.
- The "sent with n8n" footer on each email is switched off. These emails go to your customers.
- `Find Due and Overdue Invoices` now skips a row whose Email has no `@`. One empty address would otherwise stop the run
  at that invoice, and the invoices after it would get no reminder.
- The schedule now follows Rome time. The workflow setting was empty, so the 8am check ran on the time zone of the n8n
  instance.
- The sheet and the tab were empty choices. They are now the placeholders `<YOUR_SHEET_ID>` and `<YOUR_TAB_NAME>`, and the
  sign-off is `<YOUR_COMPANY_NAME>`.
- The four nodes have English names, and the sticky note is rewritten. The Italian columns, the Italian email text and the
  wiring are unchanged.

## Before you start

- A Google Sheet with a tab that has these names in row 1: `Numero`, `Cliente`, `Email`, `Importo`, `Scadenza` and
  `Stato`.
- `Scadenza` must read dd/mm/yyyy, as text or as a date cell shown that way.
- `Stato` is `Pagata` for a paid invoice. Any other value, or an empty one, counts as unpaid.
- A Gmail account you can connect to n8n with OAuth2. It sends the reminders.

## Set it up

1. In n8n, create a workflow, open its menu and choose Import from File. Pick `workflow.json`.
2. Add a Google Sheets OAuth2 credential and select it in `Read Invoices`. Replace `<YOUR_SHEET_ID>` with your sheet's
   id, the part of its address between `/d/` and `/edit`, and `<YOUR_TAB_NAME>` with the tab's name.
3. Add a Gmail OAuth2 credential and select it in `Send Payment Reminder`.
4. In the message of `Send Payment Reminder`, replace `<YOUR_COMPANY_NAME>` with your company name.
5. Add a row with your own email address and a due date in the next three days. Run the workflow once by hand, check the
   email, and then publish it.

## How a run goes

1. `Weekday 8am Check` starts the run Monday to Friday at 8am.
2. `Read Invoices` reads every row of the tab.
3. `Find Due and Overdue Invoices` skips paid rows, rows without an email address and rows whose date it cannot read. For
   each other row it counts the days from today to the due date. A row with 3 days or fewer, or a date in the past, goes
   on.
4. `Send Payment Reminder` emails the customer. The subject says the invoice is overdue or due soon, and the message gives
   the invoice number, the amount and the due date.

## Change the result

- How early a reminder starts: the number 3 in `Find Due and Overdue Invoices`.
- The time of the check: the cron expression in `Weekday 8am Check` and the time zone in the workflow settings.
- The wording and the language: the subject and the message in `Send Payment Reminder`.
- The column names: the code in `Find Due and Overdue Invoices` and row 1 of your tab.

## Good to know

- This sends real email to your customers from your Gmail account. Test with your own address first.
- An unpaid invoice gets a reminder every weekday morning, from three days before the due date until `Stato` says
  `Pagata`. Nothing counts the reminders already sent.
- Google Sheets returns a date cell as text in the cell's own format. If your sheet shows dates another way, the row is
  skipped.
- The amount is printed as the sheet returns it, after a euro sign, so 1200.5 appears as 1200.5.
- Mindket did not run this workflow against Google Sheets or Gmail. These notes follow n8n's published node code, and the
  Code step was run on sample rows on a local computer.
```

## What is in it

3 files, 9 KB, downloaded as a zip.

```text
NOTICE.md  639 B
README.md  4 KB
workflow.json  5 KB
```

## Workflow check

Checked by Mindket on 13 Nov 2026. Read from the workflow’s file, not from a run.

- Steps: 4 steps, starting on a schedule
- AI: No step calls an AI model
- Sign-ins: Signs in to: Google Sheets and Gmail
- API keys: No API key is left in the file
- Step types: Mindket’s checker reads all 4 of its step types

## Get it

- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/1894e967-2035-4c33-b8dc-5e336b390be1)
- [Its page on Mindket](https://mindket.com/p/1894e967-2035-4c33-b8dc-5e336b390be1)
