Skip to content

Commit 04650fe

Browse files
committed
[IMP] ecommerce: prevent sales by category
1 parent 36b1dae commit 04650fe

File tree

3 files changed

+100
-69
lines changed

3 files changed

+100
-69
lines changed

content/applications/websites/ecommerce/products/prices.rst

Lines changed: 100 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,13 @@ Choosing the displayed price tax usually depends on a country's regulations or t
2626
:menuselection:`Website --> Configuration --> Settings`, select the website, scroll down to the
2727
:guilabel:`eCommerce` section, and under :guilabel:`Display Product Prices` select between:
2828

29-
- :guilabel:`Tax Excluded`: the price displayed on the website is tax-excluded, and the tax is
30-
computed at the :ref:`order summary <ecommerce/checkout/review_order>` step;
31-
- :guilabel:`Tax Included`: the price displayed on the website is tax-included.
29+
- :guilabel:`Tax Excluded`: The price displayed on the website is tax-excluded, and the tax is
30+
computed at the :ref:`order summary <ecommerce/checkout/review_order>` step.
31+
- :guilabel:`Tax Included`: The price displayed on the website is tax-included.
3232

3333
.. note::
34-
This setting is website-specific and can therefore be configured independently for every
35-
website in the database.
34+
This setting is website-specific and can therefore be configured independently for every website
35+
in the database.
3636

3737
.. tip::
3838
- Switch the :ref:`Tax indication <ecommerce/products/product-presentation>` toggle on in the
@@ -51,21 +51,21 @@ To display a :doc:`price per unit
5151
</applications/inventory_and_mrp/inventory/product_management/configure/uom>` alongside the sales
5252
price on the product page, follow these steps:
5353

54-
#. Go to :menuselection:`Website --> Configuration --> Settings`, scroll to the
55-
:guilabel:`eCommerce` section, and enable :guilabel:`Product Reference Price`.
54+
#. Go to :menuselection:`Website --> Configuration --> Settings`.
55+
#. Check the :guilabel:`Product Reference Price` checkbox in the :guilabel:`eCommerce` section.
5656
#. :ref:`Navigate to the product form <ecommerce/products/create-products>`.
5757
#. Set the product's :guilabel:`Sales Price` and select the unit (e.g., :guilabel:`Units`).
58-
#. In the :guilabel:`Base Unit Count` field, enter the number of units in the product, then
59-
select the relevant unit from the dropdown list.
58+
#. In the :guilabel:`Base Unit Count` field, enter the number of units in the product.
59+
#. Select the relevant unit from the drop-down list.
6060

6161
.. example::
6262
Imagine you want to sell a 2-liter bucket of paint for $60, i.e., $30 per liter.
6363

6464
.. image:: prices/prices-per-unit.png
6565
:alt: Cost per unit pricing on the product form.
6666

67-
The price per units, in this case per liter, is shown next to the sales price on the
68-
product page.
67+
The price per units, in this case per liter, is shown next to the sales price on the product
68+
page.
6969

7070
.. image:: prices/price-cost-per-unit-page.png
7171
:alt: Unit pricing on the product page.
@@ -84,6 +84,7 @@ Pricelists
8484
Pricelists in Odoo allow to manage flexible pricing rules and to offer different prices and
8585
discounts based on currencies, time periods, purchase volumes, :ref:`customers' location
8686
<ecommerce/prices/geoip>`, and/or customer type.
87+
8788
To enable pricelists for eCommerce, go to :menuselection:`Website --> Configuration --> Settings`,
8889
scroll down to the :guilabel:`eCommerce` section, enable :guilabel:`Pricelists`, and
8990
:guilabel:`Save`. Then, click :guilabel:`Pricelists` or go to :menuselection:`Website --> eCommerce
@@ -97,17 +98,17 @@ In the :guilabel:`Ecommerce` tab, configure options specific to online sales, su
9798

9899
.. tip::
99100
- If you are using several websites and you want to use the same pricelist on several of them,
100-
you need to duplicate the pricelist for each website. If you do not assign any
101-
website, the pricelist will not be used, unless it is :ref:`selectable
101+
you need to duplicate the pricelist for each website. If you do not assign any website, the
102+
pricelist will not be used, unless it is :ref:`selectable
102103
<ecommerce/prices/selectable-pricelists>`.
103104
- Pricelists can also be :ref:`assigned to a specific customer
104105
<sales/products/customer-pricelist-application>`.
105106

