Skip to Content

Odoo Subscriptions: Recurring Plans, Renewals, and Invoicing Rhythm

Complete guide to using Subscriptions in Odoo
May 25, 2026 by
Odoo Subscriptions: Recurring Plans, Renewals, and Invoicing Rhythm
Louis Dresse SRL, Louis DRESSE
| No comments yet

Introduction

If you sell B2B, you have lived this: a hot lead in someone's inbox, a quote in Word, and an order in Odoo Subscriptions that only finance sees end-to-end. Odoo {app} is where that story can finally be one timeline.


Odoo Subscriptions is not a magic funnel. It is the place where marketing, sales, and delivery agree on the same customer, the same products, and the same next step, without a Friday spreadsheet reconciliation.


When teams work in silos, you get optimistic forecasts, angry operations, and marketing that cannot prove ROI. The problem is rarely effort. It is visibility and handoffs.


The Subscriptions app connects to Contacts, Products, Inventory, Project, and Accounting when you need it. You start simple: leads, activities, quotes. You grow into forecasting, automation, and integrations.


Subscriptions is part of Odoo's modular ERP. Teams adopt it when they want clear responsibilities, repeatable workflows, and searchable history instead of isolated messages and offline spreadsheets. Odoo Subscriptions: Recurring Plans, Renewals, and Invoicing Rhythm states the storyline for stakeholders approving budgets.


This guide is written for sales leaders, CRM owners, and ops managers who want stories they can retell, not a glossary of menu names.


This article is a ranked Top 10 from Level 1 (easy) to Level 10 (expert). Every level includes numbered steps: what you would actually click in Odoo Subscriptions.


Start where you are comfortable, not at level 10 because it sounds impressive.


Read the challenge section next, then open the level that matches your team today.


In this guide, you will see:


  • What Odoo Subscriptions is responsible for in a typical company stack
  • Where teams feel the most friction today (and why)
  • Ten ranked use cases from beginner discipline to advanced strategy
  • When automation or integrations justify bringing in an Odoo partner



The Challenge


Monday 9 a.m.: your best rep closed a deal on the phone, but the quote still sits in a personal Drafts folder. Meanwhile, marketing uploads a lead list nobody in Subscriptions will see until Friday. Sound familiar?

Most teams already sell successfully, but pipeline data is fragmented. Without a shared system, forecasting, handoffs, and marketing ROI stay opaque.

Sound familiar? Teams usually hit these walls:


  • Deals tracked in inboxes instead of a pipeline everyone trusts
  • Quotes and orders retyped into finance and delivery
  • No clear view of which campaigns create revenue


The good news: you do not need a big-bang project to fix everything. Pick one use case below, run it for 30 days in Odoo Subscriptions, and measure what changes.

Top 10 Subscriptions Use Cases


10 use cases for Odoo Subscriptions, ranked from Level 1 (easy, do it this afternoon) to Level 10 (expert). Each one answers: what would we build, and what are the clicks in Odoo?


Level 1 is the easy daily win. The last level is intentionally over the top so you see how far the same app can scale when architecture and data stay clean.


Pick your level, follow the numbered steps in a test database, then move up when the previous level feels boring.

1. Sell your first monthly subscription contract Level 1 — Easy


Level 1 is the simplest possible Subscriptions action: one sales person, one customer, one recurring contract that bills itself every month. No automation, no dashboard, just a real recurring revenue record instead of a manual reminder in a calendar.


Here's how you'd do it in Odoo:


  1. Install the Subscriptions app, then go to Subscriptions, Configuration, Recurring Plans, New, and set the recurrence to 1 month.
  2. Sales, Products, New, create a service product and tick Recurring with the plan you just created.
  3. Sales, Quotations, New, pick a customer, add the subscription product, then click Confirm.
  4. Odoo auto-creates the running contract under Subscriptions, Subscriptions, In Progress.
  5. Open the contract: the first invoice is already posted and the next invoice is scheduled one month later, with zero manual follow-up.


What you get: Recurring revenue is tracked on a real contract record instead of a fragile spreadsheet, and the second invoice fires on time without anyone touching a calendar.


2. Give every customer a self-service portal to manage their plan Level 2 — Easy


Level 2 turns subscriptions from a backoffice document into a customer-facing product. The portal feature lets each subscriber view invoices, update payment cards, and cancel without emailing finance.


Here's how you'd do it in Odoo:


  1. Open a running subscription, click Send by Email, and tick Grant Portal Access on the contact form.
  2. The customer receives a magic link, sets a password, and lands on the My Account, Subscriptions page.
  3. From the portal the customer downloads past invoices, updates the saved credit card, and views the next renewal date.
  4. Go to Subscriptions, Configuration, Settings, Customer Portal, and allow self-service cancellation with a reason picklist.
  5. Every portal action is logged in the contract chatter so finance keeps a full audit trail without extra reporting.


