| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Accounting (accountant)
• Discuss (mail) • Invoicing (account) |
| Lines of code | 2589 |
| Technical Name |
recurring_invoice |
| License | LGPL-3 |
Recurring Billing Automation
End-to-end recurring billing automation for subscriptions, contracts, and retainers — built for Odoo 18 Enterprise.
Overview
The Recurring Billing Automation is a complete billing engine for Odoo 18 Enterprise. Define a billing template once and let the system handle invoice generation, pre/post-paid period logic, prorated charges, billing period notes, email delivery, and failure recovery — eliminating manual work for subscriptions, service contracts, retainers, rentals, and maintenance agreements.
Key Features
Flexible SchedulingDaily, weekly, monthly, quarterly, yearly, or a specific day of every month (calendar days). Configurable start and end dates. |
Pre-paid & Post-paid BillingInvoice at the start of the upcoming period (pre-paid) or at the end of the used period (post-paid). |
Automatic ProrationPartial periods are charged proportionally with a clear prorate note on invoices. |
Service Period on InvoiceBilling period dates are automatically displayed on invoice line notes. |
Invoice Planner WizardPreview invoice schedules, dates, amounts, and invoice output before generation. |
Multi-Partner SupportAssign multiple customers to a single billing template. |
Automated CronDaily scheduled action automatically generates invoices. |
Audit LogComplete tracking of successful, skipped, and failed billing runs. |
Interval Types
| Interval | Description | Period Note on Invoice |
|---|---|---|
| Daily | Every N days | No |
| Weekly | Every N weeks | Yes |
| Monthly | Every N months | Yes |
| Quarterly | Every 3 months | Yes |
| Yearly | Every N years | Yes |
| Calendar Day | Specific day of every month (e.g. 3rd) | Yes |
Billing Modes
| Mode | When Invoice is Created | Period Covered |
|---|---|---|
| Pre-paid | At the start of the upcoming period | fire_date → end of next full period |
| Post-paid | At the end of the used period | start of previous period → fire_date − 1 |
Configuration
- Go to Accounting → Recurring → Templates and create a new template.
- Set billing interval, mode, start date, and payment terms.
- Add invoice lines (products, quantities, prices).
- Assign one or more customer partners.
- Use the Invoice Planner to preview future invoices.
- Activate the template and let the cron generate invoices automatically.
Access Rights
| Role | Templates | Logs | Runner/Planner |
|---|---|---|---|
| Account Manager | Full Access | Read / Write | Full Access |
| Account Invoice User | Read Only | Read Only | Read / Run |
Technical
- Odoo 18.0 Compatible
- Depends on: account, analytic, mail, accountant
- License: LGPL-3
- No third-party libraries required
Developed by Mohit Kaushik
john.royal99@gmail.com
Please log in to comment on this module