diff --git a/content/applications/sales/subscriptions/products.rst b/content/applications/sales/subscriptions/products.rst index 1739641af..72bcc00a0 100644 --- a/content/applications/sales/subscriptions/products.rst +++ b/content/applications/sales/subscriptions/products.rst @@ -1,61 +1,106 @@ -================== -Recurring products -================== +===================== +Subscription products +===================== -When creating a subscription, at least one product on the order lines must be configured as -:ref:`recurring `. +By integrating closely 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. -If a single product is sold using more than one recurrence period, configure the product's -:ref:`time-based pricing ` to automatically adapt the unit -price on the subscription based on the recurrence set. +In Odoo, subscription products are also called *recurring* products. -.. _subscriptions/product/recurring: +Configure recurrence periods +============================ -Configuration -============= +To get started with subscriptions, first make sure that the *recurrence periods* are configured as +needed. -To create a recurring product, go to :menuselection:`Subscriptions --> Subscriptions --> Products` -and click :guilabel:`New`. Choose a :guilabel:`Product Name` and leave :guilabel:`Recurring` and -:guilabel:`Can be Sold` enabled. +Recurrence periods are the time periods in which subscriptions renew. They designate how often the +customer pays for (and receives) subscription products. -.. _subscriptions/product/time-based-pricing: +To configure recurrence periods, go to :menuselection:`Subscriptions --> Configuration --> +Recurrence Periods`. + +The *Subscriptions* app comes with some basic recurrence periods already configured: Daily, Monthly, +Quarterly, Weekly, Yearly, 3 Years, and 5 Years. These can be edited as needed, and any number of +new recurrence periods can be added. + +To create a new recurrence period, click :guilabel:`New` on the recurrence periods dashboard. Then, +type in the :guilabel:`Name` and :guilabel:`Duration` of the recurrence period, and select the +:guilabel:`Unit` that defines the duration. + +.. example:: + To create a recurrence period for a subscription that will renew every two weeks, set the + :guilabel:`Duration` to `2` and the :guilabel:`Unit` to `Weeks`. + + .. image:: products/recurrence-period-form.png + :align: center + :alt: A recurrence period of 2 weeks. + +Configure the product form +========================== + +To create a new subscription product, navigate to the :menuselection:`Subscriptions` app. Then go to +:menuselection:`Subscriptions --> Products`, and click :guilabel:`New` to create a new product. +Enter a :guilabel:`Product Name`. + +The :guilabel:`Product Type` for the new product is automatically set to :guilabel:`Service`. +Subscription products can be set to other types as well; however, they currently *cannot* be set to +:guilabel:`Storable Product`. + +The new product automatically has the :guilabel:`Recurring` checkbox activated. This enables Odoo to +recognize it as a subscription product. Be sure to leave the :guilabel:`Recurring` and +:guilabel:`Can be Sold` options enabled. + +.. image:: products/recurring-product-form.png + :align: center + :alt: The "Recurring" checkbox on the product form. Time-based pricing ------------------ -To set a recurring product's time-based pricing, go to :menuselection:`Subscriptions --> -Subscriptions --> Products`, select a product, and open the :guilabel:`Time-based pricing` tab. -Click :guilabel:`Add a price`, select a :guilabel:`Period`, and set a :guilabel:`Price`. Add as many -prices as needed. +Next, configure the :guilabel:`Time-based pricing` tab on the product form. + +Click :guilabel:`Add a price` to begin defining recurring prices. In the :guilabel:`Period` column, +select a recurrence period. 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. -.. _subscriptions/product/pricelists: +Add as many lines as needed to the :guilabel:`Time-based pricing` table. + +.. note:: + 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. + + A subscription product can still be sold as a regular product by adding it to a quotation and + *not* selecting a :guilabel:`Recurrence` on the quotation. Pricelists ~~~~~~~~~~ -:doc:`Pricelists <../sales/products_prices/prices/pricing>` can be used with recurring products. To -do so, go to :menuselection:`Sales --> Products --> Pricelists`, click :guilabel:`New`, name the -pricelist, and open the :guilabel:`Time-based rules` tab. Click :guilabel:`Add a line`, select a -:guilabel:`Period`, and set a :guilabel:`Price`. Add as many lines as needed. Once done, the -product's :ref:`time-based pricing ` tab is automatically -updated. +Use :doc:`pricelists ` 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* app. -.. _subscriptions/product/ecommerce: +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. -eCommerce -~~~~~~~~~ +.. image:: products/pricelist-time-based-pricing.png + :align: center + :alt: Pricelists in the "Time-based pricing" tab of the product form. -When a recurring product uses :ref:`time-based pricing `, -only the shortest period is used on the eCommerce product page by default. +When pricelists are added to the :guilabel:`Time-based pricing` tab, the pricelist form in the +*Sales* app is automatically updated. -To let the customer select the period, go to :menuselection:`Subscriptions --> Subscriptions --> -Products`, select a product, and open the :guilabel:`Attributes & Variants` tab. Name the -:guilabel:`Attribute`, create :guilabel:`Values` for the different periods that should be available, -and save manually. Open the :guilabel:`Time-based pricing` tab and select the correct -:guilabel:`Product Variants` for each :guilabel:`Period`. +Time-based pricing rules can also be configured directly on the pricelist form. To do this, go to +:menuselection:`Sales --> Products --> Pricelists` and select a pricelist (or click :guilabel:`New` +to create a new pricelist). In the :guilabel:`Time-based rules` tab, click :guilabel:`Add a line`. -.. seealso:: - :doc:`../../websites/ecommerce/managing_products/variants` +Then, select a subscription product in the :guilabel:`Products` column, and select a recurrence +period in the :guilabel:`Period` column. 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. diff --git a/content/applications/sales/subscriptions/products/pricelist-time-based-pricing.png b/content/applications/sales/subscriptions/products/pricelist-time-based-pricing.png new file mode 100644 index 000000000..ef561b256 Binary files /dev/null and b/content/applications/sales/subscriptions/products/pricelist-time-based-pricing.png differ diff --git a/content/applications/sales/subscriptions/products/recurrence-period-form.png b/content/applications/sales/subscriptions/products/recurrence-period-form.png new file mode 100644 index 000000000..fd3e94963 Binary files /dev/null and b/content/applications/sales/subscriptions/products/recurrence-period-form.png differ diff --git a/content/applications/sales/subscriptions/products/recurring-product-form.png b/content/applications/sales/subscriptions/products/recurring-product-form.png new file mode 100644 index 000000000..bef010731 Binary files /dev/null and b/content/applications/sales/subscriptions/products/recurring-product-form.png differ diff --git a/content/applications/sales/subscriptions/products/subscription-products-configuration.png b/content/applications/sales/subscriptions/products/subscription-products-configuration.png deleted file mode 100644 index 72bfb6805..000000000 Binary files a/content/applications/sales/subscriptions/products/subscription-products-configuration.png and /dev/null differ diff --git a/content/applications/sales/subscriptions/products/subscription-products-form.png b/content/applications/sales/subscriptions/products/subscription-products-form.png deleted file mode 100644 index 5aeebd055..000000000 Binary files a/content/applications/sales/subscriptions/products/subscription-products-form.png and /dev/null differ diff --git a/content/applications/sales/subscriptions/products/subscription-products-using-subscription-templates.png b/content/applications/sales/subscriptions/products/subscription-products-using-subscription-templates.png deleted file mode 100644 index cefa677f3..000000000 Binary files a/content/applications/sales/subscriptions/products/subscription-products-using-subscription-templates.png and /dev/null differ