Before you ask a customer to pay SAR 50,000, have you checked yesterday’s payment? In a hypothetical example, a confirmed and reconciled SAR 15,000 payment leaves SAR 35,000 to follow up. Effective collections start with the right balance, someone responsible for the customer, and a clear next step. Odoo helps organize that work; ToDoOps configures and tests the process with your team. See our approach to implementing Odoo.
What does Odoo offer for following up overdue invoices?
Odoo 19.0 supports manual or automatic reminder levels based on days overdue. The follow-up owner and next reminder date are set on the customer record, with communication recorded in chatter (Odoo reference). Organize responsibility around the customer, then review the individual invoices that need action.
A customer statement shows the customer’s account. The Follow-Up Report distinguishes amounts due from overdue amounts. It helps prepare follow-up and can also be sent to the customer.
To see where this sits within the rest of accounting, read the Odoo accounting module guide, and for other modules see Odoo apps.
How does a collections officer start the day?
An illustrative workday: the collections officer opens the customer account and checks open invoices against incoming payments. After reconciliation, the follow-up uses the correct balance and the team records the next step. When the owner asks for an update, the latest action and responsible person are available together. Finance spends less time assembling answers and can explain the balance with confidence.
Why check bank reconciliation before sending a reminder?
The documentation recommends reviewing bank reconciliation before following up, because chasing a customer who has already paid costs you their trust. Here is a hypothetical example:
| Item | Amount (SAR) |
|---|---|
| Invoice value | 50,000 |
| Confirmed and matched payment | 15,000 |
| Remaining to follow up | 35,000 |
The reminder concerns the 35,000 only, and it is a prompt to the customer, not a collection and not a profit. Before sending, review three things: whether there is an objection to part of the invoice that needs review, whether recipient details and the sending address are correct, and whether incoming payments have actually been reconciled. Dispute policy, meaning who decides to pause reminders and when, is a work design your company agrees on and tests. Agree who authorizes a hold, how the team sees that decision, and test the process within the implementation scope.
For regional context: in PwC’s 2025 Middle East Working Capital Study, average days sales outstanding (DSO) for the companies covered fell from 83.9 days in 2023 to 81.1 days in 2024 (PwC reference). These figures describe the regional study companies and that period. Set your own target from your balances and customer payment patterns. To estimate an accounting and collections application budget at a first pass, use the ToDoOps calculators. They are a general estimate of impact and budget, not the formula behind the example above.
What about letters, WhatsApp, and text messages?
The documentation notes that some channels, such as letters, WhatsApp, and SMS, run through Odoo services (IAP) or a token balance. A channel may need setup or credit before it works. So choose the channel you will actually use with your customers, count its setup and cost in the decision, and do not assume it is ready just because Odoo is enabled.
Which acceptance questions come before go-live?
Test these cases yourself, and decide for each what runs automatically and what stays manual:
- A matched partial payment: is the reminder calculated on the remainder only?
- An unmatched payment: does it surface to whoever follows it before any reminder?
- An invoice not yet due: does it follow your approved policy? A pre-due reminder may be configured; distinguish it from an overdue demand.
- An objection needing review: who decides, and where is the decision recorded?
After go-live you can track a simple operational indicator: the number of overdue invoices with an identified follow-up owner and next action, divided by the total number of overdue invoices. This is an internal indicator we suggest as an example, not a published statistic. The ToDoOps simulation lets you see how sales and inventory connect using hypothetical data, but it does not cover collections end to end.
What does ToDoOps handle?
We first review your data and scope: customers, payment terms, and who follows each category. Then we configure the follow-up levels and the channels you need, test the cases above, and train each role on its part: collections, finance, and the owner. The steps depend on your project.
Common questions
Does Odoo send reminders automatically?
It supports manual and automatic sending according to the levels you define, and the channels available depend on their setup.
Are WhatsApp and SMS included automatically?
Per the documentation, these channels need Odoo services or a token balance, so check their setup and cost before adopting them.
What is the difference between a statement and the follow-up report?
The statement shows the customer’s account. The Follow-Up Report distinguishes amounts due from overdue amounts and supports reminders; it can also be sent to the customer.
How do I handle an invoice the customer disputes?
Your company sets a policy: who reviews the objection, when reminders pause, and where the decision is recorded, then tests it before go-live.
Start with an owner and a step for every invoice
Write down who follows each customer category and when, then contact ToDoOps and we will review your data and arrange setup, testing, and training. For a first estimate try the calculators, and to see what we offer visit the homepage.
References
- Odoo — 19.0 documentation, Follow-up on invoices: follow-up levels by days overdue, manual and automatic reminders, owner and follow-up date, the customer follow-up log, and channels and IAP services.
- PwC — Middle East Working Capital Study 2025 (2024 data), published 29 September 2025: original source.
