Chase overdue ERPNext invoices with escalating reminders

By General Input

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.

Integrations

  • ERPNext
  • Gmail
  • Slack

Type

Agentic Task

Categories

  • Finance

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.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredChat quality review board for LiveChat support leadsChase the paperwork every new client and vendor still owesFile Gmail attachments into storage with names you can findWin back no-show and cancelled appointments every morningLive Loop returns analytics with product-level drill-downNewsletter pre-flight and approval board for Mailjet sendsTurn a prospect spreadsheet into personalized sequence enrollmentsMailjet email delivery lookup console for support teams