Odoo Community Association

Subscription management

Beta License: AGPL-3 OCA/contract Translate me on Weblate Try me on Runboat

This module allows creating subscriptions that generate recurring invoices or orders. It also enables the sale of products that generate subscriptions.

Table of contents

Usage

To make a subscription:

  1. Go to Subscriptions > Configuration > Subscription templates.
  2. Create the templates you consider, choosing the billing frequency: daily, monthly… and the method of creating the invoice and/or order.
  3. Go to Subscription > Subscriptions.
  4. Create a subscription and indicate the start date. When the Subscriptions Management cron job is executed, the subscription will begin and the first invoice will be created if the execution date matches the start date. The invoice will also be created when the execution date matches the next invoice date. Additionally, you can manually change the subscription status and create an invoice by using the Create Invoice button. This action creates just an invoice even if the subscription template has the Sale Order & Invoice option selected, because the Invoicing mode option is triggered through the cron job.
  5. The cron job will also end the subscription if its end date has been reached. The end date honours the template recurrence (days, weeks, months or years) and the interval, instead of always assuming months.

To create subscriptions with the sale of a product:

  1. Go to Subscriptions > Subscriptions > Products.
  2. Create the product and in the sales tab, complete the fields Subscribable product and Subscription template
  3. Create a sales order with the product and confirm it.

Invoice and delivery addresses:

  • Each subscription has an Invoice address and a Delivery address. They default to the customer’s corresponding addresses and can be overridden per subscription.
  • These addresses are propagated to the recurring invoices (the invoice is addressed to the invoice address and records the delivery one) and to the sale orders generated by the subscription.
  • The fields are shown when the Customer Addresses setting (group Display Delivery / Invoice addresses) is enabled.

Known issues / Roadmap

  • Refactor all the onchanges that have business logic to computed write-able fields when possible. Keep onchanges only for UI purposes.
  • Add tests.

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

Credits

Authors

  • Domatix
  • Onestein

Contributors

Maintainers

This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

This module is part of the OCA/contract project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.