106107
.. note::
107108
- When pricelists are enabled in the Sales app, they are automatically enabled in the eCommerce
108109
app, and vice versa.
109-
- In the list of pricelists, order the pricelists by priority: the first takes
110-
precedence over the second, the second over the third, and so on.
110+
- In the list of pricelists, order the pricelists by priority: the first takes precedence over
111+
the second, the second over the third, and so on.
111112
- It is also possible to create specific pricelists for :ref:`variants
112113
<products/variants/configure-variants>`.
113114

@@ -120,8 +121,8 @@ Selectable pricelists
120121
---------------------
121122

122123
Selectable pricelists are useful, for example, when selling products in :doc:`multiple currencies
123-
</applications/sales/sales/products_prices/prices/currencies>` and allow customers to
124-
choose a pricelist using the catalog's pricelist selector located next to the :ref:`search bar
124+
</applications/sales/sales/products_prices/prices/currencies>` and allow customers to choose a
125+
pricelist using the catalog's pricelist selector located next to the :ref:`search bar
125126
<ecommerce/catalog/top-bar>`.
126127

127128
.. image:: prices/pricelist-selector.png
@@ -159,9 +160,9 @@ the appropriate :guilabel:`Country Groups`. Create or edit as many pricelists fo
159160
as needed. For instance, select :guilabel:`European Union` to apply the pricelist to all EU member
160161
states.
161162

162-
To create a new country group, click :guilabel:`Search more` in the dropdown list, then
163-
:guilabel:`New`. Add a :guilabel:`Group Name` and select the relevant :guilabel:`Countries`.
164-
Use :ref:`Custom filters <search/custom-filters>` if needed.
163+
To create a new country group, click :guilabel:`Search more` in the drop-down list, then
164+
:guilabel:`New`. Add a :guilabel:`Group Name` and select the relevant :guilabel:`Countries`. Use
165+
:ref:`Custom filters <search/custom-filters>` if needed.
165166

166167
.. note::
167168
Each country group must contain at least one country.
@@ -190,24 +191,24 @@ Use :ref:`Custom filters <search/custom-filters>` if needed.
190191
- `EU prices with discounts` with the `EU` country group assigned
191192
- `US prices` with the `US` country group assigned
192193

193-
If the :guilabel:`Selectable` option is enabled for `EU regular prices` and
194-
`US prices`, and the customer is from the European Union, only the pricelists
195-
`EU regular prices` and `EU prices with discounts` will be available. However, since the
196-
`EU prices with discount` list is not selectable, it will disappear once the customer selects
197-
the `EU regular prices` list and prices will be displayed based on the `EU regular prices`
198-
pricelist on the catalog.
194+
If the :guilabel:`Selectable` option is enabled for `EU regular prices` and `US prices`, and
195+
the customer is from the European Union, only the pricelists `EU regular prices` and `EU
196+
prices with discounts` will be available. However, since the `EU prices with discount` list
197+
is not selectable, it will disappear once the customer selects the `EU regular prices` list
198+
and prices will be displayed based on the `EU regular prices` pricelist on the catalog.
199199

200200
Pricelist application
201201
---------------------
202202

203203
On the ecommerce, the *default* pricelist is automatically selected for public, non-logged in users
204204
when no country group is assigned. If :ref:`GeoIP and country groups <ecommerce/prices/geoip>` are
205-
used, public users see the pricelist of their country group by default. :ref:`Logged-in users
206-
<ecommerce/customer_accounts/shop-access>` with
207-
:ref:`assigned pricelists <sales/products/customer-pricelist-application>` see the assigned
208-
pricelist by default **if it is assigned to the website** they are visiting. If not, the website's
209-
default pricelist is applied (i.e., the first available pricelist assigned to the website and
210-
without a country group, following the sequence order).
205+
used, public users see the pricelist of their country group by default.
206+
207+
:ref:`Logged-in users <ecommerce/customer_accounts/shop-access>` with :ref:`assigned pricelists
208+
<sales/products/customer-pricelist-application>` see the assigned pricelist by default **if it is
209+
assigned to the website** they are visiting. If not, the website's default pricelist is applied
210+
(i.e., the first available pricelist assigned to the website and without a country group, following
211+
the sequence order).
211212

212213
Assigned pricelists take precedence over country-based pricelists, when applicable, unless the
213214
assigned pricelist is linked to a different country group.
@@ -217,8 +218,8 @@ assigned pricelist is linked to a different country group.
217218
:guilabel:`United States` pricelist is applied.
218219

219220
A different visitor, also from the United States, has the :guilabel:`Loyal Customer Discount`
220-
pricelist assigned in their contact form. This assignment takes precedence over the country
221-
group assignation, so the :guilabel:`Loyal Customer Discount` is applied.
221+
pricelist assigned in their contact form. This assignment takes precedence over the country group
222+
assignation, so the :guilabel:`Loyal Customer Discount` is applied.
222223

223224
.. image:: prices/pricelists-example.png
224225
:alt: An example of various pricelists assigned to a website.
@@ -232,10 +233,9 @@ Discounts
232233
Discounts programs
233234
------------------
234235

235-
To enable :doc:`discount programs </applications/sales/sales/products_prices/loyalty_discount>`
236-
for your ecommerce, go to :menuselection:`Website --> Configuration --> Settings`, scroll
237-
down to the :guilabel:`eCommerce` section, and enable the :guilabel:`Discounts, Loyalty & Gift
238-
Card` feature.
236+
To enable :doc:`discount programs </applications/sales/sales/products_prices/loyalty_discount>` for
237+
your ecommerce, go to :menuselection:`Website --> Configuration --> Settings`, scroll down to the
238+
:guilabel:`eCommerce` section, and enable the :guilabel:`Discounts, Loyalty & Gift Card` feature.
239239

240240
:ref:`Configure <sales/products/loyalty-programs>` the discount program, make sure the
241241
:guilabel:`Website` option is enabled, and add the relevant :ref:`Pricelist
@@ -253,12 +253,11 @@ alongside it.
253253
.. image:: prices/price-strikethrough.png
254254
:alt: Price strikethrough.
255255

