Skip to main content
iVentureTeam
Odoo Accounting & Tax

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.

Siddharth JambukiyaSiddharth JambukiyaOdoo Techno-Functional Consultant
November 13, 202612 min read1 view
Odoo Subscriptions Guide: Recurring Invoicing, Renewals, Upsells, MRR cover

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.

  1. Create recurring plans: go to Subscriptions, Configuration, Recurring Plans. Monthly and Yearly exist by default; add Quarterly or Bi-weekly as needed.
  2. 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.
  3. Choose self-service options: decide whether customers can close, add products, renew or switch to optional plans from the portal.
  4. 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.
  5. 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.

ReportWhat it answersUseful measures
Subscriptions AnalysisWhat is active, paused or churned nowMonthly Recurring, Yearly Recurring, Recurring Revenue
Retention AnalysisHow cohorts hold over timeCount, Margin, Prepayment percentage
MRR BreakdownWhat moved MRR and ARR this periodMRR Change, ARR Change, Active Subscriptions Change
MRR AnalysisHow MRR and ARR trend over timeMRR 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?

Odoo subscription management: Standard Odoo or 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.

NeedStandard Odoo 19 and 20Needs custom work
Weekly, monthly, yearly plansYes, with recurring prices per planDaily billing (not allowed)
Billing dateSignup date or period startFixed day such as the 5th
Upsell mid-termProrated for Service productsProration on Goods
Failed card paymentsTag and Contract in exceptionAutomatic retries and dunning emails
DiscountsPricelists, discounts, Odoo 20 recurring loyaltyQuantity tiers from custom tables
Renewal cyclePlan period from the start dateAlign 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.

IndustryPain or cost driverOdoo approachHow iVentureTeam helps
SaaS and softwareSeat changes, annual prepay, churnProrated upsells, MRR reports, deferred revenuePlan design, gateway setup, MRR dashboards
Professional servicesRetainers plus extra hoursRecurring retainer plus timesheet billingCombine plans with project billing
Subscription boxesMonthly shipments and stockGoods subscriptions with Inventory delivery ordersSet routes, shipping and invoicing policy
Maintenance contractsRenewals missed, unpaid serviceRenewal quotes, Helpdesk linkRenewal alerts and ticket rules
Media and membershipsMany small payments, card failureseCommerce checkout with saved cardsPortal, 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.

  1. Billing date: do all customers bill on signup date or period start, or does each need its own date?
  2. Pricing: are prices flat per plan, or tiered by quantity with custom discount tables?
  3. Payments: does your gateway support tokenization in Odoo, and who reviews failed payments daily?
  4. Mid-term changes: do upsells include physical goods that need proration?
  5. Revenue: must yearly invoices be deferred and recognized monthly?
  6. 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

Moving billing to Odoo? Price the project

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?

Plan my subscription setup

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.

We use cookies to improve your experience

Essential cookies make the site work; with your permission we also use analytics to improve it. See our cookie policy.