What you get: Routine billing requests stop landing in the support inbox, customers handle them in seconds, and finance only sees the exceptions worth a human reply.


3. Offer monthly and annual plans with an upfront-commitment discount Level 3 — Easy


Level 3 uses the multi-plan feature so customers pick their own billing rhythm: monthly for flexibility, or annual for two months free in exchange for upfront commitment.


Here's how you'd do it in Odoo:


  1. Subscriptions, Configuration, Recurring Plans, create Monthly Plan with recurrence 1 month and Annual Plan with recurrence 12 months priced at 10 months.
  2. Set Renewal Notice to 14 days before expiry on each plan so no customer is surprised by a renewal invoice.
  3. On the quotation, the sales person picks Monthly or Annual; Odoo generates the right contract automatically on confirmation.
  4. Configure email reminders to fire 30, 7, and 0 days before each renewal date directly from the plan template.
  5. Subscriptions, Reporting, Revenue Analysis, group by Plan to track the share of monthly versus annual prepaid contracts.


What you get: Pricing experiments run without breaking the invoicing engine, and the share of annual prepaid contracts becomes a real KPI instead of a vague intuition.


4. Upgrade or downgrade mid-contract with prorated billing Level 4 — Medium


Level 4 uses the Subscriptions upsell engine to capture expansion revenue cleanly: change tier mid-contract and Odoo handles the prorated invoice or credit note without cancel-and-restart gymnastics.


Here's how you'd do it in Odoo:


  1. Open a running subscription and click the Upsell button to add the new tier or an add-on product line.
  2. Odoo generates a prorated invoice for the remaining days in the current billing period.
  3. The new plan becomes active immediately and the MRR delta appears on the contract header in real time.
  4. For downgrades, click Renew with a lower quantity or smaller plan; Odoo issues a prorated credit note for the unused period.
  5. Subscriptions, Reporting, MRR Movements, watch expansion versus contraction split by sales person and customer segment.


What you get: Expansion revenue is captured the day the customer asks, not buried in a year-end renegotiation that nobody dares to invoice retroactively.


5. Pause, resume, and close subscriptions with structured churn reasons Level 5 — Medium


Level 5 introduces the lifecycle controls of Subscriptions: pause a contract for a known interruption, resume it later, or close it with a mandatory churn reason that feeds the monthly retention review.


Here's how you'd do it in Odoo:


  1. On any running contract, click Pause and set the resume date so billing skips the planned interruption automatically.
  2. When the pause ends, click Resume; the next invoice is scheduled for the new anchor date, no manual catch-up needed.
  3. To cancel, click Close and pick a Churn Reason from the picklist: Price, Competitor, Bad Fit, Project Ended, Other.
  4. Subscriptions, Configuration, Settings, Close Reasons, make the picklist mandatory and limit it to five clean values.
  5. Subscriptions, Reporting, Churn Analysis, group by Reason to see the top three causes and run a monthly retention review.


What you get: Churn becomes a structured KPI with three to five known causes instead of a noisy 'they ghosted us' note in a sales person's head.


6. Auto-pay every renewal with Stripe and a dunning sequence for failed cards Level 6 — Medium


Level 6 connects Subscriptions to Stripe for tokenized auto-pay and a four-step dunning sequence so finance only handles real exceptions instead of chasing every renewal by email.


Here's how you'd do it in Odoo:


  1. Accounting, Configuration, Payment Providers, enable Stripe and tick Save Payment Methods to allow card tokenization.
  2. On each subscription, set Payment Mode to Automatic; the customer enters the card via the portal once and Odoo stores the token.
  3. At each renewal, Odoo posts the invoice, charges the saved card, and reconciles the payment against the bank feed.
  4. Configure a dunning sequence: friendly reminder on Day 0, firmer on Day 3, escalation on Day 7, automatic suspension after Day 14.
  5. Subscriptions, Reporting, Failed Payments, gives finance a focused worklist of the few cards that need a human follow-up.


What you get: Days Sales Outstanding drops on recurring revenue and finance moves from chasing every customer to handling only the real card failures.


7. Open renewal opportunities in CRM sixty days before each contract expires Level 7 — Hard


Level 7 wires Subscriptions into CRM so every contract approaching expiry triggers a renewal opportunity with the right owner, the right context, and a scheduled call activity before the customer thinks about leaving.


Here's how you'd do it in Odoo:


  1. Settings, Technical, Automated Actions, create a rule: when a subscription is sixty days from expiry, create a CRM opportunity.
  2. Set the opportunity owner to the contract sales person and expected revenue to the annualized contract value.
  3. Add a Schedule Activity step on the new opportunity: a Renewal Call due seven days after creation.
  4. The sales person opens the opportunity, sees the usage history and past tickets, and sends the renewal quote in one click.
  5. CRM, Reporting, Pipeline, group by Opportunity Type Renewal versus New Business to track gross retention separately.


