Sales

Odoo Subscriptions: recurring billing software

Enterprise

Generate recurring invoices and manage renewals

Odoo Ready Partner
★★★★★4.9 on Clutch
Calgary, in-house team
Odoo Subscriptions logo
What it does

What Odoo Subscriptions does

Odoo Subscriptions is the Enterprise app that turns Odoo Sales into a recurring-revenue engine. Software-as-a-service, equipment leasing, gym memberships, B2B retainers, subscription boxes, managed-service contracts, training programs: any business where the same customer pays on a schedule (weekly, monthly, yearly) lives here.

It builds on top of Odoo Sales and Odoo Accounting, so a subscription is just a sales order that knows it bills again next month, with a saved payment token on file. Invoices run on their own each cycle, customers can pause or cancel from the portal (when the plan is configured to allow self-service pause and cancel), and the dashboard shows MRR, ARR, churn, and renewal pipeline in numbers the founder actually looks at on Monday morning. You can test Odoo Subscriptions free on the Odoo trial; pricing kicks in only if you install more than one Odoo app.

For Odoo's own product overview, see Odoo's product listing.

How it works

The day-to-day flow

The setup starts with a subscription plan. A plan carries a billing period (every 1 week, 2 weeks, 1 month, 3 months, 1 year), an option to align invoices to the first of the period, and an auto-close window (default 15 days) that kills a subscription if payment keeps failing.

A new subscription starts as a quote on Odoo Sales, marked as recurring. The rep picks the plan, the products, the start date, and (if the customer paid online) the saved payment token gets attached. When the customer confirms, the quote moves to In Progress. The first invoice posts on the start date, and from there a daily cron runs through every active subscription, checks the next-invoice-date, generates the invoice when it is due, and charges the saved payment token automatically (if the customer has one on file). The customer gets an email with the invoice and the receipt.

