Odoo Subscriptions Guide: Recurring Invoicing, Renewals, Upsells, MRR
Odoo subscriptions in Odoo 19 and 20: set up recurring plans, recurring invoicing, automatic payments, renewals, upsells, churn reasons and MRR reports.
Most guides to Odoo subscriptions list features and stop. The hard part is the setup choices behind them: plan design, invoice timing, failed payments and clean churn data. Our Odoo implementation services start with those decisions before any configuration.
Related service: Odoo for finance teams — accounting, tax and reporting automation.
This guide is for founders, finance leads and operations managers at SaaS, service and product-subscription businesses on Odoo 19 or 20. If your subscriptions start as CRM deals, read our Odoo CRM guide alongside it.
What is Odoo Subscriptions and which edition includes it?
Odoo Subscriptions is the Enterprise app that manages recurring revenue, from the first quote to renewal, upsell and churn. It is not part of Odoo Community.
Odoo describes the app as built to manage recurring revenue with automated invoicing and renewal management. It works with Invoicing, CRM, Sales and Helpdesk, so a subscription is simply a sales order that carries a recurring plan.
Quotes, pricelists, taxes, portal access and invoices behave as they do in Sales, so your team learns one flow, not two.
On the Odoo pricing page, US Standard is US$31.10 per user a month billed yearly and Custom is US$61.00 (India: Rs 725 and Rs 1,350). Custom adds Studio, multi-company and the external API.
How do you set up Odoo subscriptions step by step?
Set up Odoo subscriptions in five steps: recurring plans, products, recurring prices, a quotation and confirmation. Get the plans right first, because every later step depends on them.
- Create recurring plans: go to Subscriptions, Configuration, Recurring Plans. Monthly and Yearly exist by default; add Quarterly or Bi-weekly as needed.
- Set plan details: choose the billing period in weeks, months or years, the automatic closing days, Align to Period Start and the invoice email template.
- Choose self-service options: decide whether customers can close, add products, renew or switch to optional plans from the portal.
- Configure products: keep Subscriptions and Sales ticked, pick the product type and invoicing policy, then add a price rule per plan on the Recurring Prices tab.
- Quote and confirm: create a quotation with a customer and recurring plan, then send it for online signature or payment, or confirm it yourself.
Two limits catch people out. Days cannot be a billing period, because daily recurrence is reserved for rentals. Our guide to Odoo rental management in Odoo 20 covers that side.
Second, physical goods must use the Ordered quantities invoicing policy, or invoice creation fails.
How does Odoo recurring invoicing work?
Odoo recurring invoicing creates an invoice each billing period from the subscription order, using the plan's price and the next invoice date. You control timing through the plan, the payment terms and the invoicing policy.
The Align to Period Start option bills every subscription on the first day of the period. A customer who signs on 15 July pays a reduced amount for 15 to 31 July, then the full price on 1 August. Any other fixed day, such as the 5th, needs custom development.
Payment terms set how long the customer has to pay each invoice. Automatic Closing sets how many days after a missed payment the subscription closes, for example 15 days after a renewal on the 1st.
For finance teams, the key step is revenue recognition. Odoo Accounting can post deferred revenue entries that spread a yearly invoice across 12 months, based on days, months or full months. Our guide on how Odoo Accounting works explains the journals behind it.
Users on the Odoo forum ask for invoices weeks before renewal. A thread on generating subscription invoices before the renewal date notes that editing the next invoice date puts the wrong period on invoices.
How do automatic payments and failed payments work in Odoo?
Automatic payments need a payment provider that supports tokenization, so customers can save a card or bank account for each renewal. When a charge fails, Odoo pauses that contract until someone checks it.
Odoo lists Adyen, Authorize.net, Flutterwave, Razorpay, Stripe and Xendit as providers that support tokenization. Customers save their details at checkout or later in the customer portal. If they choose not to save them, automatic payments cannot run.
When a payment fails, the order gets a Payment Failure tag and the Contract in exception box is ticked. This stops scheduled actions, so Odoo cannot charge the customer twice if the payment actually went through.
Someone then has to check the chatter and act:
- Payment not made: in developer mode, untick Contract in exception, reload and confirm the tag is gone.
- Payment made: create and post the invoice by hand, which moves the next invoice date, then untick the box.
- Left alone: a subscription that stays in Payment Failure is ignored by Odoo until it is closed.
Make a daily review of this list part of someone's role. For gateways outside Odoo's standard list, see our guide to Odoo payment gateway integration in MENA.
How does Odoo subscription renewal work?
Odoo renews subscriptions automatically each period, and a Renew button creates a renewal quotation when terms or prices must change. Manual renewal suits annual contracts that are renegotiated.
A subscription can be renewed manually only after its first quotation is confirmed, a recurring plan is set, and the first invoice is posted and paid. Those orders show as In Progress with a Renew button at the top.
Clicking Renew creates a quotation tagged Renewal Quotation. You then confirm, invoice and register payment as with any sale, and a Sales History smart button links every order in the subscription's life.
How do upsells and plan changes work in Odoo subscriptions?
Use the Upsell button on an invoiced subscription to add products or quantities, and Odoo prorates the new lines to the rest of the current period. Plan switches create a new quotation instead.
The Odoo upsell flow opens a new quotation linked to the original order. You can adjust unit price, taxes and discounts, send it, and confirm it once approved. Create Alternative builds a second option for the same customer.
Proration applies only to Service products, not Goods, even when the on-screen note suggests otherwise. Check this before you sell add-on hardware mid-term.
With Add Products enabled, customer quantity changes in the portal create upsell quotations. Optional Plans let customers switch, for example from monthly to yearly.
Odoo 20 adds one change. Loyalty rules and rewards can be marked Recurring, so subscription loyalty programs grant points or apply rewards at each renewal. Our Odoo 20 Subscriptions release notes show where to find it.
How do you close subscriptions and track churn in Odoo?
Close a subscription with a reason, and Odoo marks it Churned, so churn reports show why customers leave, not just how many. A subscription must be invoiced before it can be closed; otherwise cancel it.
Admins use the Close button, set the date and pick a reason. Customers can close from the portal only if the plan is Closable, and they must choose a preset reason. Reasons are managed under Subscriptions, Configuration, Close Reasons.
Write a short list of reasons before go-live: price, missing feature, switched vendor, business closed, payment failure. Vague reasons such as "Other" make churn data useless.
Some teams leave Closable off so a person can offer a smaller plan first. Decide this per plan.
Which Odoo reports show recurring revenue and MRR?
Odoo has four subscription reports: Subscriptions Analysis, Retention Analysis, MRR Breakdown and MRR Analysis. Together they show Odoo recurring revenue, growth and churn by plan, product, team or country.
| Report | What it answers | Useful measures |
|---|---|---|
| Subscriptions Analysis | What is active, paused or churned now | Monthly Recurring, Yearly Recurring, Recurring Revenue |
| Retention Analysis | How cohorts hold over time | Count, Margin, Prepayment percentage |
| MRR Breakdown | What moved MRR and ARR this period | MRR Change, ARR Change, Active Subscriptions Change |
| MRR Analysis | How MRR and ARR trend over time | MRR Change, cumulative line chart |
Each Odoo subscription report can be filtered by state, such as To renew or Churned, and grouped by plan, salesperson, product or first contract date.
What does standard Odoo subscription management cover, and what needs custom work?

