Building an Automated Invoice Reminder Workflow with n8n and QuickBooks
What You'll Build
A scheduled workflow that runs once a day, pulls every open invoice from QuickBooks, checks how many days overdue each one is, and sends the right reminder email for that stage (a friendly nudge at 3 days late, a firmer note at 14, and a final notice at 30), all logged back to QuickBooks so your team can see what's been sent.
Prefer to skip the setup? We'll build this exact workflow for you.
Get it builtTools & Accounts You'll Need
- n8n (cloud or self-hosted) Try n8n Here
- QuickBooks Online account Try QuickBooks Here
Some links above are affiliate links. If you sign up through them, we may earn a commission at no extra cost to you. See our Affiliate Disclosure.
Step-by-Step Walkthrough
Set up the daily schedule trigger
Add a Schedule Trigger node set to run once a day, early morning (before your billing team's day starts is a common choice). This replaces someone having to remember to check the aging report manually.
Pull open invoices from QuickBooks
Add a QuickBooks Online node set to Get Many Invoices, filtered to invoices with a balance greater than zero. This returns every unpaid invoice along with its due date and customer details.
Calculate days overdue
Add a Code (or Function) node that compares each invoice's due date to today's date and calculates the number of days overdue. This is the value the next step uses to decide which reminder tier applies.
Branch by overdue tier
Add an IF or Switch node with three branches: 3+ days overdue, 14+ days overdue, and 30+ days overdue. Each branch should only match its own range (so a 20-day-overdue invoice hits the 14-day branch, not both), to avoid sending two reminder emails for the same invoice on the same run.
Send the matching reminder email
Add a Gmail or SMTP node on each branch, each with its own email template and tone: friendly reminder, firmer follow-up, and final notice. Include the invoice number, amount due, and a direct payment link if QuickBooks Payments is enabled on the account.
Log the reminder back to QuickBooks
Add a final QuickBooks Online node to append a private note to the invoice (e.g. "14-day reminder sent automatically on [date]"). This keeps a paper trail so your team never wonders whether a reminder already went out.
Common Pitfalls
Double-sending reminders: without the note-back step, this workflow can send the same reminder every day once an invoice crosses a threshold, since it has no memory of what it already sent. The QuickBooks note step is what prevents that.
Currency and multi-entity accounts: if your QuickBooks account handles multiple currencies or multiple company files, make sure the "amount due" field you're pulling reflects the correct currency formatting before it goes into a client-facing email.
Sending reminders for disputed invoices: add a tag or custom field in QuickBooks that your billing team can flag on invoices under dispute, and filter those out of this workflow entirely. Nothing damages a client relationship faster than an automated reminder for an invoice they've already flagged as wrong.
Recap
This workflow turns accounts-receivable follow-up from a task someone has to remember to do into something that simply happens, consistently, every single day, with the tone escalating appropriately as an invoice ages. Most firms that automate this see faster average payment times within the first billing cycle, simply because reminders stop depending on someone's bandwidth that week.
Don't want to build this yourself?
We'll build, test, and document this exact workflow for your stack.
See Automation Services