[IMP] ecommerce/prices: update prices page

task-3711225

closes odoo/documentation#14937

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Larissa Manderfeld (lman) <lman@odoo.com>
This commit is contained in:
lman-odoo
2025-10-09 11:33:02 +02:00
parent 3fcea6f9ec
commit 3daa4bbc8d
23 changed files with 358 additions and 253 deletions

View File

@@ -118,6 +118,8 @@ Next, is the :guilabel:`Sales & Purchases` tab, which only appears when the *Sal
The :guilabel:`Fiscal Position` can be set on the :guilabel:`Sales & Purchases` tab. Select a
:guilabel:`Fiscal Position` from the drop-down menu.
.. _essentials/contacts/sales-section:
Sales section
~~~~~~~~~~~~~

View File

@@ -79,22 +79,6 @@ For the purpose of this documentation, we will use the above use case:
- but we want to sell it at 10€, tax included, in our shops or eCommerce website
.. _b2b_b2c/ecommerce:
eCommerce
---------
If you only use B2C or B2B prices on your website, simply select the appropriate setting in the
**Website** app settings.
If you have both B2B and B2C prices on a single website, please follow these instructions:
#. Activate the :ref:`developer mode <developer-mode>` and go to :menuselection:`General Settings
--> Users & Companies --> Groups`.
#. Open either `Technical / Tax display B2B` or `Technical / Tax display B2C`.
#. Under the :guilabel:`Users` tab, add the users requiring access to the price type. Add B2C users
in the B2C group and B2B users in the B2B group.
Setting your products
---------------------

View File

@@ -24,7 +24,7 @@ dynamically using percentage discounts or more complex formulas in addition to s
.. note::
The selected pricelist type applies to the entire database, including the :doc:`Sales
<../../sales/products_prices/prices/pricing>` and :ref:`eCommerce <ecommerce/pricelists>`
<../../sales/products_prices/prices/pricing>` and :ref:`eCommerce <ecommerce/prices/pricelists>`
apps.
.. _pricelists/create:
@@ -128,4 +128,4 @@ the desired pricelist from the list.
.. seealso::
- :doc:`../../sales/products_prices/prices/pricing`
- :ref:`How to use pricelists in an ecommerce environment <ecommerce/pricelists>`
- :ref:`How to use pricelists in an ecommerce environment <ecommerce/prices/pricelists>`

View File

@@ -15,6 +15,8 @@ To begin using discount and loyalty programs, navigate to :menuselection:`Sales
Gift Card` setting by checking the box next to the feature. Finally, click :guilabel:`Save` to save
the changes.
.. _sales/products/loyalty-programs:
Configure discount and loyalty programs
=======================================

View File

@@ -159,6 +159,8 @@ and :guilabel:`...per Unit` fields to ensure all the auto-populated information
example, if the main currency is set to `USD`, the columns are titled :guilabel:`Unit per USD`
and :guilabel:`USD per Unit`.
.. _sales/products/currencies/currency-specific-pricelists:
Currency-specific pricelists
============================

View File

@@ -9,6 +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.
.. _sales/products/pricelist-configuration:
Configuration
=============
@@ -199,26 +201,10 @@ Lastly, configure a :guilabel:`Price` for the rental rule in the respective colu
.. image:: pricing/sales-pricelist-rental.png
:alt: The rental tab in a pricelist configuration form.
Ecommerce Tab
-------------
.. seealso::
:doc:`Ecommerce price configuration </applications/websites/ecommerce/products/prices>`
Under the :guilabel:`Ecommerce` tab, price rules can be configured for products sold on an
:doc:`Ecommerce website <../../../../websites/ecommerce/products>`.
To enable the pricelist to be visible, select the target website in the :guilabel:`Website` field.
The :guilabel:`Selectable` can be enabled to allow the customer to choose this pricelist.
Finally, promotional and loyalty codes can be added to the :guilabel:`E-commerce Promotional Code`
field.
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.
.. _sales/products/customer-pricelist-application:
Customer pricelist application
==============================
@@ -285,4 +271,4 @@ rule on a fresh form.
.. seealso::
- :doc:`/applications/sales/sales/products_prices/prices/currencies`
- :doc:`/applications/websites/ecommerce/products/price_management`
- :doc:`/applications/websites/ecommerce/products/prices`

