Skip to Content
Q&A

Manage Subscriptions and Set Up Automatic Billing

Recurring revenue without having to manually create invoices every month.

Back to all Q&A
February 3, 2026 by
Manage Subscriptions and Set Up Automatic Billing
DAADit Group, Nick

Situation: you sell monthly or annual services — maintenance contracts, hosting, a service package — and every period someone gets to key in the same invoices all over again. If that person forgets one, you only notice when revenue falls short. Recurring revenue should replace recurring work, not create it.

The basics: subscription plans

Install the Subscriptions app (part of Odoo Enterprise). Create your plans under Subscriptions → Configuration → Recurring Plans: monthly, quarterly, annually. For each plan you set how invoicing works, whether customers may cancel online themselves and what happens when a payment fails. Then attach a recurring price per plan to your service products — so the same maintenance contract can cost €95 a month or €1,000 a year.

From quotation to running subscription

A subscription simply starts as a quotation:

  1. Create a quotation with a recurring plan and the subscription product.
  2. The customer confirms (and signs, optionally online — see our earlier post on that).
  3. From that moment on, Odoo automatically generates the invoice on the right day every period, including sending it by email.

In the subscriptions overview you see the status, next invoice date and term per contract. The dashboard immediately calculates your MRR (monthly recurring revenue) and churn — figures you would otherwise need an accountant and a spreadsheet for.

Customers sort it out themselves via the portal

Via the customer portal, the customer can view, upgrade or — if you allow it in the plan — cancel their subscription. That saves phone calls, and a cancellation is then properly recorded straight away instead of sitting as a stray email in someone's inbox.

Combine with direct debit

The final piece: link SEPA Direct Debit as a payment method (via Invoicing → Configuration → Payment Providers). The customer signs a mandate once, and from then on invoices are not only created automatically but also collected automatically. A hosting company with 200 customers then literally has nothing left to look after — only the failures (rejected direct debits) still need attention.

Finally

Practical tip: set an automatic reminder (activity) 60 days before the end date of annual contracts. Then you're the one calling about renewal before the customer starts thinking about cancelling. Wondering whether your services lend themselves to subscriptions? Contact DAADit Group — we are happy to think along with you.

Situation: you sell monthly or yearly services — maintenance contracts, hosting, a service package — and every period someone gets to key in the same invoices again. If that person forgets one, you only notice when revenue comes up short. Recurring revenue should replace recurring work, not create it.

The basis: recurring plans

Install the Subscriptions app (part of Odoo Enterprise). Under Subscriptions → Configuration → Recurring Plans, create your plans: monthly, quarterly, yearly. Per plan you define how invoicing works, whether customers may close their own subscription online, and what happens on a failed payment. Then give your service products a recurring price per plan — so the same maintenance contract can cost €95 monthly or €1,000 yearly.

From quotation to running subscription

A subscription simply starts as a quotation:

  1. Create a quotation with a recurring plan and the subscription product.
  2. The customer confirms (and signs, online if you like — see our earlier post on that).
  3. From then on, Odoo automatically generates the invoice on the right day every period, including sending it by email.

In the subscriptions overview you see each contract's status, next invoice date and duration. The dashboard instantly calculates your MRR (monthly recurring revenue) and churn — numbers you would otherwise need an accountant and a spreadsheet for.

Customers manage it themselves via the portal

Through the customer portal, customers can view their subscription, upgrade, or — if the plan allows it — cancel. That saves phone calls, and a cancellation is properly registered right away instead of sitting as a loose email in someone's inbox.

Combine with direct debit

The finishing touch: add SEPA Direct Debit as a payment method (via Accounting → Configuration → Payment Providers). The customer signs a mandate once, and after that invoices are not only generated automatically but also collected automatically. A hosting company with 200 customers literally never touches this process again — only the exceptions (rejected collections) still need attention.

Wrapping up

Practical tip: set an automatic reminder (activity) 60 days before the end date of yearly contracts. That way you call about renewal before the customer starts thinking about cancelling. Curious whether your services fit a subscription model? Get in touch with DAADit Group — happy to think along.

Question not answered?

Our Odoo consultants are happy to think along with you. Book a no-obligation intro call.

Book an appointment
Link Time Tracking to Projects and Clients
One timesheet per week—and all hours are automatically assigned to the correct client, without any Excel work.