[IMP] Subscriptions: Contract in exception

closes odoo/documentation#11090

X-original-commit: ea2fc6dbc4
Signed-off-by: Parish Bracha (pabr) <pabr@odoo.com>
This commit is contained in:
Parish Bracha 2024-08-21 16:28:19 +00:00
parent b5c37e33b1
commit 9083a0927c
2 changed files with 61 additions and 18 deletions

View File

@ -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`

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB