Customer statements and overdue follow-ups, fully accounted for .
Generate and email professional statements of account for every customer or vendor in one batch run, then track exactly who received them, who bounced, and who still needs a reminder — all from inside Odoo.
Odoo does not produce a customer-ready statement of account. Finance teams export aged-balance reports and manually copy transactions into spreadsheets or Word templates, sending each customer one email at a time. At month-end, with dozens or hundreds of accounts to chase, this does not scale — and once an email is sent, there is no way to know whether it actually arrived.
Generate statements for every customer or vendor with a single batch run, preview and exclude any line before it goes out, and send the whole batch by email. Every statement carries a delivery status — sent, failed, or bounced — so nothing goes out the door unaccounted for, and a dedicated retry queue makes fixing a bad address a two-click fix.
Built for accounts receivable
Every capability below is implemented in the module.
One-Click Batch Generation
Generate statements for every customer or vendor with an outstanding balance in a single run, instead of opening records one at a time. Filter by date range, partner list, or overdue-only, then generate the whole batch at once.
Delivery Status Tracking
Every statement shows a clear Draft, To Send, Sent, Failed, or Bounced status, so credit controllers always know exactly what has actually reached a customer's inbox.
Retry Queue for Failed Sends
Invalid or missing email addresses never fail silently. A dedicated Retry Queue lists every failed or bounced statement with its error message, so you can fix the address and resend in two clicks.
Preview & Exclude Before Sending
Review the full transaction list on every statement before it ships, and toggle any line — a disputed charge, a credit memo, an adjustment — out of the totals and the PDF with a single click.
Color-Coded Aging Analysis
Every statement breaks the balance into Current, 1-30, 31-60, 61-90, and 90+ day buckets, alongside opening balance, closing balance, and total overdue, so exposure is obvious at a glance.
Saved Filter Templates & Scheduling
Save a filter template with its own date-range preset, partner scope, and overdue threshold, then set it to run automatically on a chosen day each month — with auto-send included.
Configurable Overdue Reminders
Three ready-to-use escalation levels chase overdue balances with personalized email templates as accounts age, without a rules engine to configure — enable or disable the whole workflow from Settings.
Customer Self-Service Portal
Customers can log in to their own Odoo portal, see their current balance, and download any past statement as a PDF, cutting down on "please resend my statement" requests.
Customer & Vendor Statements, PDF and Excel Export
The same engine produces receivable statements for customers and payable statements for vendors, with a branded PDF report plus XLSX and CSV export for internal reconciliation, and drill-down links back to every source invoice and payment.
How it works
Set your filters
Choose a date range, partner scope, and overdue threshold, or pick a saved filter template with the range already configured.
Generate the batch
One click creates a statement for every customer or vendor in scope, with transactions, opening/closing balances, and aging already computed.
Preview and send
Review each statement, exclude any line you do not want included, then send the whole batch by email with one confirmed action.
Track and follow up
Watch delivery status roll in, retry any failed or bounced address from the queue, and let configured reminder levels chase overdue balances automatically.
See it in action
From batch generation to the customer's inbox and portal.
Every generated statement in one list — partner, closing balance, total overdue, and a color-coded delivery-status badge (sent, to send, or failed) at a glance.
Open any statement to see its full transaction list — date, document, debit/credit, running balance, and an aging-bucket badge per line, with a one-click Exclude toggle.
The Aging Summary tab breaks the balance into Current, 1-30, 31-60, 61-90, and 90+ day buckets alongside opening balance, closing balance, and total overdue.
A single batch run generates statements for every partner in scope in one click, with a smart button linking straight to the statements it produced.
Failed and bounced deliveries land in a dedicated Retry Queue, so a bad email address never means a silently missed statement.
Save a filter template with its date-range preset and scheduling — set a day of the month and auto-send, and the run happens on its own.
Three ready-made escalation levels chase overdue balances with personalized mail templates — no rules engine to configure.
Toggle overdue reminders, set the overdue threshold, and control PDF aging display and the statement footer, all from the standard Odoo Settings screen.
A Statements smart button on every customer record links straight to that partner's full statement history.
Customers can log into their own portal and see every statement that has been sent to them, with balance and status at a glance.
A single statement, opened by the customer themselves — opening balance, transactions, closing balance, aging summary, and a PDF download link.
The branded PDF statement — company letterhead, transaction table with running balances, closing balance, and aging summary — ready to email or print.
Frequently asked
Does it handle vendor/supplier statements as well as customer statements?
Yes. The same statement engine supports both customer (receivable) and vendor (payable) statements — choose the statement type per run or per saved template.
What happens when a customer's email address is invalid?
The send never crashes or fails silently. The statement is marked Failed with the error recorded on the record, and it appears in the Retry Queue so you can correct the address and resend.
Can my customers see their own statements without emailing us?
Yes. The module adds a Statements section to the standard Odoo customer portal, where a logged-in customer can view their current balance and download any past statement as a PDF.
Does this require Odoo Enterprise?
No. The module is built for Odoo Community and does not depend on the Enterprise Accounting Reports or Follow-up apps — everything ships in this module.
Get in Touch
Have questions or need customization? Every purchase includes 30 days of free support — we are here to help.
Visit Our Website
www.cerevantix.comExplore our apps, services, and portfolio.
Empowering growth through technology.
Bulk customer and vendor statements with aging, delivery tracking, a retry queue, configurable overdue reminders, and a self-service customer portal — all built for Odoo 19 Community.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) |
| Lines of code | 1702 |
| Technical Name |
cerevantix_customer_overdue_statement |
| License | OPL-1 |
| Website | https://cerevantix.com |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module