diff --git a/content/applications/sales/subscriptions/renewals.rst b/content/applications/sales/subscriptions/renewals.rst index 23fdc2c00..e71405412 100644 --- a/content/applications/sales/subscriptions/renewals.rst +++ b/content/applications/sales/subscriptions/renewals.rst @@ -2,21 +2,21 @@ Renew subscriptions =================== -The foundation of any subscription business model is recurring payments. That's when customers +The foundation of any subscription business model is recurring payments. This is when customers reliably pay a regular amount at specific intervals, in exchange for access to a subscription product or service. -The renewal of a subscription is the process followed by customers when they willingly choose to -continue their participation (and payment) for a subscription product or service. +Subscription renewal is the process customers follow when they willingly choose to continue +participating in, and paying for, a subscription product or service. Subscribers experience the renewal process at different intervals -- weekly, monthly, annually, etc. -- depending on the duration of the agreed-upon contract. -Most companies that offer subscriptions prefer to automate the renewals process for customers, but, -in some cases, manual subscription renewals are still used. +Most companies that offer subscriptions prefer to automate the renewal process for customers. +However, manual subscription renewals are still used in some cases. -With the Odoo *Subscriptions* application, a company can manage all of their subscriptions in one -place. Renewals can be processed automatically or manually, include additional products or upsells +With the Odoo **Subscriptions** application, a company can manage all of its subscriptions in one +place. Renewals can be processed automatically, or manually, include additional products or upsells per renewal order, and be filtered in batch views to quickly locate customers who need to renew their subscriptions. @@ -24,18 +24,29 @@ Subscription renewals ===================== In order to renew a subscription, a quotation with a subscription product **must** be confirmed, -with a configured :guilabel:`Recurring Plan` selected, which turns it into a sales order. +with a configured *Recurring Plan* selected. + +To open a subscription quotation, navigate to :menuselection:`Subscriptions app --> Subscriptions +--> Quotations`, and select the desired quotation from the list. Or, create a new one by clicking +:guilabel:`New` to open a new quotation form. .. note:: - Only a singular product is required. - - A subscription service is still a product (albeit a digital, recurring one) + - A subscription service counts as a product, as it is considered a recurring product. -Then, that sales order needs to be confirmed, and payment from the customer for the initial -subscription has to be invoiced and registered. +Subscription quotations **must** be confirmed, and payment from the customer for the +initial subscription **must** be invoiced and registered in order to successfully open a *Renewal +Quotation*. -When those steps are complete, an :guilabel:`In Progress` tag is applied to the sales order form, -and a series of buttons appear at the top of the sales order -- including a button titled, -:guilabel:`Renew`. +.. seealso:: + For more information on the above process of confirming quotations and invoicing payments, + see: + - :doc:`../sales/send_quotations/create_quotations` + - :doc:`../sales/send_quotations/get_paid_to_validate` + +Once the payment from the subscription quotation is confirmed, the quotation turns into a sales +order. An :guilabel:`In Progress` tag is applied to the sales order form, and a series of buttons +also appear at the top of the sales order, including a :guilabel:`Renew` button. .. image:: renewals/renew-button.png :align: center @@ -48,12 +59,12 @@ complete with a :guilabel:`Renewal Quotation` tag. :align: center :alt: Renewal quotation in the Odoo Subscriptions application. -From here, a standard sales flow can occur in order to confirm the quotation. This typically begins -by clicking :guilabel:`Send by Email`. This sends a copy of the quotation to the customer, by email, -for them to confirm, and eventually, pay for. +From here, a standard sales flow can occur to confirm the quotation. This typically begins +by clicking :guilabel:`Send by Email`, which sends a copy of the quotation to the customer, by +email, for them to confirm, and eventually, pay for. .. note:: - In the *Chatter* of the :guilabel:`Renewal Quotation`, it is mentioned that this subscription is + In the chatter of the :guilabel:`Renewal Quotation`, it is mentioned that this subscription is the renewal of the subscription from the original sales order. Once the :guilabel:`Renewal Quotation` is confirmed, it becomes a sales order, and a @@ -81,6 +92,38 @@ also appears at the top of the sales order. When clicked, Odoo reveals an :guilabel:`MRR Analysis` page, detailing the monthly recurring revenue related to this specific subscription. +.. important:: + On rare occasions, automatic payment can fail, which results in a *Payment Failure* tag on the + top-right of the sales order, if there is an error in the payment method. + + This is done to prevent the system from charging the customer again the next time a scheduled + action is run. Because the status of the payment is unknown, Odoo requests a manual operation to + check if the payment has been made, before the payment can be used again. + + To do this, navigate to :menuselection:`Subscriptions app --> Subscriptions --> Quotations`. + Click into the desired subscription, then check the *Chatter* to see if the payment was made. + + If the payment was **not** made, first enter :doc:`debug mode <../../general/developer_mode>`. + Then, click the :guilabel:`Other Info` tab, and untick the checkbox next to :guilabel:`Contract + in exception`. Reload the sales order, and the :guilabel:`Payment Failure` tag is gone. + + If the payment **was** made, a new invoice must be made and posted manually. This automatically + updates the next invoice date of the subscription. Once created, enter :doc:`debug mode + <../../general/developer_mode>`, and navigate to the new sales order. Click the :guilabel:`Other + Info` tab, and untick the checkbox next to :guilabel:`Contract in exception`. + Reload the sales order, and the :guilabel:`Payment Failure` tag is gone. + + .. figure:: renewals/contract-in-exception.png + :align: center + :alt: The "contract in exception" option selected with the "payment failure" tag shown. + + The :guilabel:`contract in exception`` option selected with the :guilabel:`payment failure` + tag shown. + + In both cases, once the :guilabel:`Contract in exception` option is no longer selected, Odoo + handles renewals automatically again. If the subscription remains in *payment failure*, it is + skipped by Odoo until the sales order is closed. + .. seealso:: - :doc:`../subscriptions` - :doc:`plans` diff --git a/content/applications/sales/subscriptions/renewals/contract-in-exception.png b/content/applications/sales/subscriptions/renewals/contract-in-exception.png new file mode 100644 index 000000000..532b2a093 Binary files /dev/null and b/content/applications/sales/subscriptions/renewals/contract-in-exception.png differ