Subscriptions Module
Odoo Subscriptions handles recurring revenue: monthly/annual plans, auto-invoice generation, upsells, renewals, and churn tracking. It integrates with Sales for quotation, Accounting for invoicing, and Website for online signup.
Setup
1. Recurring Products
# Create subscription product:
# Products → Create
# Name: "Pro Plan - Monthly"
# Type: Service
# Invoicing Policy: Ordered quantities
# Recurring: Yes
# Recurring Period: Monthly (or Yearly, Weekly)
# Price: $79/month
# Create annual variant:
# Name: "Pro Plan - Annual"
# Recurring Period: Yearly
# Price: $790/year (2 months free)2. Subscription Templates
# Subscriptions → Configuration → Plans
# Plan: "Professional"
# Products included:
# - Pro Plan: $79/mo
# - Priority Support: $29/mo (optional)
# - Extra Storage 100GB: $10/mo (optional)
# Plan settings:
# - Auto-close after X days without payment
# - Renewal reminder: 30 days before expiry
# - Grace period: 7 days after payment failureSubscription Lifecycle
# 1. Draft → Customer signs up (website or quotation)
# 2. In Progress → Active subscription, billing started
# 3. To Renew → Approaching renewal date
# 4. Renewed → Customer renewed for next period
# 5. Closed → Subscription ended (cancelled or expired)
# Auto-actions:
# → Auto-invoice on each billing date
# → Email invoice to customer
# → Payment collected (if online payment configured)
# → If payment fails → retry → grace period → suspendBilling
# Auto-invoicing:
# Odoo creates invoices automatically each period
# "Generate Recurring Invoices" scheduled action runs daily
# Invoice contains:
# - All recurring products on the subscription
# - Period dates (March 1 - March 31)
# - Any one-time charges added
# Payment collection:
# - Online payment (Stripe/PayPal auto-charge)
# - Manual payment (bank transfer, check)
# - Token-based recurring charge (saved card)Upsells & Downgrades
# Upsell: add products or upgrade plan
# Subscription → Upsell → add new line or change quantity
# → Prorated invoice for remaining period
# Downgrade: reduce plan
# → Takes effect at next billing period
# → No prorated refund (configurable)
# Plan change: Starter → Pro
# → Close Starter subscription line
# → Add Pro subscription line
# → Prorate differenceRenewal Management
- Auto-renewal (default): subscription continues each period
- Manual renewal: customer must confirm renewal
- Renewal reminder email: 30 days before expiry
- Renewal quote: send updated quotation for price changes
- Multi-year contracts: lock in rates for 1-3 years
Churn Management
- Churn rate dashboard: cancelled / total per month
- Cancellation reasons: collect via survey on cancellation
- At-risk indicators: payment failures, support tickets, low usage
- Retention offers: discount code for cancelling customers
- Winback campaigns: email churned customers after 30/60/90 days
MRR Dashboard
# Subscriptions → Dashboard:
# MRR (Monthly Recurring Revenue)
# New MRR (from new subscriptions)
# Churned MRR (from cancellations)
# Expansion MRR (from upsells)
# Net MRR = New + Expansion - Churned
# Cohort analysis:
# Month 1: 100 customers, $10K MRR
# Month 6: 82 customers, $11.5K MRR (upsells offset churn)
# Retention: 82%Website Integration
- Pricing page with plan comparison table
- Online signup → subscription auto-created
- Customer portal: view subscription, invoices, change plan
- Self-service cancellation with reason collection
DeployMonkey + Subscriptions
DeployMonkey itself runs on Odoo Subscriptions. Deploy it for your SaaS or subscription business — the AI agent configures plans, billing, and churn management from your business model.