Subscriptions & renewals

How to set up Odoo subscriptions, recurring billing, and renewals

Keep billing frequency, customer agreement, invoicing, and payment collection separate. Set up one service subscription and verify its first billing cycle before automating more.

By OdooMatrix Published Updated 5 min read

At a glance

Recurring invoices and automatic collection are different features. Charging a saved payment method requires a supported payment provider, tokenization, customer authorization, and tested failure handling.

1. Confirm availability and the customer agreement

Use a test database with the Subscriptions app and the Sales and invoicing capabilities it requires. The native app’s availability depends on your edition and subscription; do not assume it is included in a plain Community installation.

Write down the service, price, billing period, start date, renewal terms, payment terms, and cancellation rules before configuring automation. This example uses a fictitious monthly support service. Its price and renewal conditions are training values, not an offer from OdooMatrix.

Keep customer emails and payment-provider activity in test mode while rehearsing. Agree who reviews invoices, payment failures, changes of plan, and customer requests to stop the service.

2. Create or review a recurring plan

  1. Open Subscriptions → Configuration → Recurring Plans.
  2. Review an existing Monthly plan or create a new plan with a clear name.
  3. Set the Billing Period to one month for the exercise. Odoo’s documented subscription periods use weeks, months, or years; a daily rental period is not a standard subscription billing period.
  4. Review automatic closing, company, invoice email template, and permitted customer self-service options.
  5. Decide whether Align to Period Start matches the agreement, and save.

Align to Period Start can change the first invoice through proration and align later invoices to the period boundary. Do not turn it on without checking a mid-month start. Billing frequency, payment due date, and the date an invoice is actually generated answer different questions.

3. Configure the subscription product and price

Go to Subscriptions → Products → Products and create the training service. Leave Sales and Subscriptions enabled. Choose an appropriate service type and invoicing policy, then configure the recurring price for the intended plan.

Review any plan-level pricing rules because they can override the product’s default recurring price. For an illustrative monthly amount of 120 before tax, compare the quotation and actual invoice rather than assuming every first cycle will charge exactly 120 when proration is enabled.

This guide starts with a service. Physical-goods subscriptions also require stock and delivery planning and the documented ordered-quantity invoicing policy; do not apply a service-only setup to a recurring shipment without testing the full flow.

4. Create and confirm the customer subscription

  1. Create a new quotation from Sales or Subscriptions.
  2. Choose the customer and the correct Recurring Plan, then add the subscription product and quantity.
  3. Review the effective price, taxes, payment terms, start information, and any required signature or online payment.
  4. Use Preview to check the customer-facing quotation and portal view.
  5. Confirm the agreed quotation and inspect the resulting subscription and its next invoice information.

A sales order with a recurring plan becomes a subscription. Check the actual agreement and dates before assuming that an ordinary service sale has a recurring billing schedule. Keep a clear record of what the customer accepted.

5. Verify the first invoice before relying on automation

Inspect the initial draft or generated invoice and follow the approved posting and sending process. Compare the covered service period, any proration, price, taxes, and next billing date. Test the scheduled recurring workflow in the separate environment before enabling it for live customers.

Automatic collection needs a payment provider that supports tokenization and a customer-authorized saved payment method. A recurring plan alone does not create permission to charge a card. Test a successful payment, a declined payment, and a case where the provider’s outcome is not yet clear.

Resolve uncertain payments before retrying

A Payment Failure or Contract in exception state can pause scheduled handling to avoid duplicate charges. Reconcile the provider transaction and Odoo records with finance before clearing an exception or collecting again.

6. Handle renewals, plan changes, and stopping the service

For a manual renewal, the documented prerequisites include a confirmed subscription with a recurring plan and the initial subscription invoiced and paid. Open the subscription and use Renew when it is available. Review the new renewal quotation, dates, prices, and terms before confirmation.

An upsell or plan change can have different pricing and timing effects from a normal renewal. Review the generated quotation and invoice rather than editing the recurring price without understanding the effective date. Configure customer self-service only for the actions the business intends to permit.

  • The first invoice and the next invoice date match the agreement.
  • The payment provider and invoice status reconcile, including failure cases.
  • Renewal and cancellation responsibilities are assigned.
  • Closing a subscription is checked separately from any outstanding invoice or credit-note work.

7. Frequently asked questions

Does a recurring plan automatically charge the customer?

No. Automatic collection also needs a supported provider, tokenization, and an authorized saved payment method. Invoicing and collecting money are separate workflows.

Can the standard subscription plan bill every day?

The reviewed Odoo 20 documentation supports week, month, and year billing periods for subscriptions. A daily recurrence is reserved for rental behavior and cannot be used as a normal subscription sales-order period.

Should we immediately retry a failed automatic payment?

First reconcile the provider and Odoo records. A timeout or exception can leave an uncertain outcome, and repeating collection without checking can double-charge the customer.

8. Related articles and next steps

Reviewed against Odoo 20 documentation. Menu labels, availability, and actions depend on your edition, hosting, installed apps, and permissions. Practise the workflow in a test database before changing production.

Need help with your Odoo workflow?

Tell us your version, apps, and the outcome you need. Discuss your setup with OdooMatrix.

← Back to all articles