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.

Capabilities

Everything a recurring contract needs

Every capability below is implemented in the module.

01

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.

02

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.

03

Configurable Billing Frequency

Bill daily, weekly, monthly, quarterly, or annually per contract, matching how each customer actually agreed to pay.

04

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.

05

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.

06

Renewal & Expiry Alerts

An "Expiring Soon" ribbon and lifecycle state flag contracts approaching their end date, so renewals are never silently missed.

07

Contract PDF Document

Print a formatted contract document with terms and billing lines for customers who require a record on file.

08

Analytic Account Linkage

Assign each contract to an analytic account so recurring revenue and cost can be tracked for margin reporting.

09

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.

Workflow

How it works

1

Create the Contract

Start from a blank contract or convert a confirmed sale order in one click.

2

Set Terms & Start

Pick billing frequency, add recurring and one-time lines, then start the contract.

3

Review Draft Invoices

Each billing cycle generates a draft invoice for finance to check before posting.

4

Approve & Renew

Post the invoice, then renew, pause, or let the contract expire from the same dashboard.

Questions

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.

Get the app

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