Recurring billing your finance team can supervise
Turn signed sales agreements into a predictable sales contract subscription with a recurring invoice stream — generated as reviewable drafts, never posted without your approval.
The problem
Odoo's native Subscriptions module removed granular invoicing controls, so every recurring invoice posts automatically with no review step. Staff re-key invoices by hand, miss renewal dates, and cannot tell at a glance which contracts are active, paused, or expiring.
The solution
A sales contract subscription record drives the whole lifecycle: recurring invoices are generated as drafts for review, a lifecycle dashboard shows what needs attention today, and a confirmed sale order converts into a subscription in one click.
Everything a recurring contract needs
Every capability below is implemented in the module.
Supervised Draft Invoicing
Recurring invoices generate as drafts, never posted automatically. Finance reviews each one and approves & posts explicitly, restoring the review step Odoo removed since v16.
Lifecycle Dashboard
A kanban board groups every subscription contract by Draft, Running, Paused, Expiring, Expired, and Cancelled, so the first screen answers what needs attention today.
Configurable Billing Frequency
Bill daily, weekly, monthly, quarterly, or annually per contract, matching how each customer actually agreed to pay.
Mixed One-Time + Recurring Lines
Combine a recurring subscription line with one-time setup or training fees on the same order, and have it validate correctly — a bundle that breaks on save in other apps.
Sale Order Conversion
Turn a confirmed sale order into a subscription contract with one click, with no need to re-enter customer or line data.
Renewal & Expiry Alerts
An "Expiring Soon" ribbon and lifecycle state flag contracts approaching their end date, so renewals are never silently missed.
Contract PDF Document
Print a formatted contract document with terms and billing lines for customers who require a record on file.
Analytic Account Linkage
Assign each contract to an analytic account so recurring revenue and cost can be tracked for margin reporting.
Automated Invoice Generation
A scheduled action checks every running contract on its billing cadence and creates the next draft invoice automatically, with correct taxes and ledger accounts.
How it works
Create the Contract
Start from a blank contract or convert a confirmed sale order in one click.
Set Terms & Start
Pick billing frequency, add recurring and one-time lines, then start the contract.
Review Draft Invoices
Each billing cycle generates a draft invoice for finance to check before posting.
Approve & Renew
Post the invoice, then renew, pause, or let the contract expire from the same dashboard.
Frequently asked
No sales fog. If your question isn't here, email us and we'll answer it the same way.
It runs alongside standard Sales and Accounting and adds its own contract model with a supervised, draft-review invoicing flow that the native module no longer offers since v16.
Buy it on the Odoo App Store
Purchase, download and install directly from the official Odoo Apps Store — you'll always get the latest supported build.
Sales Contract Subscription & Recurring Invoice
Supervised recurring billing, a lifecycle dashboard, and sale-order-to-subscription conversion, built natively on Odoo.
Buy on Odoo App Store