View File

@@ -224,6 +224,8 @@ column.
Similar product variant creation processes are accessible through the Purchase, Inventory, and
eCommerce applications.
.. _products/variants/configure-variants:
Configure variants
------------------

View File

@@ -48,12 +48,8 @@ redirects users to the default contact form.
Removing the ability to add products to the cart is often used by businesses that want to display
an online catalog but cannot share prices publicly (e.g., to offer custom or variable pricing).
To do so, go to :menuselection:`Website --> Configuration --> Settings`. Under the
:guilabel:`eCommerce` section, enable :guilabel:`Prevent Sale of Zero Priced Product`, and enter
the redirect URL in the :guilabel:`Button URL` field.
Then, for all products that should display the :guilabel:`Contact Us` button, set their price to
`0` using the product form or a :doc:`pricelist <../../sales/sales/products_prices/prices/pricing>`.
To display the :guilabel:`Contact Us` button and a note saying `Not Available For Sale` , you need
to :ref:`hide your prices <ecommerce/prices/hide-prices>` on your product page.
.. image:: checkout/cart-contact-us.png
:alt: Contact us button on product page

View File

@@ -56,7 +56,7 @@ Linking Odoo to GMC
.. important::
To activate the :abbr:`GMC (Google Merchant Center)` integration in your Odoo database, at least
one :ref:`pricelist <ecommerce/pricelists>` must be assigned to your website.
one :ref:`pricelist <ecommerce/prices/pricelists>` must be assigned to your website.
#. Navigate to :menuselection:`Website --> Configuration --> Settings`, scroll to the
:guilabel:`SEO - Search Engine Optimization` section, and enable
@@ -106,8 +106,8 @@ Currencies
It is also possible to create different feeds for different currencies, which allows customers
to view prices in their local currency. To enable this feature, create a :ref:`pricelist
<ecommerce/pricelists>` with the foreign currency in Odoo. Then, go to the :guilabel:`Products` tab
in :abbr:`GMC`, click :guilabel:`Manage
<ecommerce/prices/pricelists>` with the foreign currency in Odoo. Then, go to the
:guilabel:`Products` tab in :abbr:`GMC`, click :guilabel:`Manage
product sources`, and choose a :guilabel:`Products source`. Navigate to the
:guilabel:`Data source setup` tab, click :guilabel:`Show advanced options`, and choose a
:guilabel:`Currency`.

View File