When the customer wants to upgrade, downgrade, or add a seat, the rep creates an Upsell quote that adjusts the recurring lines and prorates the difference against the current cycle. When the customer wants to cancel, they hit a button on the portal, see a close-reason form (the company's retention message and a save-the-customer link), and either cancel or click the offer. The subscription moves to Churned, the dashboard logs the lost MRR, and the win-back queue gets the customer for a future outbound.

A daily cron handles recurring invoice generation; separate weekly crons handle subscription expiration cleanup and KPI updates (so dashboard numbers refresh roughly once a week, not in real time). The dashboard tracks MRR delta over the last month and the last quarter, ARR, churn rate, the renewal queue for next month, and the upsell pipeline. A cohort chart shows retention by signup month, so the team sees if a product change broke conversions or if a pricing test moved retention.

Calibre configures Odoo Subscriptions for Alberta businesses: step by step, in writing.

Speak to an Implementation Specialist
In this module

What's inside Odoo Subscriptions

Subscription Plans with Three Billing Units
Plans carry a billing period in weeks, months, or years (every 1 week, every 2 weeks, every month, every quarter, every year). The unit and the count are configured per plan, so a weekly meal-kit plan and a quarterly software plan live side by side on the same setup.
Auto-Pay with Saved Payment Tokens
Each subscription can carry a saved payment token (a card the customer authorized once on signup). A daily cron checks every active subscription, generates the next invoice when it is due, and charges the saved token without anyone in the office touching the invoice. Customers get an email with the receipt; failures trigger a payment-reminder email and an Exception flag on the subscription.
Seven-Stage Subscription Lifecycle
Every subscription moves through seven distinct states: Quotation, In Progress, Paused, Renewal Quotation, Renewed, Upsell, and Churned. The pipeline screen groups by state so the team sees the renewal queue, the upsell pipeline, and the win-back queue at a glance, with KPIs filtered by stage.
Upsell with Automatic Proration
A customer asks to add a seat or upgrade from the Pro plan to the Enterprise plan. The rep creates an Upsell quote, adjusts the lines, and Odoo prorates the difference against the time left in the current billing period. The mid-cycle invoice posts the right amount; the next regular invoice picks up the new rate from day one.
Pause and Resume
A subscription can be paused without being churned. Useful for seasonal customers, paid leaves of absence on a gym plan, or temporary holds during a billing dispute. Paused subscriptions skip the cron and surface on the dashboard with a separate count, so the team knows what is sleeping versus what is dead.
MRR, ARR, and Cohort Retention Dashboard
The reporting dashboard ships built-in metrics for monthly recurring revenue, annual recurring revenue, MRR delta over the last month and last quarter, churn rate, and the renewal queue for next month. A cohort chart shows retention by signup month, so the team sees if a product change broke conversions or if a price test moved retention.
Auto-Close on Failed Payments
Set an auto-close window per plan (default 15 days). If a subscription's payment fails and the dunning emails go unanswered, Odoo automatically moves the subscription to Churned after the window expires and stops trying to bill. The team finds out from the dashboard instead of finding out from the customer.
Customer Portal with Self-Service Cancel
When the plan has portal self-service enabled, customers can view their active subscriptions, see upcoming invoices, update their saved card on file, pause or cancel, and re-activate from the portal without calling the office (portal pause is not available on postpaid plans). Cancellations route through a configurable close-reason form (the company's retention message, save-the-customer offers, optional discount link) so the company has one last chance at the save.
Renewal Quotation Workflow
Subscriptions can be set to auto-renew (keeps billing on the same plan) or to require a renewal quote at the end of the term. For renewal-quote subscriptions, Odoo creates a Renewal Quotation a configurable number of days before the end date and routes it to the rep, who reviews any price changes and sends it to the customer for confirmation. Both the rep and the customer see the renewal pipeline well before the existing term ends.
Templates and Self-Service Signup
Save a subscription as a template with its plan, products, billing terms, and email setup pre-filled. New customers signing up through the website use the template to spin up their own subscription from a published plan link, pay online, and land in the In Progress queue without a rep touching the order. Sales reps use the same templates to send a one-click quote for inbound deals from the pipeline.
Built for

Is Odoo Subscriptions right for your team?

Outgrowing the entry-level tools

SMBs whose data lives in QuickBooks, HubSpot Free, or Excel spreadsheets that were set up when the business was smaller. The team now spends hours building reports by hand and reconciling between tools every month-end.

Operations across multiple tools

Retail, manufacturing, mechanical, or professional services businesses with 10 to 200 employees running on a patchwork of point tools. The team wants one database for the whole company instead of Zapier holding it together.

At a glance Enterprise tier Cloud, Odoo.sh, or self-host iOS + Android app 15-day free trial CSV migration from current tool Odoo Ready Partner support Integrates with Stripe
Bundle

Apps people often run with Odoo Subscriptions

Most businesses running Odoo Subscriptions pair it with three or four other Odoo apps to cover the full recurring-revenue stack. Odoo Sales is the parent (Subscriptions is built on top of it) and Odoo Accounting closes out each recurring invoice into the AR ledger automatically. Odoo Invoicing handles the customer-facing invoice document, with email delivery and the receipt. A payment provider (Stripe, Adyen, PayPal, or a regional option) is wired in for the saved-token auto-pay flow, since without one the subscription cron can generate the invoice but cannot collect on it. Odoo CRM is a common addition when subscription quotes are won from a sales pipeline, so a deal in the pipeline carries the subscription template and converts on close without re-keying.

Pricing

What Odoo Subscriptions costs

One App Free
CA$0
forever
  • One app, unlimited users
  • Multi-company allowed
  • Odoo Online hosting
  • Dependent apps included free
If Odoo Subscriptions is the only Odoo app you install
Custom
CA$55
/user/month, billed yearly
  • Everything in Standard
  • Studio (no-code customizer)
  • Multi-company management
  • Hosting: Online, Odoo.sh, or on-premise
  • External API access
Choose this when you need custom layouts or multi-company management.
Calibre Implementation
Quote
phase-by-phase, in writing
  • Scoping, configuration, training
  • Data migration from your current tool
  • Named engineer through go-live and support
Book the call →
Free 45-minute scoping call. Quote in writing before any code ships.

Pricing source: Odoo's published Standard and Custom plans as of 2026-05. Calibre quotes in CAD; conversion from Odoo's local pricing in your region may vary.

Questions

Common questions about Odoo Subscriptions

Is Odoo Subscriptions free?
No. Odoo Subscriptions is part of the paid Odoo Enterprise tier, which is around CA$35.20 per user per month billed annually for the full Odoo suite. There is no Community edition of Odoo Subscriptions. You can test it free on the Odoo 15-day trial to scope a rollout before committing to the licence. The One App Free rule does not really apply here in practice, because Subscriptions depends on Odoo Sales and Odoo Accounting underneath, so even a minimal setup is already multi-app.
What's the difference between Odoo Subscriptions in Community and Enterprise?
There is no Community version of Odoo Subscriptions. The whole recurring-revenue flow (subscription plans, the daily billing cron, saved payment tokens, the seven-stage lifecycle, upsell proration, pause and resume, the MRR/ARR dashboard, cohort retention, the close-reason portal flow, auto-renewal quotes, and templates) ships only in the Enterprise tier. Teams that want a free recurring-billing setup usually try to stitch together Odoo Sales plus a manual repeat-invoice on a calendar reminder, which works for ten subscriptions and falls apart at a hundred.
Can we move our subscriptions from Stripe Billing, Chargebee, Recurly, or another tool into Odoo?
Yes. Odoo Subscriptions accepts CSV and Excel imports for the customer list, the subscription products with their pricing, the active subscriptions (with start date, next invoice date, plan, and assigned customer), and the saved payment tokens (with the appropriate provider on file). Historical invoices import as flat data; live subscription state (next renewal, churn risk markers, upgrade history) usually gets rebuilt on cutover since every recurring-billing tool tracks state differently. Calibre handles the data audit, the payment-token cutover with the chosen provider, and the cutover-day state rebuild during the rollout, and keeps your old tool live as a read-only reference for the first month.
Does Odoo Subscriptions work with Stripe, Adyen, PayPal, and other payment processors?
Yes. The standard Odoo payment processors (Stripe, Adyen, PayPal, Authorize.net, Mollie, Razorpay, and a handful of regional providers) are wired into Odoo Subscriptions for the saved-token auto-pay flow. The customer authorizes the card once on signup, Odoo stores a payment token referencing the card at the processor (not the card details themselves, which stays PCI-compliant), and the cron uses the token to charge each cycle without the customer re-entering anything. A payment failure triggers a dunning email and an Exception flag on the subscription; after the auto-close window expires, the subscription churns automatically.
Is there a mobile app for Odoo Subscriptions?
Yes, on iOS and Android. The Odoo mobile app covers the subscription list, the subscription detail screen, the MRR and churn dashboard, approving a renewal quote, and applying an upsell. A sales rep walking out of a customer meeting can apply an upgrade on their phone before they get back to the office. The polished mobile app is part of the Enterprise tier; Community users get the responsive web version (which works on a phone browser but is not as smooth for thumb taps).
How does Odoo Subscriptions handle upsells, downgrades, and proration?
When a customer wants to change the plan, the rep creates an Upsell quote that adjusts the recurring lines. Odoo prorates the difference against the time left in the current billing period and posts a one-off invoice for the difference (an upgrade charges the prorated extra; a downgrade credits the prorated unused portion). The next regular invoice picks up the new rate from day one, so the customer is not double-billed for the cycle they upgraded in. Mid-cycle add-on lines (an extra seat, an additional service) flow through the same upsell mechanism on the same subscription, so the history is one continuous timeline with the changes timestamped.
Can customers cancel from the portal without calling our office?
Yes, and the close-reason form is one of the more useful Odoo Subscriptions features for keeping churn down. When a customer hits Cancel on the portal, they see a configurable close-reason list (the reasons your customers actually leave for, in plain English) and for each reason you can attach a retention message and a save-the-customer call-to-action (a discount link, a downgrade option, a call-back form). The customer either takes the offer (the subscription stays alive and the win-back gets logged) or confirms the cancel (the subscription moves to Churned with the chosen reason on the audit trail). The team gets churn data segmented by reason for the dashboard, instead of one generic Cancelled bucket.

Working with Calibre

How long does a Calibre implementation typically take?
Single-module rollouts on an existing Odoo setup run 2-6 weeks depending on data migration scope. Greenfield Odoo with a multi-module rollout runs 4-16 weeks. Calibre commits to a written, phase-by-phase timeline after the free scoping call before any code is written.
How much does a Calibre implementation cost?
Cost depends on module scope, user count, custom work, and migration complexity. Calibre's posture is a written fixed-phase quote after the scoping call rather than an hourly engagement, so the cost is committed in writing before the first commit.
What happens to our data if we ever want to leave Odoo?
Everything exports. CSV, XML, or a full PostgreSQL database dump, yours on day one. Migrating off Odoo has been done before and it's not a one-way door.
Speak to an Implementation Specialist

Talk to Calibre about Odoo Subscriptions.

Written, phase-by-phase quote before any code is written. Odoo Ready Partner, Calgary. In-house team, no offshore handoffs.

Speak to an Implementation Specialist Try the 15-day free trial

What you get

  • Free 45-minute scoping call with an Odoo-certified engineer
  • Module-by-module fit/gap assessment
  • Written, phase-by-phase quote
  • Named engineer for implementation and support
  • Data-export commitment in writing