Skip to content
Sales

Subscriptions & Recurring Revenue

Sales

Subscriptions & Recurring Revenue

Create subscription products, manage recurring billing, handle renewals and upgrades, and track MRR in Odoo Subscriptions.

6 steps Updated Mar 7, 2026 SOP · Standard

Odoo Subscriptions handles recurring revenue from SaaS, memberships, maintenance contracts, and any service billed on a regular cadence. It integrates directly with Sales, Invoicing, and CRM.

1

Create Subscription Plans

Go to Subscriptions → Configuration → Plans.

A plan defines the billing cadence and pricing. Click New:

  • Name — e.g., “Monthly”, “Annual”, “Quarterly”
  • Billing Period — Monthly, Quarterly, Yearly, etc.
  • Auto-Close — automatically close the subscription after a set number of billing cycles (useful for fixed-term contracts)

Create at least a Monthly and Annual plan. Annual plans typically include a discount (e.g., 2 months free) to incentivise upfront payment.

Step 1: Subscription plans list showing Monthly, Quarterly, and Annual plans with billing periods

2

Create Subscription Products

Go to Sales → Products (or Subscriptions → Products). Create or edit a product.

Set Product Type to Service. In the General Information tab:

  • Enable Recurring (or it appears as “Subscription” in some versions)
  • Set the Recurring Plan (Monthly, Annual, etc.)

The product’s sales price becomes the per-period charge (e.g., $99/month for a monthly plan).

For multi-tier subscriptions (Starter/Pro/Enterprise), create one product per tier with different prices.

Step 2: Product form showing Recurring toggle and Plan assignment for a subscription product

3

Create a Subscription from a Sales Order

Subscriptions are created when a sales order containing a recurring product is confirmed.

Create a new quotation:

  1. Add a recurring product as a line item
  2. The Subscription Plan is auto-filled from the product
  3. Set the Start Date (when billing begins)
  4. Confirm the order

A subscription record is automatically created and linked to the sales order. The subscription is now Active and will automatically generate invoices on each billing date.

Step 3: Confirmed sales order with recurring product linked to automatically created subscription

4

Manage Renewals and Upgrades

Open an active subscription. At the subscription’s renewal date:

Automatic renewal: If configured, Odoo auto-renews and generates the next invoice without manual intervention.

Manual renewal: Click Renew to create a renewal quotation (useful for renegotiating terms or adding upsells).

Upgrade/Downgrade: Click Upsell to create a new quotation adding or changing products. Odoo prorates the charges for the remaining billing period automatically.

Cancel: Click Close and select a reason (customer request, non-payment, etc.). The subscription closes at the end of the current period (or immediately, based on your policy).

Step 4: Active subscription form showing Renew, Upsell, and Close action buttons with renewal date

5

Track MRR and Subscription Health

Go to Subscriptions → Reporting → MRR Analysis.

Key metrics tracked:

  • MRR (Monthly Recurring Revenue) — total active subscription value per month
  • New MRR — revenue from new subscriptions this period
  • Churned MRR — revenue lost from closed subscriptions
  • Expansion MRR — additional revenue from upgrades
  • Net MRR Growth = New + Expansion − Churned

The Churn Rate report shows the percentage of subscriptions or revenue lost per period — the most critical health metric for any subscription business.

Filter by product, plan type, or salesperson to identify which segments are growing and which are at risk.

Step 5: MRR analysis chart showing new MRR, churned MRR, and net growth trend over time

6

Set Up Automated Renewal Reminders

Use automated actions to alert your team and customers before renewals.

Go to Settings → Technical → Automation → Automated Actions. Create:

Customer reminder (7 days before renewal):

  • Model: Subscription
  • Trigger: Days before next_invoice_date = 7
  • Action: Send email using “Subscription Renewal Reminder” template

Internal alert for at-risk subscriptions:

  • Model: Subscription
  • Trigger: MRR has decreased, or health score drops
  • Action: Create activity on the subscription for the account manager

Step 6: Automated action form for subscription renewal reminder email 7 days before next invoice