[REF] Subscriptions: rewrite overview, integrate products page
closes odoo/documentation#12823
closes odoo/documentation#12870
closes odoo/documentation#12989
X-original-commit: ee2126a112
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
@@ -9,8 +9,8 @@ time periods, etc., and is useful for creating pricing strategies and optimizing
|
||||
Odoo **Sales** has a useful pricelist feature that can be tailored to fit any unique pricing
|
||||
strategy. Pricelists suggest certain prices, but they can always be overridden on the sales order.
|
||||
|
||||
Pricelists configuration
|
||||
========================
|
||||
Configuration
|
||||
=============
|
||||
|
||||
To enable pricelists in the Odoo **Sales** app, first navigate to :menuselection:`Sales app -->
|
||||
Configuration --> Settings`. In the :guilabel:`Pricing` section, tick the checkbox next to the
|
||||
@@ -147,9 +147,8 @@ From here, there are several configuration options:
|
||||
Recurring Prices tab
|
||||
--------------------
|
||||
|
||||
Recurring prices are specifically used with :doc:`subscription products
|
||||
<../../../subscriptions/products>`. When configuring price rules in this tab, keep in mind that
|
||||
they will only apply to subscription products, or products with recurring prices enabled.
|
||||
Time-based rules are used specifically with subscription products. Be sure to check out the Odoo
|
||||
:doc:`Subscriptions </applications/sales/subscriptions>` documentation for more information.
|
||||
|
||||
In the :guilabel:`Recurring Prices` tab, pricelists are configured with the same options as in the
|
||||
:guilabel:`Price Rules` tab, with additional columns for :guilabel:`Product Variants` add
|
||||
@@ -213,8 +212,13 @@ The :guilabel:`Selectable` can be enabled to allow the customer to choose this p
|
||||
Finally, promotional and loyalty codes can be added to the :guilabel:`E-commerce Promotional Code`
|
||||
field.
|
||||
|
||||
.. image:: pricing/sales-pricelist-ecommerce.png
|
||||
:alt: The Ecommerce tab in a pricelist configuration form.
|
||||
Tick the :guilabel:`Selectable` checkbox to have this pricelist as a selectable option for
|
||||
customers to choose as they shop. If the :guilabel:`Selectable` box is left unticked, customers
|
||||
**cannot** select this pricelist for themselves.
|
||||
|
||||
Lastly, there is the option to add an :guilabel:`E-commerce Promotional Code`. To add a code, type
|
||||
in the desired promo code that, when entered during the checkout process, applies the pricelist to
|
||||
the customer, even if the customer does not fall into the previously-specified criteria.
|
||||
|
||||
Customer pricelist application
|
||||
==============================
|
||||
|
||||
@@ -7,8 +7,6 @@ Reusable quotation templates can be made in Odoo's **Sales** app for common prod
|
||||
By using these templates, quotations can be tailored and sent to customers at a quicker pace,
|
||||
without having to create new quotations from scratch every time a sales negotiation occurs.
|
||||
|
||||
.. _sales/send_quotations/templates:
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
|
||||
@@ -1,46 +1,267 @@
|
||||
:show-content:
|
||||
:hide-toc:
|
||||
|
||||
=============
|
||||
Subscriptions
|
||||
=============
|
||||
|
||||
Odoo *Subscriptions* is used to run recurring businesses: :ref:`sell new contracts
|
||||
<subscriptions/quotations>`, :doc:`upsell customers </applications/sales/subscriptions/upselling>`,
|
||||
keep the churn under control, and :doc:`generate reports
|
||||
</applications/sales/subscriptions/reports>` on the main :abbr:`KPIs (Key Performance Indicators)`:
|
||||
:abbr:`MRR (Monthly Recurring Revenue)`, :abbr:`ARR (Annual Recurring Revenue)`, retention, churn,
|
||||
etc.
|
||||
The Odoo **Subscriptions** app is designed to manage recurring revenue through subscription-based
|
||||
products or services. It supports automated invoicing, renewal management, and customer lifecycle
|
||||
tracking.
|
||||
|
||||
Subscriptions can be created manually or automatically through online sales, with varying options
|
||||
for recurring billing. The app integrates with other Odoo modules such as **Invoicing**, **CRM**,
|
||||
**Sales**, and **Helpdesk** to support end-to-end subscription workflows.
|
||||
|
||||
.. cards::
|
||||
|
||||
.. card:: Subscription plans
|
||||
:target: subscriptions/plans
|
||||
:large:
|
||||
|
||||
Customize subscription plan templates tailored to various product offerings
|
||||
|
||||
.. card:: Renew a subscription
|
||||
:target: subscriptions/plans
|
||||
:large:
|
||||
|
||||
Understand the core management activity for subscriptions
|
||||
|
||||
.. card:: Upsell a subscription
|
||||
:target: subscriptions/plans
|
||||
:large:
|
||||
|
||||
Offer more value for current subscribers on the same sales order
|
||||
|
||||
.. card:: Integrate subscriptions with eCommerce
|
||||
:target: subscriptions/plans
|
||||
:large:
|
||||
|
||||
Offer subscription products with an Odoo **eCommerce** app integration
|
||||
|
||||
.. seealso::
|
||||
- `Odoo Tutorials: Subscriptions <https://www.odoo.com/slides/subscription-20>`_
|
||||
- :doc:`/applications/sales/subscriptions/products`
|
||||
- :doc:`/applications/sales/subscriptions/ecommerce`
|
||||
- :doc:`/applications/sales/subscriptions/plans`
|
||||
- :doc:`/applications/sales/subscriptions/upselling`
|
||||
- :doc:`/applications/sales/subscriptions/renewals`
|
||||
- :doc:`/applications/sales/subscriptions/closing`
|
||||
- :doc:`/applications/sales/subscriptions/automatic_alerts`
|
||||
- :doc:`/applications/sales/subscriptions/scheduled_actions`
|
||||
- :doc:`/applications/sales/subscriptions/reports`
|
||||
|
||||
Set up recurring plans
|
||||
======================
|
||||
|
||||
To get started with subscription products in Odoo, *recurring plans* (previously known as
|
||||
*recurrence periods*) must first be configured.
|
||||
|
||||
Recurring plans are the time windows in which subscriptions are active before they renew again.
|
||||
While a subscription is active, customers receive products or services, and may also have access to
|
||||
additional benefits such as support desk triage. In terms of payment, these recurring plans
|
||||
designate how often the customer is charged in order to maintain the benefits of their subscription.
|
||||
|
||||
To configure recurring plans, go to :menuselection:`Subscriptions app --> Configuration -->
|
||||
Recurring Plans`.
|
||||
|
||||
By default, the **Subscriptions** app includes a number of common recurring plans already available,
|
||||
such as :guilabel:`Monthly` and :guilabel:`Yearly`.
|
||||
|
||||
Create a new recurring plan by clicking :guilabel:`New` on the :guilabel:`Recurring Plans`
|
||||
dashboard, to reveal a blank form where the plan :guilabel:`Name`, :guilabel:`DETAILS`,
|
||||
:guilabel:`SELF-SERVICE` and :guilabel:`Pricing` field values are specified.
|
||||
|
||||
.. image:: subscriptions/recurring-plan-blank-form.png
|
||||
:alt: A blank recurring plan form in the Odoo Subscriptions application.
|
||||
|
||||
.. important::
|
||||
The `Days` unit of measure *cannot* be used as a :guilabel:`Billing Period` for subscription
|
||||
products. The daily recurrence period in Odoo is designated for rentals, and **cannot** be added
|
||||
to subscription-based sales orders.
|
||||
|
||||
This limitation is there to avoid sales orders that would generate daily invoices.
|
||||
|
||||
DETAILS section
|
||||
---------------
|
||||
|
||||
After giving the recurring plan a suitable :guilabel:`Name` (e.g. `Monthly`, `Bi-weekly`,
|
||||
`Quarterly`, etc.), proceed to the form's :guilabel:`DETAILS` section to fill out the following
|
||||
configuration fields:
|
||||
|
||||
- :guilabel:`Billing Period`: determines the recurrence period of the recurring plan. Set the
|
||||
numerical value in the text field and contextualize the quantity with a unit of time in the
|
||||
corresponding drop-down menu, in :guilabel:`Weeks`, :guilabel:`Months`, or :guilabel:`Years`.
|
||||
- :guilabel:`Automatic Closing`: a numerical value, in days, where the subscription is set to close
|
||||
automatically if payment is not made.
|
||||
|
||||
.. example::
|
||||
If a subscription is set to renew on the 1st of every month, and the :guilabel:`Automatic
|
||||
Closing` value is set to `15` :guilabel:`Days`, then the subscription will close on the 16th of
|
||||
that month if payment is not received.
|
||||
|
||||
- :guilabel:`Align to Period Start`: optionally force new and recurring subscription renewal dates
|
||||
under this plan to the first day of what is defined in the :guilabel:`Billing Period`.
|
||||
- :guilabel:`Company`: optional assignment, if the database has :doc:`Multi-company
|
||||
<../general/multi_company>` functionality enabled. Assigning this value will make the recurring
|
||||
plan available for that company's location, specifically.
|
||||
- :guilabel:`Invoice Email Template`: assigns a specific email template to be used in subscriptions
|
||||
invoicing communications. The default assignment here is `Invoice: Sending` which contains various
|
||||
dynamic fields that autopopulate specific variables across the :guilabel:`Subject` field and
|
||||
:guilabel:`Content` tab, such as the customer's name, invoice number, total amount invoiced, etc.
|
||||
|
||||
.. tip::
|
||||
Although this field is optional, it is recommended to use it since this type of communication
|
||||
fulfills good business practices around price transparency, regular customer communication
|
||||
(especially as it relates to charged amounts), and helps build contextual financial
|
||||
documentation around recurring revenues.
|
||||
|
||||
.. figure:: subscriptions/subscriptions-invoice-email-template.png
|
||||
:alt: An email template in Odoo used to send subscriptions invoicing messages to customers.
|
||||
|
||||
The `Invoice: Sending` email template is accessible by clicking the :icon:`fa-arrow-right`
|
||||
(:guilabel:`Internal link`) that appears after hovering over the :guilabel:`Invoice Email
|
||||
Template` drop-down field in the :guilabel:`Recurring Plans` form.
|
||||
|
||||
SELF-SERVICE section
|
||||
--------------------
|
||||
|
||||
The following optional fields enable customers to take administrative actions on their own
|
||||
subscriptions. Enabling any of these options may decrease customer service request volume or
|
||||
increase customer lifetime value (LTV).
|
||||
|
||||
- :guilabel:`Closable`: checking this box will give customers the power to close their own
|
||||
subscriptions. Consider enabling this option to reduce customer service requests and improve the
|
||||
overall customer experience; customers that can manage their own subscriptions in this way helps
|
||||
offload tedious tasks for sales and support teams, and reduces the likelihood of negative reviews.
|
||||
|
||||
.. tip::
|
||||
Although this option is generally advisable to enable, sales teams with strong customer
|
||||
offboarding processes may consider leaving this option unchecked in order to force an
|
||||
interaction that might save the subscription or a different form of recurring revenue (such as
|
||||
in the case of a lesser subscription or a new trial period with an alternative plan).
|
||||
|
||||
- :guilabel:`Add Products`: allows customers to add new products or edit existing product quantities
|
||||
to their recurring sales orders, thereby enabling customer-driven upselling. When enabled,
|
||||
:doc:`Upsell quotations <subscriptions/upselling>` are generated in Odoo whenever a customer
|
||||
performs a quantitative adjustment on their sales order product lines.
|
||||
|
||||
- :guilabel:`Renew`: enabling this allows customers to manually create a :doc:`Renewal quotation
|
||||
<subscriptions/renewals>` for their subscription.
|
||||
- :guilabel:`Optional Plans`: adding values here from the drop-down field menu enables customers to
|
||||
switch their subscription plans, in which case a new subscription quotation or renewal quote is
|
||||
created to accommodate the change request.
|
||||
|
||||
Pricing tab
|
||||
-----------
|
||||
|
||||
Make product-specific pricing adjustments, as part of the recurring plan, by adding them to the
|
||||
:guilabel:`Pricing` tab order lines. Sequentially add the :guilabel:`Products`, along with any
|
||||
respective :guilabel:`Product Variants`, and then assign a :guilabel:`Pricelist` (if available) and
|
||||
a :guilabel:`Recurring Price`.
|
||||
|
||||
.. note::
|
||||
Price rules that are added here take precedent over the default pricing information on the
|
||||
subscription product's form. This is meant to accommodate deals, discounts, and similar pricing
|
||||
adjustment strategies that would incentivize customers to purchase the recurring plan.
|
||||
|
||||
Smart buttons
|
||||
-------------
|
||||
|
||||
At the top of the individual :guilabel:`Recurring Plans` form, are two smart buttons to aid in
|
||||
navigating the recurring revenue sources attached to the plan:
|
||||
|
||||
- :guilabel:`Subscriptions`: shows the number of active subscriptions sales orders that fall under
|
||||
the recurring plan. Clicking the button leads to a tabled list view, where each row hyperlinks to
|
||||
a respective subscriptions sales order.
|
||||
- :guilabel:`Subscription Items`: lists all the individual recurring subscription services that are
|
||||
active, in an itemized fashion. :guilabel:`Subscription` and :guilabel:`Customer` values will
|
||||
repeat it the customer ordered multiple subscriptions on the same sales order.
|
||||
|
||||
Product form configuration
|
||||
==========================
|
||||
|
||||
With recurring plans set up, create a subscription product by navigating to
|
||||
:menuselection:`Subscriptions app --> Products --> Products`, and click either an existing product
|
||||
to edit, or make a new one by clicking :guilabel:`New` to open up the subscription product's form.
|
||||
|
||||
.. note::
|
||||
By default, the :guilabel:`Subscriptions` option is already enabled, prompting Odoo to recognize
|
||||
it as a subscription product. Be sure to leave the :guilabel:`Subscriptions` and
|
||||
:guilabel:`Sales` options enabled.
|
||||
|
||||
.. image:: subscriptions/subscription-product-form.png
|
||||
:alt: A basic subscription product form in Odoo Subscriptions application.
|
||||
|
||||
On the product form, configure the following items in the :guilabel:`General Information` tab so the
|
||||
subscription product will function correctly:
|
||||
|
||||
- :guilabel:`Product type`: this value is typically set to a :guilabel:`Service`, however other
|
||||
product types may be used depending on the purpose of the subscription (e.g., physical product box
|
||||
subscriptions, eLearning course with supplemental physical goods, etc.).
|
||||
- :doc:`Invoicing policy <sales/invoicing/invoicing_policy>`: set this value to when the customer
|
||||
should be charged for their subscription.
|
||||
- :guilabel:`Unit of Measure`: how the product should be counted in Odoo, for stock purposes. For
|
||||
most subscriptions, the :abbr:`UoM (Unit of Measure)` will be :guilabel:`Units`.
|
||||
- :guilabel:`Sales Price`: enter the recurring cost of the subscription that the customer will pay
|
||||
per recurrence period.
|
||||
|
||||
Optionally set up information on the:
|
||||
|
||||
- :guilabel:`Create on Order` field: this enables secondary actions in Odoo such as creating a new
|
||||
:guilabel:`Task` in a chosen :guilabel:`Project` :icon:`fa-building-o`, :guilabel:`Event
|
||||
Registration` or :guilabel:`Course Access`. If none of the selectable actions in this field's
|
||||
drop-down menu are needed, then choose :guilabel:`Nothing` for the field' value.
|
||||
- :doc:`Attributes & Variants <sales/products_prices/products/variants>` tab if the subscription
|
||||
contains multiple choices for customers (i.e. food delivery, tailored fashion boxes, etc.).
|
||||
- :guilabel:`Purchase` tab if the product is sourced from a vendor, such as part of reseller
|
||||
(retail) or subcontracting operations.
|
||||
|
||||
In the :guilabel:`Recurring Prices` tab, clarify the pricing options for the subscription. For each
|
||||
option available, click :guilabel:`Add a price rule` to add a new row.
|
||||
|
||||
.. tip::
|
||||
Longer time :guilabel:`Recurring Plan` time periods are typically incentivized with cost savings.
|
||||
Consider dropping the total :guilabel:`Recurring Price` values to offer customers a discount
|
||||
while supporting the business's financial runway.
|
||||
|
||||
Last, if the subscription is meant to be sold on the **eCommerce** website, click the
|
||||
:icon:`fa-globe` :menuselection:`Go To Website` smart button and in the product page header, click
|
||||
the gray slider from :guilabel:`Unpublished` to the green :guilabel:`Published` status.
|
||||
|
||||
.. _subscriptions/quotations:
|
||||
|
||||
Subscription quotations
|
||||
=======================
|
||||
Create a subscriptions quotation
|
||||
================================
|
||||
|
||||
Manually create a new customer subscription by navigating to either the :menuselection:`Sales` or
|
||||
:menuselection:`Subscriptions` app dashboards, and then clicking :guilabel:`New`.
|
||||
|
||||
.. note::
|
||||
Products that have been marked as :guilabel:`Subscriptions` on their product forms, and are also
|
||||
sold on the **eCommerce** website will *automatically* create and confirm subscription quotations
|
||||
in the backend of Odoo.
|
||||
|
||||
.. important::
|
||||
Sales orders with a defined recurrence become subscriptions.
|
||||
Sales orders with a defined recurring plan automatically become subscriptions.
|
||||
|
||||
To create a new subscription, click on :guilabel:`New` from the *Subscription* or the :doc:`Sales
|
||||
</applications/sales>` app. You can either:
|
||||
On the quotation form, fill in the necessary fields such as :guilabel:`Customer` and
|
||||
:guilabel:`Recurring Plan`, as well as the :guilabel:`Order Lines` tab.
|
||||
|
||||
- Select a :doc:`subscription plan </applications/sales/subscriptions/plans>` to prefill the
|
||||
quotation instantly, or
|
||||
- Fill out the quotation normally, making sure to select a recurrence and an end date if necessary
|
||||
and adding :doc:`recurrent products </applications/sales/subscriptions/products>`.
|
||||
Optionally, specify a:
|
||||
|
||||
- :doc:`Quotation Template <sales/sales_quotations/quote_template>`, if one is readily available to
|
||||
help populate the form fields.
|
||||
- :guilabel:`Expiration` date, to indicate when the subscription offer is no longer valid.
|
||||
|
||||
.. tip::
|
||||
Expiration dates pair well with :doc:`discounts <sales/products_prices/prices/discounts>` to
|
||||
incentivize faster purchases, since the discount will expire with the quotation if it's not
|
||||
turned into a sales order within the specified date range.
|
||||
|
||||
- :doc:`Pricelist <sales/products_prices/prices/pricing>`, if one is available and appropriate to
|
||||
use (i.e., summer sale discount, VIP customer, etc.).
|
||||
- :guilabel:`Payment Terms`, to set a specified time window for when the subscription must be paid.
|
||||
This is not to be confused for when the quotation is *confirmed* and becomes a sales order, to
|
||||
where, payment may then be obtained immediately or within a certain amount of days, weeks, months,
|
||||
etc.
|
||||
|
||||
.. image:: subscriptions/new-subscription-form.png
|
||||
:alt: A completed example of a new subscription quotation in Odoo.
|
||||
|
||||
.. tip::
|
||||
You can define different invoice and delivery addresses by enabling the :doc:`Customer Addresses
|
||||
Define different invoice and delivery addresses by enabling the :doc:`Customer Addresses
|
||||
</applications/finance/accounting/customer_invoices/customer_addresses>` feature.
|
||||
|
||||
.. _subscriptions/confirmation:
|
||||
@@ -48,32 +269,16 @@ To create a new subscription, click on :guilabel:`New` from the *Subscription* o
|
||||
Confirmation
|
||||
============
|
||||
|
||||
Send the quotation to the customer for confirmation by clicking on :guilabel:`Send by email`, or
|
||||
Send the quotation to the customer for confirmation by clicking on :guilabel:`Send By Email`, or
|
||||
confirm it immediately by clicking on :guilabel:`Confirm`.
|
||||
|
||||
.. tip::
|
||||
Click on :guilabel:`Customer Preview` to preview the customer portal where the customer can view
|
||||
their quotation, sign and pay it, and communicate with you.
|
||||
Click on :guilabel:`Preview` to preview the customer portal where the customer can view their
|
||||
quotation, sign and pay it, and communicate with you.
|
||||
|
||||
.. _subscriptions/automatic-payments:
|
||||
|
||||
Automatic payments
|
||||
==================
|
||||
|
||||
You can require the customer to set an automatic payment method and pre-pay the subscription's first
|
||||
occurrence before they can confirm their quotation. To do so, go to the :guilabel:`Other Info` tab
|
||||
of the quotation and check the :guilabel:`Payment` option in the :guilabel:`Online confirmation`
|
||||
field.
|
||||
|
||||
If you leave :guilabel:`Payment` unchecked, the customer doesn't have to pre-pay to start the
|
||||
subscription. This means that the payment is not automatic and that the customer must pay each
|
||||
invoice manually.
|
||||
|
||||
.. important::
|
||||
If the online confirmation requires a pre-payment, your customer can select only the
|
||||
:ref:`payment providers <payment_providers/supported_providers>` that have the :ref:`tokenization
|
||||
feature <payment_providers/tokenization>`. This ensures that the customer is automatically
|
||||
charged at each new period.
|
||||
If an :guilabel:`Online signature` or :guilabel:`Online payment` is required to confirm the
|
||||
quotation, set the checkboxes next to either (or both) of these labels in the :guilabel:`Other Info`
|
||||
tab, under the :guilabel:`SALES` section.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`/applications/finance/accounting/payments/online`
|
||||
@@ -82,7 +287,6 @@ invoice manually.
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
subscriptions/products
|
||||
subscriptions/ecommerce
|
||||
subscriptions/plans
|
||||
subscriptions/upselling
|
||||
|
||||
@@ -163,7 +163,6 @@ If :guilabel:`Create next activity` is selected in the :guilabel:`Action To Do`
|
||||
as the assignee(s) for the configured activity.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../subscriptions`
|
||||
- :doc:`plans`
|
||||
- :doc:`products`
|
||||
- :doc:`../../essentials/in_app_purchase`
|
||||
- :doc:`../subscriptions`
|
||||
- :doc:`plans`
|
||||
- :doc:`../../essentials/in_app_purchase`
|
||||
|
||||
@@ -104,4 +104,3 @@ In addition, the specified :guilabel:`Close Reason` appears on the subscription
|
||||
.. seealso::
|
||||
- :doc:`../subscriptions`
|
||||
- :doc:`plans`
|
||||
- :doc:`products`
|
||||
|
||||
@@ -5,14 +5,15 @@ Subscriptions in the eCommerce shop
|
||||
Subscription products can be sold in the Odoo *eCommerce* shop just like regular sales products.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`Configure subscription products </applications/sales/subscriptions/products>`
|
||||
- :doc:`Configure subscription products </applications/sales/subscriptions>`
|
||||
- :doc:`Product variants </applications/sales/sales/products_prices/products/variants>`
|
||||
|
||||
Selling eCommerce subscriptions
|
||||
===============================
|
||||
|
||||
:doc:`Configure the subscription product <products>` as a regular recurring sales product. To
|
||||
start selling the subscription in the eCommerce shop, click the :guilabel:`Go to Website` smart
|
||||
button to navigate to the product page.
|
||||
:doc:`Configure subscription products </applications/sales/subscriptions>` as a regular recurring
|
||||
sales product. To start selling the subscription in the eCommerce shop, click the :guilabel:`Go to
|
||||
Website` smart button to navigate to the product page.
|
||||
|
||||
From here, review the subscription product and its recurring periods. Then, toggle the switch in the
|
||||
upper-right corner from :guilabel:`Unpublished` to :guilabel:`Published`.
|
||||
|
||||
|
After Width: | Height: | Size: 49 KiB |
@@ -1,158 +0,0 @@
|
||||
=====================
|
||||
Subscription products
|
||||
=====================
|
||||
|
||||
By closely integrating with the Odoo *Sales* app, the *Subscriptions* app enables users to sell
|
||||
subscription products alongside regular sales products. While regular products are sold on a
|
||||
one-time basis, subscription products are sold on a renewing basis, generating recurring revenue.
|
||||
|
||||
In Odoo, subscription products are also called *recurring* products.
|
||||
|
||||
Configure recurrence periods
|
||||
============================
|
||||
|
||||
To get started with subscriptions, the *recurrence periods* must be properly configured, as needed.
|
||||
|
||||
Recurrence periods are the time periods in which subscriptions renew. They designate how often the
|
||||
customer pays for (and receives) subscription products.
|
||||
|
||||
To configure recurrence periods, go to :menuselection:`Subscriptions app --> Configuration -->
|
||||
Recurrence periods`.
|
||||
|
||||
.. image:: products/recurrence-periods-page.png
|
||||
:align: center
|
||||
:alt: The recurrence periods page in Odoo Subscriptions application.
|
||||
|
||||
The *Subscriptions* app comes with some basic recurrence periods already configured:
|
||||
|
||||
- :guilabel:`Monthly`
|
||||
- :guilabel:`Quarterly`
|
||||
- :guilabel:`Weekly`
|
||||
- :guilabel:`2 Weeks`
|
||||
- :guilabel:`Yearly`
|
||||
- :guilabel:`3 Years`
|
||||
- :guilabel:`5 Years`
|
||||
|
||||
New recurrence periods can be added and/or edited at any time.
|
||||
|
||||
To create a new recurrence period, click :guilabel:`New` on the :guilabel:`Recurrence Periods` page.
|
||||
Doing so reveals a blank recurrence period form.
|
||||
|
||||
.. image:: products/recurrence-period-form.png
|
||||
:align: center
|
||||
:alt: A recurrence period form in Odoo Subscriptions application.
|
||||
|
||||
Then, type in the :guilabel:`Name` and :guilabel:`Duration` of the recurrence period, and select the
|
||||
:guilabel:`Unit` that defines the duration.
|
||||
|
||||
.. important::
|
||||
The unit :guilabel:`Days` *cannot* be used as a recurrence period on subscriptions. The daily
|
||||
recurrence is meant for rentals, and **cannot** be added on recurring subscription sales orders.
|
||||
|
||||
This limitation is there to avoid sales orders that would generate daily invoices.
|
||||
|
||||
Product form configuration
|
||||
==========================
|
||||
|
||||
To create a new subscription product, navigate to :menuselection:`Subscriptions app --> Products -->
|
||||
Products`, and click :guilabel:`New`.
|
||||
|
||||
Doing so reveals a blank product form, which can be configured and customized in a number of ways.
|
||||
|
||||
.. note::
|
||||
By default, the :guilabel:`Recurring` option is already enabled, prompting Odoo to recognize it
|
||||
as a subscription product. Be sure to leave the :guilabel:`Recurring` and :guilabel:`Can be Sold`
|
||||
options enabled.
|
||||
|
||||
The :guilabel:`Product Type` field is set to :guilabel:`Service` by default, as well. However,
|
||||
subscription products *can* be set to other types, if needed.
|
||||
|
||||
.. important::
|
||||
When creating a physical subscription product in the Odoo **Sales** application, the
|
||||
:guilabel:`Invoicing Policy` must be set to :guilabel:`Ordered quantities`.
|
||||
|
||||
Setting it to :guilabel:`Delivered quantities` causes issues with invoice creation, and disrupts
|
||||
the subscription process.
|
||||
|
||||
Similarly, when creating a physical subscription product in the Odoo **Subscriptions**
|
||||
application, the :guilabel:`Invoicing Policy` must **not** be set to :guilabel:`Based on
|
||||
Delivered Quantity (Manual)` for the same reasons.
|
||||
|
||||
.. image:: products/subscription-product-form.png
|
||||
:align: center
|
||||
:alt: A basic subscription product form in Odoo Subscriptions application.
|
||||
|
||||
Time-based pricing
|
||||
------------------
|
||||
|
||||
Once the desired fields in the :guilabel:`General Information` tab have been entered, click the
|
||||
:guilabel:`Time-based pricing` tab on the product form.
|
||||
|
||||
.. image:: products/time-based-pricing-tab.png
|
||||
:align: center
|
||||
:alt: The time-based pricing tab on a subscription product form in Odoo Subscriptions.
|
||||
|
||||
From here, click :guilabel:`Add a price` to begin defining recurring prices.
|
||||
|
||||
In the :guilabel:`Period` column, select a desired recurrence period. In the :guilabel:`Pricelist`
|
||||
column, select a pricelist, if needed. Then, in the :guilabel:`Price` column, enter the price for
|
||||
that recurrence period.
|
||||
|
||||
.. note::
|
||||
:guilabel:`Daily` and :guilabel:`Hourly` periods **cannot** be used on recurring products.
|
||||
|
||||
.. image:: products/validation-error-popup.png
|
||||
:align: center
|
||||
:alt: The validation error pop-up window that appears in Odoo Subscriptions.
|
||||
|
||||
.. note::
|
||||
There is *no limit* to how many lines can be added to the :guilabel:`Time-based pricing` table.
|
||||
|
||||
.. tip::
|
||||
An existing product can be made into a subscription product, simply by marking it as
|
||||
:guilabel:`Recurring`, and configuring :guilabel:`Time-based pricing` on the product form.
|
||||
|
||||
Pricelists
|
||||
~~~~~~~~~~
|
||||
|
||||
:doc:`Pricelists <../sales/products_prices/prices/pricing>` can be used with subscription products
|
||||
to give special pricing to customers included in pricelists.
|
||||
|
||||
This can be configured either in the :guilabel:`Time-based pricing` tab of the product form, or on
|
||||
the pricelist form in the *Sales* application.
|
||||
|
||||
To create recurring price rules for specific pricelists in the :guilabel:`Time-based pricing` tab of
|
||||
the product form, select a pricelist in the :guilabel:`Pricelist` column.
|
||||
|
||||
.. image:: products/pricelist-time-based-pricing.png
|
||||
:align: center
|
||||
:alt: Pricelists in the "Time-based pricing" tab of the product form.
|
||||
|
||||
When pricelists are added to the :guilabel:`Time-based pricing` tab, the pricelist form in the
|
||||
*Sales* app is automatically updated.
|
||||
|
||||
Time-based pricing rules can also be configured directly on the pricelist form.
|
||||
|
||||
To do this, go to :menuselection:`Sales app --> Products --> Pricelists`, and select a pricelist (or
|
||||
click :guilabel:`New` to create a new pricelist).
|
||||
|
||||
.. note::
|
||||
Pricelists are also accessible through the Odoo *Subscriptions* app by following the same menu
|
||||
steps.
|
||||
|
||||
Then, on the pricelist form, under the :guilabel:`Time-based rules` tab, click :guilabel:`Add a
|
||||
line`.
|
||||
|
||||
.. image:: products/pricelist-form-time-based-rules-tab.png
|
||||
:align: center
|
||||
:alt: The time-based rules tab on a pricelist form in Odoo Sales.
|
||||
|
||||
Then, select a subscription product in the :guilabel:`Products` column, and select a recurrence
|
||||
period in the :guilabel:`Period` column. Lastly, enter a :guilabel:`Price` for that particular
|
||||
product and period. Add as many lines as needed.
|
||||
|
||||
When :guilabel:`Time-based rules` are added to the pricelist form, the :guilabel:`Time-based
|
||||
pricing` tab of the product form is automatically updated.
|
||||
|
||||
.. seealso::
|
||||
:doc:`ecommerce`
|
||||
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 9.1 KiB |
|
Before Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 6.4 KiB |
|
After Width: | Height: | Size: 22 KiB |
@@ -127,4 +127,3 @@ related to this specific subscription.
|
||||
.. seealso::
|
||||
- :doc:`../subscriptions`
|
||||
- :doc:`plans`
|
||||
- :doc:`products`
|
||||
|
||||
@@ -402,4 +402,3 @@ Analysis` reporting page are:
|
||||
.. seealso::
|
||||
- :doc:`../subscriptions`
|
||||
- :doc:`plans`
|
||||
- :doc:`products`
|
||||
|
||||
@@ -185,5 +185,4 @@ For example, if the next invoice date is July 1st, and the :guilabel:`Automatic
|
||||
.. seealso::
|
||||
- :doc:`../subscriptions`
|
||||
- :doc:`plans`
|
||||
- :doc:`products`
|
||||
- :doc:`automatic_alerts`
|
||||
|
||||
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 28 KiB |
@@ -106,4 +106,3 @@ Status`.
|
||||
.. seealso::
|
||||
- :doc:`../subscriptions`
|
||||
- :doc:`plans`
|
||||
- :doc:`products`
|
||||
|
||||
@@ -162,6 +162,7 @@ applications/sales/subscriptions/sales_flow/closing.rst applications/sales/subsc
|
||||
applications/sales/subscriptions/sales_flow/create_a_quotation.rst applications/sales/subscriptions.rst # subscriptions/sales_flow/create_a_quotation --> subscriptions
|
||||
applications/sales/subscriptions/sales_flow/renewals.rst applications/sales/subscriptions/renewals.rst # sales_flow/* --> *
|
||||
applications/sales/subscriptions/sales_flow/upselling.rst applications/sales/subscriptions/upselling.rst # sales_flow/* --> *
|
||||
applications/sales/subscriptions/products.rst applications/sales/subscriptions.rst # subscriptions/products --> subscriptions
|
||||
|
||||
# applications/services
|
||||
|
||||
|
||||