How to Automate Payment Reminders in Odoo 19 Follow-Up Levels
The Follow-up Levels feature in Odoo 19 Accounting lets you define a structured, automated payment reminder process driven by invoice due dates. Instead of manually chasing every overdue invoice, the system triggers emails, SMS messages, and printable letters according to delays you configure — a process commonly known as a dunning workflow. This complete tutorial is a beginner guide and step by step guide on how to set up automated payment reminders from scratch: installing the right module, building reminder levels with the correct delay timing, choosing communication channels, chaining multiple levels into an escalation sequence, and monitoring everything through the Follow-up Reports. By the end of this complete tutorial you will have a reliable, hands-off receivables process that protects your cash flow and keeps your collections consistent and professional.
What You'll Learn:
- Why automating payment reminders improves cash flow and lowers days sales outstanding (DSO)
- How to install the full Accounting app and access the Follow-up Levels configuration
- How to configure a follow-up level's name, delay, and reminder timing relative to the due date
- How to enable email, SMS, and printed letter reminders per level
- How to turn on Automatic sending and attach invoice PDFs to reminders
- How to build a multi-level escalation sequence that gets firmer as invoices age
- How to create test invoices and read the Follow-up Reports dashboard
- How the scheduled action (cron) processes due follow-ups automatically every day
Why Automate Payment Reminders in Odoo 19?
Manually tracking accounts receivable is slow, error-prone, and inconsistent. When team members are busy, overdue invoices slip through the cracks, follow-ups go out late (or never), and the tone of each reminder varies depending on who sends it. Every day an invoice sits unpaid is a day your working capital is tied up in someone else's bank account, directly hurting your cash flow and inflating your days sales outstanding (DSO).
Odoo 19 follow-up levels solve this by turning collections into a predictable, rules-based workflow. You define once — in days — when each reminder should fire relative to an invoice's due date, what channel it uses, and how strongly it is worded. From then on, Odoo ensures that every overdue invoice receives a timely, consistent reminder without any manual intervention. The result is faster payments, healthier cash flow, fewer truly delinquent accounts, and a complete audit trail of every communication sent.
Core Capabilities of Odoo 19 Follow-Up Levels
Before diving into configuration, it helps to understand the four pillars of the Odoo 19 dunning system. Each level you create combines these capabilities to control exactly when, how, and how firmly your customers are reminded.
Multi-Level Escalation
Chain several follow-up levels with increasing delays and an escalating tone. A gentle email on the due date can be followed by a firmer reminder at 15 days, a formal letter at 30 days, and a final notice at 45 days. Each level escalates automatically as the invoice ages, so collections pressure scales with how overdue the balance is.
Multi-Channel Reminders
Reach customers however suits each stage: email with a customizable dunning template, SMS text reminders for urgency, and a printable PDF letter for postal mailing on formal notices. You can combine channels on a single level — for example email plus SMS — to maximize the chance the reminder is seen.
Automatic Dunning
Flag a level as Automatic and Odoo sends the reminder on its own the moment the delay elapses — no manual review required. A daily scheduled action scans all overdue invoices, matches each to the correct level, and dispatches the reminder, eliminating the busywork of chasing payments by hand.
Follow-up Reports
A dedicated dashboard shows every customer with overdue balances flagged as "In need of action", the next action date, total amounts due, and reminder history. Switch each customer between automatic and manual mode, log notes, and record promises to pay — all from one screen.
Prerequisites Before You Start
To use the full follow-up workflow you need the complete Accounting application installed, not just the lighter Invoicing app. Invoicing offers only a subset of features; the full follow-up levels, follow-up reports, and automatic dunning live in Accounting. Install it from the Apps menu, then refresh.
It is also helpful to activate Developer Mode (Settings > General Settings > Developer Tools > Activate the developer mode) so that every configuration field — including the scheduled action that drives automatic sending — is visible. Developer mode is optional for basic setup but recommended when you want to verify the cron is active.
Test Templates Before Enabling Automatic Sending
Marking a follow-up level as Automatic means Odoo sends reminders to your real customers without any human review. Before you switch automatic on, send yourself a test reminder, proofread every email and SMS template, double-check the delay values, and confirm the follow-up scheduled action (cron) is active under Settings > Technical > Scheduled Actions. A misconfigured template or wrong delay can email the wrong tone to a good customer.
Step by Step Guide: Automate Payment Reminders in Odoo 19
Follow these six steps in order. The first two get you into the configuration, the middle three build the actual dunning rules, and the final step shows you how to monitor reminders day to day from the Follow-up Reports.
Install the Accounting Module
Open the Apps menu, search for Accounting, and install the full Accounting application (not just Invoicing — the complete follow-up features only ship with Accounting). Once installed, the Accounting menu appears in the top navigation. If you plan to verify the automatic-sending scheduled action later, also activate Developer Mode from Settings > General Settings > Developer Tools. With the module in place, you are ready to configure your dunning levels.
Open the Follow-up Levels Configuration
Navigate to Accounting > Configuration > Follow-up Levels (sometimes labelled Payment Follow-ups). Odoo ships with a set of default follow-up levels you can edit to match your collections policy, or you can create entirely new ones from scratch. Review the defaults first — they often provide a sensible starting point that you only need to adjust slightly rather than rebuild.
Configure a Reminder Level and Its Delay
Create or open a level and give it a clear Name such as "First Reminder", "Second Reminder", or "Final Notice". Then set the delay using the Reminder ... after the due date field. This reads like "Reminder 0 after the due date": a value of 0 sends the reminder on the exact due date, while a positive number sends it that many days after the due date — for example 15 fires when the invoice is 15 days overdue. The delay is the single most important setting because it controls precisely when each level activates.
Set the Action and Communication Channels
In the Action section of the level, choose how the reminder is delivered. Tick Send Email and pick (or customize) an Email Template for the dunning message; enable Send SMS for a text reminder; or enable Print Letter to generate a printable PDF for postal mailing. Turn on Automatic to have Odoo send the level on its own when due, and use Attach Invoices / Join open invoices to bundle the relevant invoice PDFs so the customer sees exactly what is outstanding.
Build a Multi-Level Escalation Sequence
Repeat steps 3 and 4 to chain several levels with increasing delays and an escalating tone. A typical sequence is: Level 1 — a gentle email at day 0; Level 2 — a firmer email plus SMS at day 15; Level 3 — a formal printed letter at day 30; Level 4 — a final notice at day 45. As an invoice ages past each delay, Odoo applies the next level automatically, so the pressure scales with how overdue the balance is. Word each template to match its severity.
Monitor the Follow-up Reports Dashboard
Go to Accounting > Customers > Follow-up Reports (or open an individual customer record). Customers with overdue invoices show the status "In need of action". For each customer you can choose Automatic or Manual reminder mode: in manual mode a responsible user reviews and triggers reminders; in automatic mode Odoo sends them on schedule. The report lists all overdue amounts and the next action date, and lets you log notes or record a promise to pay so nothing is forgotten.
Follow-up Level Fields Explained
When you open a follow-up level, you will see a handful of fields that together define exactly when and how the reminder is sent. The table below explains the purpose of each one.
| Field | Purpose |
|---|---|
| Name | A descriptive label for the level, e.g. "First Reminder", "Second Reminder", or "Final Notice", used to identify the stage in reports. |
| Reminder ... after the due date | The delay in days. 0 sends on the exact due date; a positive value sends that many days after the due date (e.g. 15 = 15 days overdue). |
| Send Email | Checkbox that enables an email reminder; pairs with an Email Template selection for the dunning message content. |
| Email Template | The template used for the email body — choose a built-in one or customize the wording and tone per level. |
| Send SMS | Enables an SMS text reminder sent to the customer's mobile number for higher-urgency stages. |
| Print Letter | Generates a printable PDF letter suitable for postal mailing, typically used for formal or final notices. |
| Automatic | When enabled, Odoo sends the reminder automatically once the delay elapses, removing the need for manual review. |
| Attach Invoices / Join open invoices | Includes the relevant invoice PDFs with the reminder so the customer can see and act on the outstanding documents immediately. |
Key Insight: Reminder Delay 0 Means "On the Due Date"
The delay field is relative to the invoice due date, not the invoice creation date. A value of 0 sends the reminder on the exact due date — useful as a polite "payment due today" nudge. Any positive value counts days after the due date, so 15 means the reminder fires when the invoice is 15 days overdue. Getting this number right for each level is what makes your escalation sequence land at the correct moments, so always set the due date (or payment terms) on invoices accurately — the entire dunning timeline is calculated from it.
Example Escalation Sequence
A well-designed dunning ladder starts gently and grows firmer as the invoice ages. The sequence below is a proven starting point you can adapt to your own policy and customer relationships.
| Level | Days After Due | Channel | Tone |
|---|---|---|---|
| Level 1 — First Reminder | 0 (on due date) | Gentle, friendly "payment due today" nudge | |
| Level 2 — Second Reminder | 15 | Email + SMS | Firmer, requesting prompt payment |
| Level 3 — Formal Notice | 30 | Printed Letter | Formal, on-letterhead written notice |
| Level 4 — Final Notice | 45 | Email + Letter | Final, warning of further collections action |
Creating Customer Invoices to Test the Workflow
To see your follow-up levels in action you need overdue invoices to trigger them. Create a test invoice from Accounting > Customers > Invoices > New. Add the customer, product lines, and either set an explicit Due Date or apply a Payment Term (which derives the due date for you). Click Confirm to post the invoice.
For a quick test, set a due date in the past so the invoice is already overdue. The next time the follow-up scheduled action runs — or when you open the Follow-up Reports — the customer will appear with the status "In need of action" and the appropriate level will be queued or sent based on how many days the invoice is past due.
# Configure follow-up levels
Accounting > Configuration > Follow-up Levels
# Create a test customer invoice
Accounting > Customers > Invoices > New
- Customer: Pick or create a customer
- Invoice Lines: Add product + quantity + price
- Due Date: Set a past date (to make it overdue)
or apply a Payment Term
- Action: Click Confirm to post the invoice
# Monitor overdue follow-ups
Accounting > Customers > Follow-up Reports
- Status "In need of action" = customer has overdue invoices
- Choose Automatic or Manual reminder mode per customer
- Review next action date, log notes / promise to pay
# Verify automatic sending (Developer Mode)
Settings > Technical > Scheduled Actions
- Confirm the follow-up cron is Active
Automatic vs Manual Follow-up Mode
Each customer can be handled in either automatic or manual mode. Automatic mode is hands-off and ideal for the bulk of routine accounts; manual mode gives a person final say before a reminder goes out, which is useful for sensitive or high-value relationships. The table below contrasts the two.
| Aspect | Automatic | Manual |
|---|---|---|
| Sending trigger | Odoo sends on schedule when the delay elapses | A responsible user reviews and triggers each reminder |
| Human review | None required — fully hands-off | Required before every send |
| Best for | High volume, routine receivables | Sensitive, high-value, or disputed accounts |
| Consistency | Perfectly consistent timing every time | Depends on user availability and discipline |
| Effort | Minimal after initial setup | Ongoing manual workload |
How the Follow-up Schedule (Cron) Works
Automatic dunning is powered by a scheduled action — a background cron job that Odoo runs on a recurring basis (typically once per day). Each run, the action scans all posted customer invoices, identifies those that are overdue, matches each overdue balance to the correct follow-up level based on how many days it is past due, and dispatches any reminders whose delay has elapsed for levels marked Automatic.
Because the timeline is recalculated every run, a customer naturally moves up the escalation ladder as their invoice ages — from a gentle email to a firm SMS to a formal letter — without anyone touching the system. If you have Developer Mode enabled, you can confirm this job is running under Settings > Technical > Scheduled Actions; make sure it is Active, since automatic reminders will not be sent if the cron is paused.
Key Benefits of Automated Follow-up Levels
Putting all of this together, an automated dunning workflow in Odoo 19 delivers measurable advantages over manual collections:
- Less manual tracking — Odoo watches every due date so your team does not have to.
- Improved cash flow — timely, consistent reminders get invoices paid sooner and lower DSO.
- Fewer overdue receivables — escalating pressure resolves slow payers before they become delinquent.
- Consistent, professional collections — every customer receives the same polished sequence and tone.
- Full audit trail — a complete record of every reminder sent, when, and through which channel.
- Multi-channel reach — email, SMS, and letters maximize the chance a reminder is actually seen.
Frequently Asked Questions
Do I need the full Accounting app or is Invoicing enough for follow-up levels?
You need the full Accounting application. The lighter Invoicing app offers only a subset of features, and the complete follow-up levels, follow-up reports, and automatic dunning workflow live in Accounting. Install it from the Apps menu before configuring any reminder levels.
What does a reminder delay of 0 mean in Odoo 19 follow-up levels?
A delay of 0 sends the reminder on the invoice's exact due date — a polite "payment due today" nudge. Positive values count days after the due date, so 15 means the reminder fires when the invoice is 15 days overdue. The delay is always measured from the due date, not the invoice creation date.
Can I send SMS and letter reminders, not just emails?
Yes. Each follow-up level supports three channels: Send Email with a customizable template, Send SMS for text reminders, and Print Letter to generate a printable PDF for postal mailing. You can combine channels on a single level — for example email plus SMS — to increase the chance the reminder is seen.
What is the difference between automatic and manual follow-up mode?
In automatic mode, Odoo sends reminders on schedule when each level's delay elapses, with no human review — ideal for routine accounts. In manual mode, a responsible user reviews and triggers each reminder, which suits sensitive, high-value, or disputed accounts. You set the mode per customer.
Why are my automatic payment reminders not being sent?
The most common causes are the level not being marked Automatic, the customer being set to manual mode, an incorrect delay value, or the follow-up scheduled action (cron) being inactive. Enable Developer Mode and check Settings > Technical > Scheduled Actions to confirm the follow-up cron is active.
Need Help Automating Collections in Odoo 19?
Our certified Odoo consultants can configure your follow-up levels, design escalation sequences and dunning templates, and set up reliable automatic reminders that improve your cash flow and lower DSO.
About the author
Odoo Practice Lead, Braincuber Technologies
Leads the Odoo practice at Braincuber. Has delivered Odoo ERP implementations, NetSuite/Tally migrations, and Shopify–Odoo integrations for US mid-market and D2C brands. Owns scoping, data migration, and go-live for every Odoo engagement.
