Overdue Invoice Reminder Sequence
Never chase a late payment manually again
Automatically detects overdue invoices and sends a 3-tier escalation sequence: a friendly reminder at 7 days, a firm follow-up at 14 days, and an urgent notice at 30 days. Each email is personalized with the client's name, invoice number, and outstanding amount.
At 8:00 AM every day, Nora queries Odoo for unpaid invoices past their due date. It sorts these into 7-day, 14-day, and 30-day buckets. For the first two groups, Nora extracts the client name, invoice number, and outstanding balance, then sends a personalized reminder directly through Gmail. For the 30-day invoices, it drafts an urgent escalation email and leaves it in Gmail for review. It then logs a follow-up note on each processed Odoo invoice.
The finance manager reviews the 30-day drafts in Gmail, deciding whether to send them, edit the text, or call the client directly. They no longer spend mornings running aging reports or copying data into email templates. The operator keeps control over sensitive accounts while the routine notices go out on schedule.
Runs daily at 8:00 am using Odoo and Gmail, run by your Finance Manager.
How it works
- Scan Odoo for overdue invoices — At 8:00 AM, Nora queries Odoo via XML-RPC for invoices with an unpaid balance and a due date in the past. It retrieves the invoice number, amount, client contact details, and the exact number of days overdue.
- Categorize by aging buckets — Nora filters the retrieved records into three specific groups: exactly 7 days, 14 days, and 30 days overdue. Invoices falling outside these exact thresholds are ignored to prevent spamming clients on the wrong days.
- Draft personalized email text — Using the client data from Odoo, Nora writes the email body. The 7-day text assumes an oversight, the 14-day text asks for a payment date, and the 30-day text sets a firm deadline. All include the specific balance and invoice number.
- Send early reminders automatically — For the 7-day and 14-day buckets, Nora calls the Gmail API to send the drafted emails directly to the client. The emails originate from the connected Gmail account, keeping the thread in the sender's sent folder.
- Stage late escalations for review — For the 30-day bucket, Nora does not send the email. Instead, it uses the Gmail API to create a draft message. The finance manager can read, edit, or delete these drafts before they reach the client.
- Log activity in Odoo — After processing the emails, Nora updates the corresponding invoice records in Odoo. It adds an internal note stating which tier of reminder was generated and on what date, keeping the system of record current.
What this replaces
A finance operator manually generates an accounts receivable aging report in Odoo every morning. They filter the list for specific overdue thresholds, open their email client, paste the client details and balance into a template, and send the reminder. Finally, they return to Odoo to log that the email was sent.
- Run an AR aging report in Odoo
- Filter invoices by days overdue
- Copy client and balance details into email templates
- Send emails individually via Gmail
- Add internal notes to Odoo invoices
Rough estimate rather than a measured figure: about 30 minutes a day, assuming 20 overdue invoices requiring 90 seconds each to verify, draft, and log.
What it needs to run
Accounts and plans
- An active Odoo instance with the Invoicing module installed
- A Google Workspace or Gmail account
Access it asks for
- Odoo API Key: Required to authenticate XML-RPC calls for reading invoices and writing notes
- mcp__gmail__send_email: Allows Nora to send the 7-day and 14-day reminders directly
- mcp__gmail__draft_email: Allows Nora to stage the 30-day escalation emails for review
What Nora reads
- Odoo invoice records (due date, balance, invoice number)
- Odoo customer contact details (name, email address)
What Nora writes
- Outbound emails via Gmail
- Draft emails in Gmail
- Internal notes on Odoo invoice records
When it goes wrong
- The Odoo API key expires or is revoked by an administrator Nora fails the 8:00 AM run and sends a message in your designated chat channel. It explains the authentication error and waits for you to provide a new API key before retrying.
- The client contact record in Odoo is missing an email address Nora skips the invoice. It does not attempt to guess an address. It logs the omission in the daily summary sent to your chat channel, prompting you to update the Odoo contact record.
- An invoice is exactly ten days past its designated due date Nora does nothing. The automation is strictly configured for 7, 14, and 30-day thresholds. Invoices falling between these exact days are ignored until they hit the next trigger date.
- The connected Google Workspace account exceeds its daily email sending quota The Gmail API rejects the send request. Nora catches the error, halts the remaining sequence, and alerts you in chat with a list of the unsent reminders.
Who this is for
Worth it if
- Finance managers at B2B service companies issuing 50+ invoices a month
- Agencies where account managers currently waste time chasing late payments manually
- Businesses with a standard net-30 billing cycle and predictable escalation policies
Not worth it if
- Companies with highly bespoke payment terms negotiated per invoice
- Retail or point-of-sale businesses that do not issue term invoices
- Teams that prefer to call clients directly for every overdue payment rather than sending emails
A worked example
A 20-person commercial cleaning company runs this daily. At 8:00 AM, Nora finds invoice INV-2023-081 for Harbor Office Supplies is exactly 14 days past its net-30 due date with a $1,200 balance.
Subject: Follow-up: Invoice INV-2023-081 is overdue Hi Sarah, I am writing to follow up on invoice INV-2023-081 for $1,200.00, which was due on October 15th. We previously sent a reminder last week. Could you please confirm receipt of this email and let us know when we can expect payment? I have attached a link to the invoice for your convenience. Thank you, Accounts Receivable [Odoo internal note added: 14-day reminder sent via Gmail on Oct 29]
Frequently asked questions
Can I change the days the reminders go out?
Yes. You tell Nora in your chat channel what thresholds you want. If you prefer to send reminders at 5, 10, and 20 days instead of 7, 14, and 30, you just state that in plain language, and Nora updates the schedule for the next run.
What happens if a client pays the invoice at 7:30 AM?
Nora pulls the live data from Odoo exactly at 8:00 AM. If the payment was registered in the Odoo system before that time, the invoice balance reads as zero, and Nora skips it entirely. It only acts on invoices marked unpaid at the exact moment it runs.
Does Nora read all my previous emails with the client?
No. For this specific sequence, Nora only uses the Gmail API to send and draft new messages. It does not search your inbox history or read prior correspondence to determine if a client has replied, relying solely on the Odoo invoice status to make its decisions.
How do I stop a reminder for a specific client who asked for an extension?
You can tell Nora in chat to exclude a specific company or invoice number from the sequence. Alternatively, if you change the due date in Odoo to reflect the agreed extension, Nora respects the new date and waits until that specific threshold is crossed.
Connects to
Related automations
- Daily Standup Digest to Slack Channel — Compile team updates into a single daily message so you never miss critical blockers.
- Auto-Respond to FAQ in Slack — Answer common questions instantly in Slack threads so your team stays unblocked.
- Extract Action Items from Slack Threads to Task Board — Turn meeting discussions into tracked tasks automatically.
- Smart DM Follow-Up Reminders — Never lose track of messages awaiting response.
- Alert Team When Big Expenses Hit Slack — Stay on top of unexpected large expenses before they impact budget.
- Weekly Business Metrics Report to Slack — Get critical KPIs delivered to your team every Monday morning.
- Smart Invoice Approval Workflow in Odoo — Route invoices for approval based on amount and let Nora handle small ones automatically.
- Alert Team When Product Stock is Low — Never stockout of your best sellers with automatic low-stock alerts.