Standard Odoo subscription management covers most recurring billing, while custom billing dates, tiered discounts and contract-specific rules need development. Map your rules against this table before you sign a scope.
| Need | Standard Odoo 19 and 20 | Needs custom work |
|---|---|---|
| Weekly, monthly, yearly plans | Yes, with recurring prices per plan | Daily billing (not allowed) |
| Billing date | Signup date or period start | Fixed day such as the 5th |
| Upsell mid-term | Prorated for Service products | Proration on Goods |
| Failed card payments | Tag and Contract in exception | Automatic retries and dunning emails |
| Discounts | Pricelists, discounts, Odoo 20 recurring loyalty | Quantity tiers from custom tables |
| Renewal cycle | Plan period from the start date | Align to each customer's financial year |
Dunning and early invoicing are where most teams add automation. Our guide to Odoo automation rules in Odoo 19 and 20 covers reminder emails and follow-up activities you can build without code.
Which industries use Odoo subscriptions?
SaaS, professional services, subscription boxes and maintenance contracts get the most from Odoo subscriptions, because each needs billing tied to stock, projects or tickets. The table shows the usual pattern.
| Industry | Pain or cost driver | Odoo approach | How iVentureTeam helps |
|---|---|---|---|
| SaaS and software | Seat changes, annual prepay, churn | Prorated upsells, MRR reports, deferred revenue | Plan design, gateway setup, MRR dashboards |
| Professional services | Retainers plus extra hours | Recurring retainer plus timesheet billing | Combine plans with project billing |
| Subscription boxes | Monthly shipments and stock | Goods subscriptions with Inventory delivery orders | Set routes, shipping and invoicing policy |
| Maintenance contracts | Renewals missed, unpaid service | Renewal quotes, Helpdesk link | Renewal alerts and ticket rules |
| Media and memberships | Many small payments, card failures | eCommerce checkout with saved cards | Portal, payment and failure workflows |
For software companies, our page on Odoo ERP for SaaS and technology covers the wider setup across CRM, Helpdesk and Accounting.
How do you decide if Odoo subscriptions fits your billing?
Answer six questions and you will know whether standard Odoo fits or where custom work starts. Most businesses land on standard Odoo plus two or three rules.
- Billing date: do all customers bill on signup date or period start, or does each need its own date?
- Pricing: are prices flat per plan, or tiered by quantity with custom discount tables?
- Payments: does your gateway support tokenization in Odoo, and who reviews failed payments daily?
- Mid-term changes: do upsells include physical goods that need proration?
- Revenue: must yearly invoices be deferred and recognized monthly?
- Reporting: who owns MRR, churn and retention figures, and how often?
For a first budget, try the Odoo project estimate tool. Our published ranges are $3k to $9k for small projects and $9k to $27k for mid-size ones, depending on scope.
How iVentureTeam helps with Odoo subscription management

