# Subscription management

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
- Known issues / Roadmap
- Bug Tracker
- Credits
  - Authors
  - Contributors
  - Maintainers

# 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.
5. The cron job will also end the subscription if its end date has been reached.

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.

# 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

## Contributors

- Carlos Martínez <carlos@domatix.com>
- Ooops404:
  - Ilyas <irazor147@gmail.com>
  - Giovanni Serra <giovanni@gslab.it>
- PyTech-SRL:
  - Sebastiano Picchi <sebastiano.picchi@pytech.it>

## Maintainers

This module is maintained by the OCA.

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.

Current maintainers:

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.