@@ -86,6 +86,8 @@ tab, scroll down to the :guilabel:`Ecommerce description` section, and add a des
.. tip::
Click the :guilabel:`Go to Website` smart button to return to the frontend product's page.
.. _ecommerce/products/product-presentation:
Product presentation
--------------------
@@ -120,7 +122,7 @@ Use the :guilabel:`Customize` tab to modify the page layout or add features:
they want to purchase.
- :guilabel:`Tax Indication`: Toggle the switch to indicate if the price is
:ref:`VAT included or excluded <ecommerce-price-management-tax-display>`.
:ref:`VAT included or excluded <ecommerce/prices/taxes>`.
- :guilabel:`Variants`: Show all possible product :ref:`variants
<ecommerce/products/product-variants>` vertically as a :guilabel:`Products List`
@@ -392,5 +394,5 @@ Configuration --> Settings`, scroll down to the :guilabel:`Shop - Products` sect
:titlesonly:
products/catalog
products/price_management
products/prices
products/cross_upselling

View File

@@ -1,201 +0,0 @@
================
Price management
================
Odoo offers multiple options to select the prices displayed on a website, as well as
condition-specific prices based on set criteria.
Taxes
=====
Tax configuration
-----------------
To add a tax on a product, you can either set a tax in the :guilabel:`Customer Taxes` field of the
**product template** or use :doc:`fiscal positions
</applications/finance/accounting/taxes/fiscal_positions>`.
.. seealso::
- :doc:`/applications/finance/accounting/taxes`
- :doc:`/applications/finance/accounting/taxes/avatax`
- :doc:`/applications/finance/accounting/taxes/fiscal_positions`
.. _ecommerce-price-management-tax-display:
Tax display
-----------
Choosing the displayed price tax usually depends on a country's regulations or the type of customers
**(B2B vs. B2C)**. To select the type of price displayed, go to :menuselection:`Website -->
Configuration --> Settings`, scroll down to the :guilabel:`Shop - Products` category, and select
:guilabel:`Tax Excluded` or :guilabel:`Tax Included`.
- :guilabel:`Tax Excluded`: the price displayed on the website is **tax-excluded**, and the tax is
computed at the cart-review step;
- :guilabel:`Tax Included`: the price displayed on the website is **tax-included**.
.. note::
This setting is website specific, and therefore can be altered for each website within a
database.
To display the type of pricing next to the product price, navigate to :menuselection:`Website -->
Site --> Homepage --> Shop`, select a product, then click :guilabel:`Edit` and, in the
:guilabel:`Customize` tab, enable :guilabel:`Tax Indication`.
.. image:: price_management/price-tax-display-type.png
:alt: Tax type displayed on the product page.
.. seealso::
:doc:`/applications/finance/accounting/taxes/B2B_B2C`
Price per unit
==============
It is possible to display a :doc:`price per unit
<../../../inventory_and_mrp/inventory/product_management/configure/uom>` on the product page. To do
that, go to :menuselection:`Website --> Configuration --> Settings` and enable :guilabel:`Product
Reference Price` under the :guilabel:`Shop - Products` section. When enabled, ensure an amount is
set in the :guilabel:`Base Unit Count` field of the product template, and in the :guilabel:`Sales
Price` field.
.. image:: price_management/price-cost-per-unit.png
:alt: Cost per unit pricing on the product template.
The price per unit of measure can be found above the :guilabel:`Add to Cart` button on the product
page.
.. image:: price_management/price-cost-per-unit-page.png
:alt: Cost per unit pricing on the product page.
.. note::
Pay attention that having the price per unit may be **mandatory** in some countries.
.. seealso::
:doc:`../../../inventory_and_mrp/inventory/product_management/configure/uom`
.. _ecommerce/pricelists:
Pricelists
==========
Pricelists are the primary tool to manage prices on an eCommerce website. They make it possible to
define website-specific prices - different from the price on the product template - based on the
country group, currency, minimum quantity, period, or variant.
.. seealso::
:doc:`/applications/sales/sales/products_prices/prices/pricing`
Understanding default pricelists
--------------------------------
The concept of a default pricelist in Odoo depends on the application being used. In the **Sales**
app, a customer's default pricelist is determined by their contact profile. If a pricelist is
manually assigned to a contact, the pricelist becomes their default. If no pricelist is assigned,
the default is the first pricelist listed.
In the **eCommerce** app,the default pricelist is assigned at the website level. However, it is
influenced by the user's login status and country group settings.
How pricelists are applied in eCommerce
---------------------------------------
If a portal user has a specific pricelist assigned to their contact profile, that pricelist is
applied to their purchase. However, if that pricelist is **not** assigned to the website they are
visiting, the user sees the website's default pricelist.
.. note::
The default website pricelist is the first available pricelist assigned to a website, without the
country group setting configured.
Public, non-logged in users, see the website's default pricelist.
If a pricelist includes a country group, Odoo checks the visitor's IP address and applies the
corresponding pricelist. If a visitor has a pricelist assigned in their contact profile, that
pricelist takes precedence over the country-based pricelist, unless the assigned pricelist has a
different country group.
.. example::
A customer from the United States visits the website. They do not have a portal account. The
:guilabel:`United States` pricelist is applied.
A different visitor, also from the United States, has the :guilabel:`Loyal Customer Discount`
pricelist assigned in their contact record. This assignment takes precedence over the country
group assignation, so the :guilabel:`Loyal Customer Discount` is applied.
.. image:: price_management/pricelists-example.png
:alt: An example of various pricelists assigned to a website.
Pricelist configuration
-----------------------
To activate pricelists, navigate to :menuselection:`Website --> Configuration --> Settings`, scroll
down to the :guilabel:`Shop - Products` section, enable the :guilabel:`Pricelist` feature, then
click :guilabel:`Save`. Once pricelists have been activated, go to :menuselection:`Website -->
eCommerce --> Pricelists` to configure them.
Preventing sales if price is zero
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The :guilabel:`Prevent Sale of Zero Priced Product` feature prevents customers from purchasing a
product if the sales price is listed as `0`. When this feature is enabled, instead of seeing
:guilabel:`Add to Cart` when attempting to purchase a product, they see :guilabel:`Contact Us`. This
feature is useful for companies that want to hide the prices of their products.
To utilize this feature, first navigate to :menuselection:`Website --> Configuration --> Settings`
and tick the :guilabel:`Prevent Sale of Zero Priced Product` checkbox, then click :guilabel:`Save`.
Next, create a pricelist that sets all product prices to `0`. Ensure the pricelist is assigned to
the correct website and is listed first among the website's pricelists.
Selectable pricelists
~~~~~~~~~~~~~~~~~~~~~
*Selectable pricelists* appear in the shop page's pricelist drop-down menu. When a pricelist is
designated as :guilabel:`Selectable`, it allows the customer to choose between available pricelists.
.. important::
If a pricelist is designated as :guilabel:`Selectable`, and is not assigned to a specific
website, then the pricelist is selectable on **all** websites.
If a pricelist is designated as :guilabel:`Selectable`, it appears in the drop-down menu next to the
search bar. However, if a pricelist does *not* appear in the drop-down menu, it may be for one of
the following reasons:
- If there is only one selectable pricelist, and the contact is assigned a pricelist, the drop-down
may not appear.
- If multiple selectable pricelists exist and match a visitor's country group, only those pricelists
are shown in the drop-down.
Foreign currency
----------------
If you are selling in **multiple currencies** and have pricelists in foreign currencies, customers
can select their corresponding pricelist anywhere on the :guilabel:`Shop` page from the drop-down
menu next to the search bar.
.. image:: price_management/price-pricelists.png
:alt: Pricelists selection.
.. seealso::
- :doc:`/applications/sales/sales/products_prices/prices/pricing`
- :doc:`/applications/sales/sales/products_prices/prices/currencies`
Permanent discount
==================
If you have permanently reduced the price of a product, a popular means to attract customers is the
**strikethrough** strategy. The strategy consists in displaying the previous price crossed out and
the **new discounted price** next to it.
.. image:: price_management/price-strikethrough.png
:alt: Price strikethrough.
To display a 'striked' price, enable the :guilabel:`Comparison Price` option under
:menuselection:`Website --> Configuration --> Settings --> Shop - Products category`. Then, head to
the product's template (:menuselection:`Website --> eCommerce --> Products`), and in the
:guilabel:`Compare to Price` field, enter the **new** price.
.. note::
If a pricelist contains a :ref:`Discount <sales/products/price-rules>` price type, the striked
price is visible to applicable customers. This is true even if the :guilabel:`Comparison Price`
feature has not been enabled.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1,330 @@
======
Prices
======
Odoo offers multiple options to configure prices on the ecommerce. For example, you can apply
:ref:`prices per unit <ecommerce/prices/price-per-unit>`, offer :ref:`discounts
<ecommerce/prices/discounts>`, and set up :ref:`pricelists <ecommerce/prices/pricelists>`.
.. _ecommerce/prices/taxes:
Taxes
=====
To add a tax on a product, you can either set a tax in the :guilabel:`Customer Taxes` field of the
**product template** or use :doc:`fiscal positions
</applications/finance/accounting/taxes/fiscal_positions>`.
.. seealso::
- :doc:`/applications/finance/accounting/taxes`
- :doc:`/applications/finance/accounting/taxes/avatax`
.. _ecommerce-price-management-tax-display:
Choosing the displayed price tax usually depends on a country's regulations or the type of customers
(B2B vs. B2C). To select the type of price displayed, go to :menuselection:`Website -->
Configuration --> Settings`, select the website, scroll down to the
:guilabel:`Shop - Products` section, and under :guilabel:`Display Product Prices` select between:
- :guilabel:`Tax Excluded`: the price displayed on the website is tax-excluded, and the tax is
computed at the :ref:`order review <ecommerce/checkout/review_order>` step;
- :guilabel:`Tax Included`: the price displayed on the website is tax-included.
.. note::
This setting is website-specific and can therefore be configured independently for every
website in the database.
.. tip::
Switch the :ref:`Tax indication <ecommerce/products/product-presentation>` toggle on in the
website editor to explicitly indicate if the price is `Tax excluded` or `Tax included` on the
product page.
.. _ecommerce/prices/price-per-unit:
Price per unit
==============
To display a :doc:`price per unit
</applications/inventory_and_mrp/inventory/product_management/configure/uom>` alongside the sales
price on the product page, follow these steps:
#. Go to :menuselection:`Website --> Configuration --> Settings`, scroll to the
:guilabel:`Shop - Products` section, and enable :guilabel:`Product Reference Price`.
#. :ref:`Navigate to the product form <ecommerce/products/create-products>`.
#. Set the product's :guilabel:`Sales price` and select the unit (e.g., :guilabel:`Units`).
#. In the :guilabel:`Base Unit Count` field, enter the number of units in the product, then
select the relevant unit from the dropdown list.
.. example::
Imagine you want to sell a 2-liter bucket of paint for $60, i.e., $30 per liter.
.. image:: prices/prices-per-unit.png
:alt: Cost per unit pricing on the product form.
The price per units, in this case per liter, is shown next to the sales price on the
product page.
.. image:: prices/price-cost-per-unit-page.png
:alt: Unit pricing on the product page.
.. note::
The price per unit may be mandatory in some countries.
.. seealso::
:doc:`/applications/inventory_and_mrp/inventory/product_management/configure/uom`
.. _ecommerce/prices/pricelists:
Pricelists
==========
Pricelists in Odoo allow to manage flexible pricing rules and to offer different prices and
discounts based on currencies, time periods, purchase volumes, :ref:`customers' location
<ecommerce/prices/geoip>`, and/or customer type.
To enable pricelists for eCommerce, go to :menuselection:`Website --> Configuration --> Settings`,
scroll down to the :guilabel:`Shop - Products` section, enable :guilabel:`Pricelists`, and
:guilabel:`Save`. Then, click :guilabel:`Pricelists` or go to :menuselection:`Website --> eCommerce
--> Pricelists` and :ref:`configure <sales/products/pricelist-configuration>` the relevant
pricelists.
In the :guilabel:`Ecommerce` tab, configure options specific to online sales, such as assigning a
:guilabel:`Website` to a pricelist, allowing customers to :ref:`select it
<ecommerce/prices/selectable-pricelists>`, and/or adding an :ref:`E-commerce Promotional Code
<ecommerce/prices/promotional-code>`.
.. tip::
- If you are using several websites and you want to use the same pricelist on several of them,
you need to duplicate the pricelist for each website. If you do not assign any
website, the pricelist will not be used, unless it is :ref:`selectable
<ecommerce/prices/selectable-pricelists>`.
- Pricelists can also be :ref:`assigned to a specific customer
<sales/products/customer-pricelist-application>`.
.. note::
- When pricelists are enabled in the Sales app, they are automatically enabled in the eCommerce
app, and vice versa.
- In the list of pricelists, order the pricelists by priority: the first takes
precedence over the second, the second over the third, and so on.
- It is also possible to create specific pricelists for :ref:`variants
<products/variants/configure-variants>`.
.. seealso::
:doc:`/applications/sales/sales/products_prices/prices/pricing`
.. _ecommerce/prices/selectable-pricelists:
Selectable pricelists
---------------------
Selectable pricelists are useful, for example, when selling products in :doc:`multiple currencies
</applications/sales/sales/products_prices/prices/currencies>` and allow customers to
choose a pricelist using the catalog's pricelist selector located next to the :ref:`search bar
<ecommerce/catalog/top-bar>`.
.. image:: prices/pricelist-selector.png
:alt: Pricelist selector on the ecommerce.
To make a pricelist selectable, enable :guilabel:`Selectable`.
.. note::
- If a pricelist is designated as :guilabel:`Selectable`, and is not assigned to a specific
website, then the pricelist is selectable on **all** websites.
- If a pricelist does *not* appear in the selector, it may be due to the following situations:
- Only one pricelist is defined as :guilabel:`Selectable` and the :ref:`contact has a
pricelist assigned <sales/products/customer-pricelist-application>`.
- Multiple selectable pricelists exist, but only those matching the customer's :ref:`country
group <ecommerce/prices/country-groups>` are shown. It is strongly recommended to disable
the :guilabel:`Selectable` option when using pricelists with country groups on the
ecommerce.
.. seealso::
:ref:`sales/products/currencies/currency-specific-pricelists`
.. _ecommerce/prices/geoip:
GeoIP & country groups
----------------------
It is possible to display a specific pricelist based on the visitor's location and IP address by
assigning :ref:`country groups <ecommerce/prices/country-groups>` to pricelists.
.. _ecommerce/prices/country-groups:
To do so, :ref:`navigate to the relevant pricelist form <ecommerce/prices/pricelists>` and select
the appropriate :guilabel:`Country Groups`. Create or edit as many pricelists for specific regions
as needed. For instance, select :guilabel:`European Union` to apply the pricelist to all EU member
states.
To create a new country group, click :guilabel:`Search more` in the dropdown list, then
:guilabel:`New`. Add a :guilabel:`Group Name` and select the relevant :guilabel:`Countries`.
Use :ref:`Custom filters <search/custom-filters>` if needed.
.. note::
Each country group must contain at least one country.
.. example::
Use the following filter if you want to add all non-EU countries to the country group.
`Country Group` + `is not in` + `European Union`
.. image:: prices/pricelist-country-groups.png
:alt: Filter for country group creation.
.. important::
- When using GeoIP to determine the appropriate pricelist, **all** pricelists used on the
ecommerce must have a country group assigned.
- It is strongly recommended to disable the :guilabel:`Selectable` option when using pricelists
with country groups. Indeed, all pricelists with the relevant country group are automatically
applied to the catalog but if one of them is marked as :ref:`Selectable
<ecommerce/prices/selectable-pricelists>`, the others will disappear as soon as customers
select the selectable pricelist.
.. example::
Imagine you create three pricelists:
- `EU regular prices` with the `EU` country group assigned
- `EU prices with discounts` with the `EU` country group assigned
- `US prices` with the `US` country group assigned
If the :guilabel:`Selectable` option is enabled for `EU regular prices` and
`US prices`, and the customer is from the European Union, only the pricelists
`EU regular prices` and `EU prices with discounts` will be available. However, since the
`EU prices with discount` list is not selectable, it will disappear once the customer selects
the `EU regular prices` list and prices will be displayed based on the `EU regular prices`
pricelist on the catalog.
Pricelist application
---------------------
On the ecommerce, the *default* pricelist is automatically selected for public, non-logged in users
when no country group is assigned. If :ref:`GeoIP and country groups <ecommerce/prices/geoip>` are
used, public users see the pricelist of their country group by default. Logged-in users with
:ref:`assigned pricelists <sales/products/customer-pricelist-application>` see the assigned
pricelist by default **if it is assigned to the website** they are visiting. If not, the website's
default pricelist is applied (i.e., the first available pricelist assigned to the website and
without a country group, following the sequence order).
Assigned pricelists take precedence over country-based pricelists, when applicable, unless the
assigned pricelist is linked to a different country group.
.. example::
A customer from the United States visits the website. They do not have a portal account. The
:guilabel:`United States` pricelist is applied.
A different visitor, also from the United States, has the :guilabel:`Loyal Customer Discount`
pricelist assigned in their contact form. This assignment takes precedence over the country
group assignation, so the :guilabel:`Loyal Customer Discount` is applied.
.. image:: prices/pricelists-example.png
:alt: An example of various pricelists assigned to a website.
.. _ecommerce/prices/discounts:
Discounts
=========
Discounts programs
------------------
To enable :doc:`discount programs </applications/sales/sales/products_prices/loyalty_discount>`
for your ecommerce, go to :menuselection:`Website --> Configuration --> Settings`, scroll
down to the :guilabel:`Shop - Products` section, and enable the :guilabel:`Discounts, Loyalty & Gift
Card` feature.
:ref:`Configure <sales/products/loyalty-programs>` the discount program, make sure the
:guilabel:`Website` option is enabled, and add the relevant :ref:`Pricelist
<ecommerce/prices/pricelists>` and :guilabel:`Website` on the program form, if needed.
.. _ecommerce/prices/permanent-discounts:
Permanent product discount
--------------------------
If the price of a specific product has been permanently reduced, the strikethrough strategy is
commonly used. This involves showing the new discounted price, with the original price crossed out
alongside it.
.. image:: prices/price-strikethrough.png
:alt: Price strikethrough.
To display a permanently discounted price, navigate to :menuselection:`Website --> Configuration
--> Settings`, scroll down to the :guilabel:`Shop - Products`, enable the :guilabel:`Comparison
Price` option, and :guilabel:`Save`. Then, :ref:`go to the product form
<ecommerce/products/create-products>`, enter the new (discounted) price in the
:guilabel:`Sales Price` field and the original one (strikethrough) in the
:guilabel:`Compare to Price` field.
.. note::
The :guilabel:`Compare to Price` field must contain a price that is higher than the
:guilabel:`Sales Price` for the original price to appear with a strikethrough.
.. important::
The :guilabel:`Compare to Price` is not displayed if discounted pricelists apply. If you want to
use the :guilabel:`Compare to price` with another discount, configure a pricelist with a
:ref:`promotional code <ecommerce/prices/promotional-code>`.
Discounted pricelists
---------------------
It is also possible to create :ref:`pricelists with discounts <sales/products/price-rules>`.
To do so, :ref:`create a pricelist <sales/products/pricelist-configuration>` and
:ref:`configure the discount <sales/products/price-rules>`.
If a :ref:`pricelist <ecommerce/prices/pricelists>` contains a :ref:`Discount
<sales/products/price-rules>` price type, the price is striked through for applicable customers,
even if the :ref:`Comparison Price <ecommerce/prices/permanent-discounts>` feature has not been
enabled.
.. note::
If using pricelists with :ref:`country groups <ecommerce/prices/geoip>`, the discounted pricelist
must be assigned the same country group as the one used for the non-discounted pricelist.
.. _ecommerce/prices/promotional-code:
E-commerce promotional code
---------------------------
To offer a discounted pricelist for customers with a specific discount code, access the relevant
:ref:`pricelist form <ecommerce/prices/pricelists>`, go to the :guilabel:`Ecommerce` tab, and add
an :guilabel:`E-commerce Promotional Code`, e.g., `SUMMERSALE10%`. Then, go to the :guilabel:`Price
Rules` tab, click :guilabel:`Add a line`, and :ref:`configure the discount
<sales/products/price-rules>`. When a customer inserts the code during the :ref:`checkout process
<ecommerce/checkout/review_order>`, this discount is granted according to the :guilabel:`Price
Rules` configuration.
.. note::
Make sure that the :ref:`Promo Code <ecommerce/checkout/review_order>` option
in the website editor is enabled and, if using :ref:`country groups
<ecommerce/prices/country-groups>`, that the discounted pricelist has the same country group
assigned as the non-discounted pricelist.
.. _ecommerce/prices/hide-prices:
Hide prices
===========
Some businesses, such as B2B shops or companies that sell luxury or custom items, often prefer to
showcase their products online without displaying their prices.
To hide product prices on the ecommerce, go to :menuselection:`Website --> Configuration -->
Settings`, enable :guilabel:`Prevent Sale of Zero Priced Product` in the :guilabel:`Shop -
Products` section, and enter a redirect URL in the :guilabel:`Button URL` field. The
:guilabel:`Add to Cart` button on the product page is then replaced by a :guilabel:`Contact us`
button, which can be :ref:`customized <ecommerce/checkout/prevent-sale>` if needed.
After enabling this feature, either set the price to `0` for all desired products or create a
:ref:`pricelist <ecommerce/prices/pricelists>` with all product prices set to `0`. Ensure the
pricelist is assigned to the correct website and is listed first among the website's pricelists.
.. tip::
- Ensure no pricelist used on the ecommerce has been marked as :guilabel:`Selectable` to prevent
accidentally displaying the zero-priced pricelist.
- To hide prices from public visitors while keeping them visible to logged-in customers, create a
zero-priced pricelist to be used for non-logged-in customers and :ref:`assign
<sales/products/customer-pricelist-application>` a regular pricelist (with actual prices) to
customers with :ref:`portal access <portal/access>`.
.. seealso::
:doc:`../customer_accounts`

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

@@ -131,7 +131,7 @@ Pricing
-------
Products can be priced differently based on the website using :ref:`pricelists
<ecommerce/pricelists>`. The following configuration is required:
<ecommerce/prices/selectable-pricelists>`. The following configuration is required:
#. Go to :menuselection:`Website --> Configuration --> Settings`.
#. Scroll down to the :guilabel:`Shop - Products` section and select the :guilabel:`Pricelists`

View File

@@ -43,13 +43,13 @@ applications/productivity/voip/transfer_forward.rst applications/productivity/vo
# applications/websites
applications/websites/ecommerce/cart.rst applications/websites/ecommerce/checkout.rst
applications/websites/website/pages/menus.rst applications/websites/website/pages/header_footer.rst
applications/websites/website/building_blocks/dynamic_content.rst applications/websites/website/building_blocks.rst
applications/websites/website/building_blocks/features.rst applications/websites/website/building_blocks.rst
applications/websites/website/building_blocks/inner_content.rst applications/websites/website/building_blocks.rst
applications/websites/website/building_blocks/structure.rst applications/websites/website/building_blocks.rst
applications/websites/website/pages/menus.rst applications/websites/website/pages/header_footer.rst
applications/websites/website/pages/header_footer.rst applications/websites/website/structure/header_footer.rst
applications/websites/website/pages.rst applications/websites/website/structure/pages.rst
applications/websites/website/pages/seo.rst applications/websites/website/structure/seo.rst
applications/websites/ecommerce/products/price_management.rst applications/websites/ecommerce/products/prices.rst
applications/websites/ecommerce/cart.rst applications/websites/ecommerce/checkout.rst