What you get: Renewals stop being a last-minute fire drill; the team works them on a real pipeline with the same discipline as new business deals.


8. Run a free trial that converts itself into a paid subscription Level 8 — Hard


Level 8 uses the trial feature so prospects sign up with a card, get a full N-day trial, receive automated reminder emails before conversion, and slide into paid billing without any human intervention.


Here's how you'd do it in Odoo:


  1. Subscriptions, Configuration, Recurring Plans, set a Trial Period of 14 days on the right plan template.
  2. Email Marketing, build a three-step drip: Day 1 welcome, Day 7 best practices, Day 12 trial ends in 48 hours.
  3. On signup, the customer enters a card through the portal; the contract is created with status In Trial and no invoice posted.
  4. On Day 15, Odoo auto-converts the contract to Active, posts the first invoice, and charges the saved card.
  5. Subscriptions, Reporting, Trial Conversion, group by acquisition channel to know which traffic produces real paying customers.


What you get: Trial to paid becomes a measured funnel rather than a guess, and the team iterates on activation emails based on real conversion numbers.


9. Build a live MRR, ARR, Churn, and Net Revenue Retention dashboard Level 9 — Hard


Level 9 plugs Subscriptions into Spreadsheet to expose the four metrics every recurring revenue team needs in one live board: opening MRR, expansion, contraction, churn, ARR, and Net Revenue Retention by segment.


Here's how you'd do it in Odoo:


  1. Spreadsheet, New, create a workbook called SaaS KPI Live with a tab per metric and one Subscriptions pivot per tab.
  2. Build the MRR Movements pivot: opening MRR, new business, expansion, contraction, churned, ending MRR.
  3. Compute Net Revenue Retention as Opening minus Churn minus Contraction plus Expansion, divided by Opening MRR per cohort.
  4. Group results by Segment, Plan, Country, and Acquisition Channel so leadership sees which slices retain best.
  5. Schedule a weekly Discuss snapshot of the dashboard to the leadership channel every Monday morning at nine.


What you get: Leadership stops flying blind on retention, and renewal investments target the real problem segments instead of every account at once.


Designing the MRR pivot taxonomy, the Net Revenue Retention formula across cohorts, and the right governance for the weekly leadership snapshot is the kind of analytics build Dasolo runs as a partner-led engagement.


10. Run usage-based subscriptions with AI churn detection and multi-app automation Level 10 — Expert


Level 10 is the full operating system: a fixed base plus metered usage components, external telemetry, AI churn scoring, automated CSM nudges, and a live revenue dashboard refreshed in real time.


Here's how you'd do it in Odoo:


  1. Define products in Sales: a fixed Base plus metered components such as per API call, per active user, and per gigabyte stored.
  2. Build an external API or Studio Automated Action that pulls daily usage into the subscription as new invoice lines before each billing run.
  3. On the customer portal, expose a live usage chart and a real-time bill breakdown so customers see what they will pay before the invoice closes.
  4. An AI agent scores each contract for churn risk using login frequency, ticket sentiment, payment history, and usage trend.
  5. Marketing Automation triggers a CSM nudge when the score crosses a red threshold; high overage usage triggers a sales upsell motion in CRM.
  6. A Spreadsheet Revenue Live dashboard tracks MRR, NRR, usage revenue, churn forecast, and AI accuracy in real time per segment.


What you get: Usage-based pricing scales without a finance army behind Excel macros, and the company sees churn coming weeks ahead instead of after the cancellation email lands.


Wiring metered billing, AI churn scoring, CSM playbooks, and a live revenue dashboard across Subscriptions, Studio, Marketing Automation, Sales, and Spreadsheet is the architecture Dasolo designs as a partner-led SaaS engagement. Most teams need an outside team to assemble these pieces correctly the first time.


When Expert Help Makes Sense


If levels 1 to 6 fit your world, you can often succeed with standard Odoo Subscriptions, a patient internal owner, and a sandbox where people are allowed to break things safely.


From level 7 upward, the stakes rise: automated workflows that email the wrong customer, Studio fields that block upgrades, APIs that silently stop syncing stock at 2 a.m.


That is not a failure of your team. It is a signal that architecture, testing, and governance matter.


Bring in a partner when you need multi-app design, country-specific compliance, complex integrations, or a go-live date the board already put in the calendar.

Work With Dasolo


Dasolo helps companies implement Odoo the way they actually work: custom apps, clean integrations, and training people will remember after the consultants leave.


If your roadmap for Subscriptions includes the advanced use cases in this guide, we can map a phased plan: quick wins first, then automation and integrations with clear owners and test scripts.


You keep control of scope and budget. We bring the Odoo depth so your team does not learn expensive lessons in production.

Book a free consultation:


Schedule your demo

Odoo Subscriptions: Recurring Plans, Renewals, and Invoicing Rhythm
Louis Dresse SRL, Louis DRESSE May 25, 2026
Share this post
Sign in to leave a comment