Chase overdue ERPNext invoices with escalating reminders
Every weekday morning, review your unpaid ERPNext invoices, email each customer a reminder that gets firmer as the debt ages, and brief finance in Slack.
Every weekday at 8am, review my accounts receivable in ERPNext and run collections outreach for me.
Start with ERPNext List Documents on the Sales Invoice DocType to pull every overdue invoice. Filter to submitted invoices only (docstatus = 1), outstanding_amount greater than 0, and due_date earlier than today. Request the name, customer, customer_name, grand_total, outstanding_amount, due_date, currency and contact_email fields. Page through the full result set instead of stopping at the default page length, so a long list of overdue invoices is never silently truncated.
Group the invoices by customer and total their outstanding amounts. Skip any customer whose combined outstanding sits below a minimum balance I can configure at the top of the workflow, defaulting to 100 in the invoice currency, so we never chase trivial balances. Skip any customer that has no contact email on their invoices, and list them separately in the Slack summary so someone can fill the address in rather than guessing at one. To avoid emailing the same customer every single morning, only contact a customer when the age of their oldest overdue invoice is a multiple of 7 days or when that account has just crossed into a new age bucket, and let me adjust that cadence.
Bucket each overdue invoice by how many days past due it is: 1 to 14 days, 15 to 30 days, 31 to 60 days, and over 60 days. For each remaining customer, write one payment reminder email whose tone escalates with the oldest bucket they fall into. In the first two weeks stay warm, polite and factual, assume the invoice was simply missed, and make it easy to pay. Firm up gradually through the middle buckets. Past 60 days be direct and unambiguous that the account is seriously overdue and about what happens next, while staying professional and never threatening. Every email must name the specific invoice numbers, their individual amounts and due dates, and state the customer's total outstanding balance.
Send each reminder with Gmail Send a Message to that customer's contact email, using a clear subject line that includes the invoice numbers or the total amount due.
Finish by posting one summary with Slack Send a Message to my finance channel. The summary should list every customer contacted along with the amount chased, the total value chased across the whole run, the accounts that have crossed 60 days and need a human phone call rather than another email, and any customers skipped either for a missing contact email or for falling under the minimum balance.
Additional information
What does this prompt do?
- Checks your ERPNext invoices every weekday morning and finds every one that is past its due date and still unpaid, ignoring balances too small to be worth chasing.
- Sorts each overdue account by how late it is, then writes a payment reminder in a tone that matches: gentle and factual in the first two weeks, noticeably firmer once an account passes 60 days.
- Emails each customer their own reminder from Gmail, naming the exact invoice numbers, amounts and due dates so there is nothing for them to look up.
- Posts one Slack summary to your finance channel covering who was chased, the total value in play, and which accounts now need a phone call instead of another email.
What do I need to use this?
- An ERPNext account with permission to view sales invoices
- A Gmail account to send the reminders from
- A Slack workspace and the finance channel where you want the summary posted
- Customer contact email addresses filled in on your invoices, so reminders reach a real person
How can I customize it?
- Set the minimum balance you care about, so small leftover amounts never trigger an email.
- Change the timing: run it every weekday, or only on Mondays if weekly chasing suits your customers better.
- Adjust the age brackets and how sharp the tone gets at each one, or add your payment link and bank details to every reminder.
FAQs
Will it email customers who have already paid?
Does each customer get one email per overdue invoice?
Can I stop it chasing very small amounts?
ERPNext already has a payment reminder feature. How is this different?
How firm does the tone actually get?
Related templates
Every weekday, find every unpaid JobNimbus invoice, email each customer one reminder that gets firmer as it ages, and post a receivables summary to Slack.
New roof inspection requests from your website form land in JobNimbus within a minute, with no duplicate records and nothing retyped by your team.
Every new customer request gets a priority, triage labels, a friendly reply with the right help article, and a Slack ping only when it is truly urgent.
When a bot opens a version bump pull request, we read the real documentation for that exact version and tell you whether it is safe to merge.
The moment a deal hits Closed Won, the right contract starts in Ironclad, the link lands on the deal, and your sales channel hears who owns the next step.
Every evening we find the jobs you just finished, email each customer a personal review request, and log it on the job so nothing slips.
Stop chasing overdue invoices by hand.
Let this run every weekday morning so every late account hears from you on time and your finance team knows exactly who to call.