256-
To display a permanently discounted price, navigate to :menuselection:`Website --> Configuration
257-
--> Settings`, scroll down to the :guilabel:`eCommerce`, enable the :guilabel:`Comparison
258-
Price` option, and :guilabel:`Save`. Then, :ref:`go to the product form
259-
<ecommerce/products/create-products>`, enter the new (discounted) price in the
260-
:guilabel:`Sales Price` field and the original one (strikethrough) in the
261-
:guilabel:`Compare to Price` field.
256+
To display a permanently discounted price, navigate to :menuselection:`Website --> Configuration -->
257+
Settings`, scroll down to the :guilabel:`eCommerce`, enable the :guilabel:`Comparison Price` option,
258+
and :guilabel:`Save`. Then, :ref:`go to the product form <ecommerce/products/create-products>`,
259+
enter the new (discounted) price in the :guilabel:`Sales Price` field and the original one
260+
(strikethrough) in the :guilabel:`Compare to Price` field.
262261

263262
.. note::
264263
The :guilabel:`Compare to Price` field must contain a price that is higher than the
@@ -272,9 +271,9 @@ Price` option, and :guilabel:`Save`. Then, :ref:`go to the product form
272271
Discounted pricelists
273272
---------------------
274273

275-
It is also possible to create :ref:`pricelists with discounts <sales/products/price-rules>`.
276-
To do so, :ref:`create a pricelist <sales/products/pricelist-configuration>` and
277-
:ref:`configure the discount <sales/products/price-rules>`.
274+
It is also possible to create :ref:`pricelists with discounts <sales/products/price-rules>`. To do
275+
so, :ref:`create a pricelist <sales/products/pricelist-configuration>` and :ref:`configure the
276+
discount <sales/products/price-rules>`.
278277

279278
If a :ref:`pricelist <ecommerce/prices/pricelists>` contains a :ref:`Discount
280279
<sales/products/price-rules>` price type, the price is striked through for applicable customers,
@@ -291,36 +290,61 @@ E-commerce promotional code
291290
---------------------------
292291

293292
To offer a discounted pricelist for customers with a specific discount code, access the relevant
294-
:ref:`pricelist form <ecommerce/prices/pricelists>`, go to the :guilabel:`Ecommerce` tab, and add
295-
an :guilabel:`E-commerce Promotional Code`, e.g., `SUMMERSALE10%`. Then, go to the :guilabel:`Sales
296-
Price` tab, click :guilabel:`Add a line`, and :ref:`configure the discount
297-
<sales/products/price-rules>`. When a customer inserts the code during the :ref:`checkout process
298-
<ecommerce/checkout/review_order>`, this discount is granted according to the :guilabel:`Sales
299-
Price` configuration.
293+
:ref:`pricelist form <ecommerce/prices/pricelists>`, go to the :guilabel:`Ecommerce` tab, and add an
294+
:guilabel:`E-commerce Promotional Code`, e.g., `SUMMERSALE10%`.
295+
296+
Then, go to the :guilabel:`Sales Price` tab, click :guilabel:`Add a line`, and :ref:`configure the
297+
discount <sales/products/price-rules>`. When a customer inserts the code during the :ref:`checkout
298+
process <ecommerce/checkout/review_order>`, this discount is granted according to the
299+
:guilabel:`Sales Price` configuration.
300300

