diff --git a/content/applications/sales/point_of_sale/pricing/pricelists.rst b/content/applications/sales/point_of_sale/pricing/pricelists.rst index 3b25317e7..921576472 100644 --- a/content/applications/sales/point_of_sale/pricing/pricelists.rst +++ b/content/applications/sales/point_of_sale/pricing/pricelists.rst @@ -2,45 +2,133 @@ Pricelists ========== -You probably know the concept of happy hour: during a certain period of -time, the barman gives a discount on some drinks (usually 50% off or a -buy one get one free). When the period is over, prices go back to -normal. But how does that relate with Odoo? +Pricelists allow you to adjust product prices depending on various criteria automatically. For +example, you can set POS-specific prices, create temporary discount periods, reward specific +customers, or offer discounts when set quantities are ordered. -In Odoo, you can set up happy hours. It’s one of the many possible uses -of *Pricelists*. Those *Pricelists* allow the creation of -multiple prices for the same product: a regular one and a special one -for happy hours. Available in the *PoS* app, those are really -convenient. +.. _pricelists/configuration: -Set up Pricelists -================= +Configuration +============= -To set up a *Pricelist*, go to :menuselection:`Point of Sale --> Configuration --> Configuration` -and enable the *Pricelist* feature. Then, go to :menuselection:`Point of Sale --> Configuration ---> Point of Sale` and enable *Pricelist* for the *PoS*. +Navigate to the :ref:`general POS app settings ` and ensure +:guilabel:`Pricelists` are enabled under the :guilabel:`Pricing` section. -.. image:: pricelists/pricelists_01.png - :align: center +:ref:`Multiple prices per product ` is the default pricelist option for setting +simple fixed price rules per product. Select :ref:`Advanced price rules (discounts, formulas) +` to apply price rules to multiple products at once and to compute prices +dynamically using percentage discounts or more complex formulas in addition to setting fixed prices. -Now, you can create *Pricelists* by clicking on the *Pricelists* link. -Then, set it up by choosing the product category you want to include in your happy hour -and the discount. +.. image:: pricelists/settings.png + :alt: Enabling pricelists in the general P0S settings -.. image:: pricelists/pricelists_02.png - :align: center +.. note:: + The selected pricelist type applies to the entire database, including the :doc:`Sales + <../../sales/products_prices/prices/pricing>` and :ref:`eCommerce ` + apps. -Go back to your *PoS* settings and add the Happy Hour pricelist to the -list. You can even choose a default pricelist if needed. +.. _pricelists/create: -.. image:: pricelists/pricelists_03.png - :align: center +Create pricelists +----------------- -From now on, on the *PoS* interface, a new button is available, allowing you to choose -among the different *pricelists* you added before. +Go to :menuselection:`Point of Sale --> Products --> Pricelists` and click :guilabel:`Create` or +select an existing pricelist. The pricelist setup differs depending on the :ref:`selected pricelist +option `. -.. image:: pricelists/pricelists_04.png - :align: center +.. _pricelists/simple: + +Multiple prices per product +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +When pricelists are configured to use the :guilabel:`Multiple prices per product` option, it is +possible to use multiple fixed prices for different products or their variants depending, if +necessary, on one or several conditions. To add a new price rule to a pricelist: + +#. Click :guilabel:`Add a line`, and select a **product** and its **variant** if needed. +#. Add the condition(s): + + - a product quantity to be reached by using the :guilabel:`Min. Quantity` column; + - a determined period during which the pricelist is applied by using the :guilabel:`Start Date` + and :guilabel:`End Date` columns. + +#. Add the :guilabel:`Price` to be applied when the conditions are met (if any). + +.. image:: pricelists/multiple-prices.png + :alt: Setup form of a multiple prices pricelist + +.. _pricelists/advanced: + +Advanced price rules +~~~~~~~~~~~~~~~~~~~~ + +When pricelists are configured to use the :guilabel:`Advanced price rules (discounts, formulas)` +option, it is possible to use percentage discounts/mark-ups and formulas in addition to using fixed +prices. To add a new price rule to a pricelist, click :guilabel:`Add a line`. In the pop-up windows: + +#. Select a :guilabel:`Computation` method: + + - :guilabel:`Fixed Price` to set a new fixed price (similarly to the :guilabel:`Multiple prices + per product` option). + - :guilabel:`Discount` to compute a percentage discount (e.g., `10.00` %) or mark-up (e.g., + `-10.00` %). + - :guilabel:`Formula` to compute the price according to a formula. It is required to define what + the calculation is **based on** (:guilabel:`Sales Price`, :guilabel:`Cost`, or :guilabel:`Other + Pricelist`). You can then: + + - Apply a percentage :guilabel:`Discount` or mark-up. + - Add an :guilabel:`Extra Fee` (e.g., $ `5.00`) or subtract a fixed amount (e.g., $ `-5.00`). + - Define a :doc:`Rounding Method ` by forcing the price after + :guilabel:`Discount` to be a multiple of the value set. The :guilabel:`Extra Fee` is applied + afterward. + + .. example:: + To have the final price end with `.99`, set the :guilabel:`Rounding Method` to `1.00` and + the :guilabel:`Extra Fee` to `-0.01`. + + - Specify the minimum (e.g., $ `20.00` ) and maximum (e.g., $ `50.00` ) profit + :guilabel:`Margins` for computations based on :guilabel:`Cost`. + +#. Select on which product(s) the price rule should be **applied**: + + - :guilabel:`All Products` + - a :guilabel:`Product Category` + - a :guilabel:`Product` + - a :guilabel:`Product Variant` + +#. Add conditions, such as a specific quantity to reach for the price to change by using the + :guilabel:`Min. Quantity` field or a specific period during which the pricelist should be + applied by using the :guilabel:`Validity` fields. + +.. image:: pricelists/price-rules.png + :alt: Setup form to configure an advanced pricelist + +Select pricelists +----------------- + +Go to the :ref:`specific POS settings ` to set its :guilabel:`Default +Pricelist`. + +To be able to choose between different pricelists during a POS session, enable +:guilabel:`Advanced Pricelists` and add all the desired pricelists using the :guilabel:`Available` +field. + +When you :ref:`open a POS session `, click the **pricelists** button, and select +the desired pricelist from the list. + +.. image:: pricelists/pricelist-button.png + :alt: Button to select a pricelist on the POS frontend + +.. note:: + - Multiple pricelists must be selected for the **pricelist button** to be displayed. + - If a pricelist is selected on a POS order while its conditions are **not** met, the price will + **not** be adjusted. + +.. tip:: + You can also set a pricelist to be selected automatically once a specific :ref:`customer is set + `. To do so, go to the customer form and switch to the preferred pricelist in the + :guilabel:`Pricelist` field of the :guilabel:`Sales & Purchase` tab. .. seealso:: - * :doc:`../../sales/products_prices/prices/pricing` + - :doc:`../../sales/products_prices/prices/pricing` + - :ref:`How to use pricelists in a multi-website environment ` diff --git a/content/applications/sales/point_of_sale/pricing/pricelists/multiple-prices.png b/content/applications/sales/point_of_sale/pricing/pricelists/multiple-prices.png new file mode 100644 index 000000000..28cf57eb0 Binary files /dev/null and b/content/applications/sales/point_of_sale/pricing/pricelists/multiple-prices.png differ diff --git a/content/applications/sales/point_of_sale/pricing/pricelists/price-rules.png b/content/applications/sales/point_of_sale/pricing/pricelists/price-rules.png new file mode 100644 index 000000000..9c222b8d9 Binary files /dev/null and b/content/applications/sales/point_of_sale/pricing/pricelists/price-rules.png differ diff --git a/content/applications/sales/point_of_sale/pricing/pricelists/pricelist-button.png b/content/applications/sales/point_of_sale/pricing/pricelists/pricelist-button.png new file mode 100644 index 000000000..3b702580b Binary files /dev/null and b/content/applications/sales/point_of_sale/pricing/pricelists/pricelist-button.png differ diff --git a/content/applications/sales/point_of_sale/pricing/pricelists/pricelists_01.png b/content/applications/sales/point_of_sale/pricing/pricelists/pricelists_01.png deleted file mode 100644 index 7d35294e7..000000000 Binary files a/content/applications/sales/point_of_sale/pricing/pricelists/pricelists_01.png and /dev/null differ diff --git a/content/applications/sales/point_of_sale/pricing/pricelists/pricelists_02.png b/content/applications/sales/point_of_sale/pricing/pricelists/pricelists_02.png deleted file mode 100644 index ef820a2a7..000000000 Binary files a/content/applications/sales/point_of_sale/pricing/pricelists/pricelists_02.png and /dev/null differ diff --git a/content/applications/sales/point_of_sale/pricing/pricelists/pricelists_03.png b/content/applications/sales/point_of_sale/pricing/pricelists/pricelists_03.png deleted file mode 100644 index 7d64b3122..000000000 Binary files a/content/applications/sales/point_of_sale/pricing/pricelists/pricelists_03.png and /dev/null differ diff --git a/content/applications/sales/point_of_sale/pricing/pricelists/pricelists_04.png b/content/applications/sales/point_of_sale/pricing/pricelists/pricelists_04.png deleted file mode 100644 index 6ab412154..000000000 Binary files a/content/applications/sales/point_of_sale/pricing/pricelists/pricelists_04.png and /dev/null differ diff --git a/content/applications/sales/point_of_sale/pricing/pricelists/settings.png b/content/applications/sales/point_of_sale/pricing/pricelists/settings.png new file mode 100644 index 000000000..06f98e3b3 Binary files /dev/null and b/content/applications/sales/point_of_sale/pricing/pricelists/settings.png differ diff --git a/content/applications/websites/website/configuration/multi_website.rst b/content/applications/websites/website/configuration/multi_website.rst index 245a24af0..ea5fc87ce 100644 --- a/content/applications/websites/website/configuration/multi_website.rst +++ b/content/applications/websites/website/configuration/multi_website.rst @@ -257,6 +257,8 @@ Each kit will link each published “virtual” product to the main reference managed in your inventory. That way, any item sold from your website will be converted into the storable item in the delivery order. +.. _multi_website/pricelists: + Pricelists ----------