Automate Polite Overdue Invoice Reminders from Xero with n8n
Every weekday morning in Sydney time, this n8n workflow pulls approved sales invoices that are past due from Xero, works out how overdue each one is, and sends one polite reminder per stage: gentle, firm, then final. Each stage goes once per invoice and is logged in Google Sheets. Invoices marked as disputed or on hold are skipped, and the bookkeeper gets a Slack summary of everything the run did.
- Difficulty
- Intermediate
- Setup time
- About 45 minutes
- Nodes
- 15
- Checked against
- n8n 2.41
- Xero
- Gmail
- Google Sheets
- Slack
Last reviewed October 2026
What this workflow does
Chasing late payments is one of the jobs owners and bookkeepers put off. Writing each reminder by hand takes time, the tone drifts depending on the day, and it is easy to forget who was already chased last week. Meanwhile overdue invoices quietly age, and the cash sits in someone else's bank account.
This template is for Australian businesses that invoice from Xero and want consistent, courteous follow-up without handing control to a robot. The wording is fixed and reviewed by you, disputed invoices are left alone, and a person sees a daily summary. Escalation beyond the final reminder, such as a phone call, stays with your team.
Who it's for
- →Service businesses and trades that invoice customers from Xero
- →Bookkeepers who manage accounts receivable for several clients
- →Owners who want reminders sent on time without writing each email
- →Finance teams that need a log of every reminder sent
How it works, step by step
- 1
Run on weekday mornings
A Schedule Trigger fires at 8:30am Monday to Friday. The workflow timezone is set to Australia/Sydney, so the run follows daylight saving changes without any edits.
- 2
Load your reminder settings
A Set node holds the day thresholds for each stage, the dispute marker text, your business name, sender name, reply-to address and payment details, so you can change them without touching code.
- 3
Get overdue invoices from Xero
The Xero node fetches sales invoices with status Authorised, an amount still due, and a due date before today. Draft, paid and voided invoices are never included.
- 4
Read the reminder log
Google Sheets returns the Reminder log tab, which records every reminder already sent and any invoice your team has marked On hold or Disputed.
- 5
Work out the reminder stage
A Code node calculates days overdue in Sydney time and picks gentle, firm or final. It skips invoices whose Xero reference contains the dispute marker, invoices on hold in the sheet, and stages already sent.
- 6
Decide whether to send
An If node passes only invoices that need a reminder today. In parallel, every decision goes to the summary step, including skipped and on-hold invoices.
- 7
Look up the customer contact
The Xero node fetches the contact for each invoice to get the billing email address and first name. A Filter node drops contacts with no email address so nothing fails silently.
- 8
Send the right reminder
A Switch node routes each invoice to one of three Gmail nodes with fixed wording: a friendly nudge, a firmer request for a payment date, and a final notice saying someone will call.
- 9
Log the reminder
Every email sent is appended to the Reminder log with the invoice number, contact, stage, days overdue, amount and time, which also stops the same stage being sent twice.
- 10
Brief the bookkeeper in Slack
A Code node groups the run into reminders queued at each stage, invoices skipped as disputed or on hold, and final notices already sent that now need a phone call, then posts it to Slack.
What you need
Xero organisation
A Xero user with access to sales invoices and contacts, connected through n8n's Xero OAuth2 credential.
Gmail or Google Workspace account
The address customers already know for accounts, so replies come back to the right inbox.
Google Sheets
A spreadsheet with a Reminder log tab. It doubles as the place to put invoices on hold.
Slack workspace
A channel for the daily summary. You can swap the Slack node for an email to the bookkeeper.
n8n instance
n8n Cloud or self-hosted, with the workflow activated so the schedule runs.
Set it up in n8n
- 1
Import the workflow JSON into n8n and read the Setup Notes sticky note.
- 2
Create a Xero OAuth2 credential and select your organisation in Get Overdue Invoices and Get Customer Contact.
- 3
Open Reminder Settings and set the day thresholds, business name, sender name, reply-to address and your real payment details.
- 4
Create the Google Sheet with a Reminder log tab and the headers Log key, Invoice number, Contact, Tier, Days overdue, Amount due, Sent at and Status, then paste the sheet ID into both Sheets nodes.
- 5
Read the three Gmail nodes and adjust the wording to match how you speak to customers. Keep the tone factual and courteous.
- 6
Connect Gmail and Slack, and choose the channel in Post Summary to Slack.
- 7
Before activating, point the Gmail nodes at your own address, run the workflow manually and check the emails and the Slack summary.
- 8
Agree with your team how to mark disputes: add DISPUTED to the invoice reference in Xero, or add a row to the Reminder log with Status set to On hold.
Ways to customise it
- +Attach the invoice PDF to each reminder by fetching it from Xero's Invoices endpoint with an HTTP Request node.
- +Add an online payment link, such as the Xero invoice URL, to each email so customers can pay straight away.
- +Change the thresholds or add a fourth stage for very old invoices that routes to your debt recovery process instead of an email.
- +Exclude key accounts or government customers with their own payment terms by checking a contact group in Xero.
- +Use an AI chat model to draft a personalised note for the final stage, sent to the bookkeeper for approval rather than straight to the customer.
For Australian businesses
Australian businesses chasing their own invoices should still follow the ACCC and ASIC debt collection guideline: be accurate, courteous and avoid contact that could be seen as harassment, which is why the wording is fixed and each stage is sent only once. The schedule runs in Australia/Sydney time; change the workflow timezone if you are in Perth, Brisbane or Adelaide. Amounts are shown in the invoice currency from Xero, so GST-inclusive totals match what the customer received. Keep the Reminder log with your other records; the ATO expects business records to be kept for five years. Customer names and emails are personal information under the Privacy Act 1988, so restrict who can open the log sheet.
Tools in this workflow
n8n
Free plan + paidAutomation
A workflow automation platform that combines a visual node editor with code when you need it. It connects hundreds of apps and APIs and includes AI agent nodes that can call language models, tools and memory. Teams can self-host the free Community Edition on their own servers or use n8n's hosted cloud.
Best for: Australian organisations that need automation data to stay onshore
n8n review →JAX (Xero)
PaidFinance
Xero's AI assistant, named JAX for Just Ask Xero, built into the Xero accounting platform. Owners, bookkeepers and accountants ask plain-language questions about their business finances and get answers from live ledger data. JAX also helps create invoices and quotes, match bank transactions, capture documents and chase overdue payments.
Best for: Australian small business owners already using Xero
JAX review →Make
Free plan + paidAutomation
A visual automation platform, formerly Integromat, where workflows called scenarios are built on a drag-and-drop canvas. It handles branching, iteration and error routes across a large library of apps, and adds AI agents and AI modules that can reason over data within a scenario. Make is owned by process mining company Celonis.
Best for: Operations teams building complex multi-step workflows without code
Make review →Zapier
Free plan + paidAutomation
A no-code automation platform that links a large catalogue of web apps through workflows called Zaps. Beyond triggers and actions it now offers AI agents, chatbots, Tables for storing data, Interfaces for simple forms and pages, and an MCP server that lets AI assistants run Zapier actions.
Best for: Small businesses automating admin without developers
Zapier review →
Frequently asked questions
Will customers get the same reminder every day?
No. Each stage is logged in Google Sheets with a key made from the Xero invoice ID and the stage, and the workflow skips any stage already sent. A customer gets at most three emails per invoice: gentle, firm and final.
How do I stop reminders for a disputed invoice?
Either add the dispute marker, DISPUTED by default, to the invoice reference in Xero, or add a row to the Reminder log with the invoice number and Status set to On hold or Disputed. Skipped invoices are listed in the Slack summary so nothing is forgotten.
Does the workflow change anything in Xero?
No. It only reads invoices and contacts. It does not change invoice status, add notes, record payments or send Xero's own statements. Everything it does is visible in the Reminder log and the Slack summary.
Why does this template not use AI?
Payment reminders benefit from consistent wording that you have approved, and fixed text keeps the risk of an odd or inaccurate message low. If you want AI help, the customise section suggests drafting final-stage notes for a person to review first.
Can I send from Outlook instead of Gmail?
Yes. Replace the three Gmail nodes with Microsoft Outlook nodes using the send operation, and map the same fields for recipient, subject and body. The rest of the workflow does not depend on Gmail.
More finance & admin templates
Other n8n templates
- Speed to Lead: AI Lead Qualification from Website Form to HubSpot
- AI Company Research Agent: Lead Research Briefs Saved to HubSpot
- AI Email Triage for Gmail: Labels, Draft Replies and a Daily Digest
- RAG Website Support Chatbot from Your Google Drive Docs with Human Handoff
- Daily Business KPI Digest from Stripe, Shopify and GA4
- AI Google Review Reply Drafts with Slack Approval
Want this running in your business?
AI Lab Australia sets up n8n workflows end to end: hosting in Australia, connecting your systems, testing with real data and handing over documentation.