301301
.. note::
302-
Make sure that the :ref:`Promo Code <ecommerce/checkout/review_order>` option
303-
in the website editor is enabled and, if using :ref:`country groups
304-
<ecommerce/prices/country-groups>`, that the discounted pricelist has the same country group
305-
assigned as the non-discounted pricelist.
302+
Make sure that the :ref:`Promo Code <ecommerce/checkout/review_order>` option in the website
303+
editor is enabled and, if using :ref:`country groups <ecommerce/prices/country-groups>`, that the
304+
discounted pricelist has the same country group assigned as the non-discounted pricelist.
306305

307306
.. _ecommerce/prices/hide-prices:
308307

309-
Hide prices
310-
===========
308+
Limiting sales
309+
==============
310+
311+
Many :ref:`B2B <ecommerce/b2b_b2c/prices>`, luxury, and custom companies showcase their products
312+
online but restrict direct purchases and hide pricing.
313+
314+
The :guilabel:`Hide Add To Cart` drop-down option offers two configurations to control price
315+
visibility and online sales using. Navigate to :menuselection:`Website --> Configuration -->
316+
Settings`, check the :guilabel:`Hide Add To Cart` checkbox in the :guilabel:`eCommerce` section.
311317

312-
Some businesses, such as :ref:`B2B shops <ecommerce/b2b_b2c/prices>` or companies that sell luxury
313-
or custom items, often prefer to showcase their products online without displaying their prices.
318+
Select one of the drop-down options:
314319

315-
To hide product prices on the ecommerce, go to :menuselection:`Website --> Configuration -->
316-
Settings`, enable :guilabel:`Prevent Sale of Zero Priced Product` in the :guilabel:`eCommerce`
317-
section, and enter a redirect URL in the :guilabel:`Button URL` field. The
318-
:guilabel:`Add to Cart` button on the product page is then replaced by a :guilabel:`Contact us`
319-
button, which can be :ref:`customized <ecommerce/checkout/prevent-sale>` if needed.
320+
- :guilabel:`0 price products`: Products with a price of `0` have their prices hidden and **cannot**
321+
be purchased from the wesite.
322+
- :guilabel:`Specific categories`: Products belonging to selected categories cannot be purchased
323+
directly from the website, and the prices are displayed only if the product price is greater than
324+
`0`.
320325

321-
After enabling this feature, either set the price to `0` for all desired products or create a
322-
:ref:`pricelist <ecommerce/prices/pricelists>` with all product prices set to `0`. Ensure the
323-
pricelist is assigned to the correct website and is listed first among the website's pricelists.
326+
If choosing the :guilabel:`Specific categories` option, the :guilabel:`Categories` submenu appears.
327+
Select **at least one** product category from the drop-down menu.
328+
329+
Enter a redirect URL in the :guilabel:`Link URL` field. The :guilabel:`Add to Cart` button on the
330+
product page is then replaced by a :guilabel:`Contact us` button, which can be :ref:`customized
331+
<ecommerce/checkout/prevent-sale>` if needed.
332+
333+
.. example::
334+
A jewelry company wants to direct customers to a custom order form for its most expensive rings.
335+
Instead of an :guilabel:`Add to cart` option, the product pages display only the prices and a
336+
link to the specialized order form.
337+
338+
.. image:: prices/specific-categories-setting.png
339+
:alt: Example of the Specific categories option configuration for the Hide Add To Cart
340+
setting.
341+
342+
0 price products option
343+
-----------------------
344+
345+
After choosing :guilabel:`0 price products`, either set the price to `0` for all desired products or
346+
create a :ref:`pricelist <ecommerce/prices/pricelists>` with all product prices set to `0`. Ensure
347+
the pricelist is assigned to the correct website and is listed first among the website's pricelists.
324348

325349
.. tip::
326350
- Ensure no pricelist used on the ecommerce has been marked as :guilabel:`Selectable` to prevent
@@ -330,5 +354,12 @@ pricelist is assigned to the correct website and is listed first among the websi
330354
<sales/products/customer-pricelist-application>` a regular pricelist (with actual prices) to
331355
customers with :ref:`portal access <portal/access>`.
332356

357+
Specific categories option
358+
--------------------------
359+
360+
After enabling this option, navigate to :menuselection:`Website app --> eCommerce --> Products` and
361+
modify all the desired products to the chosen :ref:`product category
362+
<ecommerce/catalog/categories>`.
363+
333364
.. seealso::
334365
:doc:`../customer_accounts`
Binary file not shown.
7.22 KB
Loading

0 commit comments

Comments
 (0)