Step‑by‑Step Guide to Configure Recurring Invoicing (Subscriptions) in Odoo 16
Step‑by‑Step Guide to Configure Recurring Invoicing (Subscriptions) in Odoo 16
Many small‑to‑medium businesses sell services on a monthly or yearly basis—think SaaS tools, maintenance contracts, or membership plans. Manually creating an invoice every billing cycle wastes time and invites errors. Odoo’s Subscriptions app automates this process, generating invoices, sending reminders, and tracking renewals automatically. This tutorial walks you through enabling the module, creating a subscription product, and testing the full recurring invoicing flow.
Prerequisites
Before diving in, make sure you have the following:
- An active Odoo instance with administrator access.
- The Accounting and Sales apps installed (they are required dependencies for Subscriptions).
- A stable hosting environment—if you’re looking for a hassle‑free deployment, you can rely on DevNix’s Cloud VPS to host Odoo with optimal performance.
Enable the Subscriptions App
- Log in to Odoo as an administrator.
- Navigate to Apps from the main menu.
- In the search bar, type
Subscriptions. - Click the Install button next to the “Subscriptions” app. Odoo will automatically install the required dependencies.
- Once installed, a new top‑level menu Subscriptions appears next to Sales and Accounting.
Create a Subscription Product
Subscriptions are built on regular product records, but you must flag them as “subscription‑type”.
- Go to Sales → Products → Products.
- Click Create to add a new product.
- Enter a Product Name (e.g., “Premium Support – Monthly”).
- Set the Product Type to Service.
- Under the Invoicing tab, enable Can be Sold and Recurring Invoice.
- Specify the Recurring Interval (e.g.,
1 Month) and choose the Recurring Rule (e.g., “Fixed price”). - Enter the Sale Price that will be charged each period.
- Save the product.
Configure the Recurring Invoice Template
The template defines how Odoo creates the periodic invoices.
- Open Accounting → Configuration → Journals.
- Select the journal you want to use for subscription invoices (commonly “Customer Invoices”).
- Click Edit and scroll to the Advanced Settings section.
- Check Allow Automatic Posting to let Odoo post the generated invoices without manual validation.
- Optionally, set a default Payment Terms (e.g., “Net 0” for immediate payment).
- Save the journal.
Set Up the Subscription Workflow
- Navigate to Subscriptions → Configuration → Settings.
- Enable Auto‑Renewal if you want subscriptions to renew automatically after the current period ends.
- Activate Send Renewal Reminders and define the number of days before expiration (e.g., 5 days).
- Choose an email template for the reminder under the Email Templates dropdown.
- Save the settings.
Create a Test Subscription
- Go to Subscriptions → Subscriptions and click Create.
- Select a Customer (or create a new one on the fly).
- In the Subscription Template field, choose the product you created earlier (“Premium Support – Monthly”).
- Set the Start Date to today and verify the Next Invoice Date reflects the chosen interval.
- Click Confirm. Odoo will generate the first invoice immediately (or on the next scheduled run, depending on your settings).
Test the Automatic Invoicing Process
To ensure everything works, simulate the scheduler that runs the recurring jobs.
- Open the developer mode (click your user name → About → Activate the developer mode).
- Navigate to Settings → Technical → Automation → Scheduled Actions.
- Locate the action named
sale.subscription.auto_invoiceand click Run Manually. - After the action completes, go back to Subscriptions → Subscriptions and open the test subscription.
- Under the Invoices tab, you should see a newly created draft or posted invoice for the next period.
- If you enabled auto‑posting, the invoice will already be posted; otherwise, manually validate it.
Monitor and Manage Ongoing Subscriptions
Odoo provides several tools to keep an eye on subscription health:
- Subscriptions → Dashboard: visual overview of active, pending, and expired subscriptions.
- Subscriptions → Reports → Subscription Analysis: filter by product, customer, or period to assess revenue trends.
- Automatic email reminders (configured earlier) keep customers informed of upcoming renewals.
Troubleshooting Common Issues
Invoices Not Generated
- Confirm that the
sale.subscription.auto_invoicescheduled action is enabled and its frequency (usually daily) is correct. - Check that the journal used for invoices has Allow Automatic Posting enabled.
- Verify the subscription’s Next Invoice Date is in the past or today.
Wrong Billing Amount
- Review the product’s Recurring Price in the product form.
- Ensure the subscription template hasn’t been overridden by a discount rule.
Conclusion
By following these steps, you’ve turned a manual billing routine into a fully automated recurring invoicing engine within Odoo. The Subscriptions app not only saves time but also improves cash flow visibility and reduces the risk of missed payments. As your subscription portfolio grows, you can rely on Odoo’s reporting tools to fine‑tune pricing, identify churn, and scale your recurring revenue model with confidence.