Recurring Revenue Without Subscriptions
Not every business needs the full Odoo Subscriptions module. If you have straightforward recurring billing — monthly retainers, quarterly service fees, annual maintenance contracts — you can set up recurring invoicing using Odoo Accounting's built-in features. This approach works well for businesses with stable, predictable billing that does not require complex subscription management features like plan changes, trials, or usage-based pricing.
Method 1: Recurring Invoices in Accounting
Odoo Accounting includes a recurring entries feature that can generate invoices automatically. Go to Accounting → Configuration → Recurring Entries. Create a recurring invoice template specifying the customer, invoice lines (products, quantities, prices), frequency (monthly, quarterly, annually), and start/end dates. Odoo generates draft invoices automatically on schedule. Review and post them, or configure auto-posting for fully automated billing.
Configuration Steps
Create a recurring entry with the model set to Customer Invoice. Add the customer and invoice lines. Set the recurrence to your billing cycle. Choose the journal. Enable auto-post if you want zero-touch invoice generation. Odoo creates the next invoice based on your frequency, incrementing the date each cycle.
Method 2: Sales Order with Auto-Invoice
For businesses that want recurring billing tied to sales orders, create a sales order with the delivery and invoicing set to recurring. Confirm the sales order once. Use a scheduled action to generate invoices periodically from the confirmed sales order. This keeps the billing linked to the original sales order for reporting and customer history purposes.
Method 3: Contract-Based Billing
For service contracts, create a sales order per contract period. The sales order acts as the contract document with terms, scope, and pricing. Set the invoicing policy to ordered quantities. Generate time-based invoices (monthly milestones) from the sales order. Each invoice references the contract sales order, maintaining clear documentation.
Revenue Recognition
Recurring revenue requires proper revenue recognition. If you bill annually but recognize revenue monthly, use Odoo's deferred revenue feature. Configure the deferred revenue account on the product. When an annual invoice is posted, revenue is initially recorded as deferred. Odoo creates monthly journal entries that recognize one-twelfth of the revenue each month.
Setup Comparison
| Feature | Recurring Entries | SO + Scheduled Action | Subscriptions Module |
|---|---|---|---|
| Auto invoice generation | Yes | With customization | Yes |
| Customer portal | Basic | SO portal | Full subscription portal |
| Plan changes | No | Manual | Yes |
| Usage-based billing | No | No | Yes |
| Auto-renewal | Manual renewal | Manual renewal | Automatic |
| Dunning/recovery | Payment follow-up | Payment follow-up | Built-in |
| MRR reporting | Manual calculation | Manual calculation | Built-in dashboards |
| Complexity | Low | Medium | Higher |
MRR and ARR Tracking
Without the Subscriptions module, track Monthly Recurring Revenue (MRR) and Annual Recurring Revenue (ARR) manually or through custom reports. Filter the invoice list by recurring products and sum the amounts per period. Create a spreadsheet dashboard that pulls invoice data for recurring products to visualize MRR trends, churn, and growth over time.
Customer Communication
Set up email templates for recurring billing notifications. Send invoice emails automatically when recurring invoices are posted. Include the service period, amount, payment instructions, and a link to the customer portal. For annual renewals, send advance notice 30 days before the next billing date so customers can review and update payment methods.
When to Upgrade to Subscriptions
- You need plan changes (upgrades, downgrades) with prorated billing.
- You want built-in MRR/ARR/churn dashboards.
- You need trial periods and automatic conversion.
- You have usage-based pricing components.
- You need automated dunning for failed payments.
- You have more than 100 recurring customers.
DeployMonkey + Recurring Billing
Deploy Odoo on DeployMonkey and set up recurring invoicing with AI assistance. Start generating repeating invoices without the complexity of the full Subscriptions module.