iVentureTeam sets up Odoo subscriptions around your real billing rules, then adds only the custom logic standard Odoo cannot handle. We have delivered 150+ ERP projects across 35+ countries with 40+ Odoo specialists over 13+ years.
- Billing design: plans, recurring prices, invoice timing and self-service options mapped to your contracts.
- Payments: tokenized gateways, saved-card checkout and a clear failed-payment review process.
- Revenue and reports: deferred revenue, MRR and churn dashboards, and clean close reasons.
- Custom rules: custom billing dates, tiered discounts and renewal logic through our Odoo customization services.
- Migration: active contracts, next invoice dates and saved payment references moved from your current billing tool.
Odoo subscriptions case study: DataTile
A UK survey-data platform moved tiered pricing and customer-specific billing years off spreadsheets and into Odoo Sales and Subscriptions. DataTile is a SaaS and market research technology company.
DataTile managed tiered plans, progressive discount tables and per-customer financial-year billing by hand, with no CRM behind its website.
We extended Sales and Subscriptions with progressive discounts driven by product quantity and custom discount tables. We added custom start dates for recurring orders with dynamic end dates, and renewal logic that aligns each invoice cycle to the customer's own financial year.
The project ran 12 weeks and automated four billing rules. Read the DataTile Odoo website, CRM and subscriptions case study.
The bottom line on Odoo subscriptions
Odoo subscriptions handles recurring invoicing, renewals, upsells and MRR reporting well, as long as you design plans and payment handling before go-live. Plan for custom work only where your contracts truly differ.
Start with a few clean plans, a tokenized payment provider, a daily failed-payment check and a fixed list of close reasons. Then measure MRR and churn monthly.
Ready to set up recurring billing in Odoo?

Get a billing design that fits your contracts, not a demo setup. Plan your Odoo subscription billing with our team, call +91-90235-15208, or email business@iventureteam.com.
Frequently Asked Questions
Is Odoo Subscriptions available in Odoo Community?
+
No. Subscriptions is an Odoo Enterprise app. Community users need a third-party module or must handle recurring invoices manually, which loses the renewal, upsell and MRR features.
Can Odoo send recurring invoices automatically?
+
Yes. Once a sales order has a recurring plan, Odoo generates an invoice each billing period. With a tokenized payment provider and a saved card, it can also charge the customer automatically.
What happens when a subscription payment fails in Odoo?
+
The order gets a Payment Failure tag and Contract in exception is ticked, which stops scheduled actions. A user checks whether payment arrived, fixes the invoice if needed and unticks the box.
Does Odoo prorate subscription upsells?
+
Yes, for Service products. Upsold lines are prorated to the time left in the current period. Odoo's docs note proration does not apply to Goods, even if the on-screen message suggests it does.
Can I bill every subscription on a fixed day of the month?
+
Align to Period Start bills on the first day of each period. Any other fixed day, such as the 5th, needs custom development.
How do I track churn in Odoo Subscriptions?
+
Close each subscription with a reason. Odoo marks it Churned, and the MRR Breakdown, MRR Analysis and Retention reports show the impact. Keep close reasons short and specific.
What is new for subscriptions in Odoo 20?
+
Odoo 20 adds recurring loyalty: rules and rewards in loyalty programs can be marked Recurring, so points or rewards apply at each renewal. Other subscription features work as in Odoo 19.
Free written answer from a certified consultant
Getting Odoo Accounting set up right?
We map your accounting, tax and reporting in Odoo and show what to set up first, and what to watch.
Free, with no obligation. A senior consultant replies within 12 business hours.
Free Odoo tools
All tools- Odoo Health CheckVersion, modules, findings and upgrade cost
- Odoo App SelectorWhich apps you need, by industry
- Odoo Project EstimateIndicative cost and timeline in minutes
- Odoo Implementation Cost CalculatorImplementation cost and timeline, in minutes
- Odoo Migration Cost CalculatorVersion jump or legacy ERP, priced in minutes
Continue reading
Odoo Accounting for CFOs in the GCC: VAT, E-Invoicing and Controls
Odoo accounting for CFOs in the GCC: UAE and Saudi VAT, ZATCA and UAE e-invoicing, AED and SAR multi-currency, lock dates and hashed audit controls.
Odoo UAE VAT and Corporate Tax Setup: Step by Step for Odoo 19 and 20
Set up Odoo UAE VAT and corporate tax in Odoo 19 and 20: TRNs, taxes, fiscal positions, reverse charge, VAT201 filing, corporate tax tags and e-invoicing.
Odoo Peppol E-Invoicing: Belgium 2026 Mandate, Setup and Cost Guide
Odoo Peppol explained for 2026: Belgium's B2B e-invoicing mandate, fines, Odoo 19 and 20 setup steps, receiving bills, version support and real costs.
