Skip to content

Commit

Permalink
[IMP] pos: update content of the pricelists page
Browse files Browse the repository at this point in the history
task-3005170

closes #5688

Signed-off-by: Xavier Platteau (xpl) <[email protected]>
  • Loading branch information
LoredanaLrpz authored and xpl-odoo committed Oct 12, 2023
1 parent 56b6471 commit 202928c
Show file tree
Hide file tree
Showing 10 changed files with 120 additions and 30 deletions.
148 changes: 118 additions & 30 deletions content/applications/sales/point_of_sale/pricing/pricelists.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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 <configuration/settings>` and ensure
:guilabel:`Pricelists` are enabled under the :guilabel:`Pricing` section.

.. image:: pricelists/pricelists_01.png
:align: center
:ref:`Multiple prices per product <pricelists/simple>` is the default pricelist option for setting
simple fixed price rules per product. Select :ref:`Advanced price rules (discounts, formulas)
<pricelists/advanced>` 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 <multi_website/pricelists>`
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 <pricelists/configuration>`.

.. 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 <cash_rounding>` 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 <configuration/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 <pos/session-start>`, 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
<pos/customers>`. 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 <multi_website/pricelists>`
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -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
----------

Expand Down

0 comments on commit 202928c

Please sign in to comment.