Skip to content

Commit d0983c5

Browse files
committed
[IMP] ecommerce: prevent sales by category
1 parent 6c80250 commit d0983c5

File tree

3 files changed

+84
-65
lines changed

3 files changed

+84
-65
lines changed

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

Lines changed: 84 additions & 65 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,22 @@ 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`.
56-
#. :ref:`Navigate to the product form <ecommerce/products/create-products>`.
57-
#. 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.
54+
Go to :menuselection:`Website --> Configuration --> Settings`, scroll to the :guilabel:`eCommerce`
55+
section, and enable :guilabel:`Product Reference Price`. :ref:`Navigate to the product form
56+
<ecommerce/products/create-products>`.
57+
58+
Set the product's :guilabel:`Sales Price` and select the unit (e.g., :guilabel:`Units`). In the
59+
:guilabel:`Base Unit Count` field, enter the number of units in the product, then select the
60+
relevant unit from the dropdown list.
6061

6162
.. example::
6263
Imagine you want to sell a 2-liter bucket of paint for $60, i.e., $30 per liter.
6364

6465
.. image:: prices/prices-per-unit.png
6566
:alt: Cost per unit pricing on the product form.
6667

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

7071
.. image:: prices/price-cost-per-unit-page.png
7172
:alt: Unit pricing on the product page.
@@ -84,6 +85,7 @@ Pricelists
8485
Pricelists in Odoo allow to manage flexible pricing rules and to offer different prices and
8586
discounts based on currencies, time periods, purchase volumes, :ref:`customers' location
8687
<ecommerce/prices/geoip>`, and/or customer type.
88+
8789
To enable pricelists for eCommerce, go to :menuselection:`Website --> Configuration --> Settings`,
8890
scroll down to the :guilabel:`eCommerce` section, enable :guilabel:`Pricelists`, and
8991
:guilabel:`Save`. Then, click :guilabel:`Pricelists` or go to :menuselection:`Website --> eCommerce
@@ -97,17 +99,17 @@ In the :guilabel:`Ecommerce` tab, configure options specific to online sales, su
9799

98100
.. tip::
99101
- 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
102+
you need to duplicate the pricelist for each website. If you do not assign any website, the
103+
pricelist will not be used, unless it is :ref:`selectable
102104
<ecommerce/prices/selectable-pricelists>`.
103105
- Pricelists can also be :ref:`assigned to a specific customer
104106
<sales/products/customer-pricelist-application>`.
105107

106108
.. note::
107109
- When pricelists are enabled in the Sales app, they are automatically enabled in the eCommerce
108110
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.
111+
- In the list of pricelists, order the pricelists by priority: the first takes precedence over
112+
the second, the second over the third, and so on.
111113
- It is also possible to create specific pricelists for :ref:`variants
112114
<products/variants/configure-variants>`.
113115

@@ -120,8 +122,8 @@ Selectable pricelists
120122
---------------------
121123

122124
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
125+
</applications/sales/sales/products_prices/prices/currencies>` and allow customers to choose a
126+
pricelist using the catalog's pricelist selector located next to the :ref:`search bar
125127
<ecommerce/catalog/top-bar>`.
126128

127129
.. image:: prices/pricelist-selector.png
@@ -160,8 +162,8 @@ as needed. For instance, select :guilabel:`European Union` to apply the pricelis
160162
states.
161163

162164
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.
165+
:guilabel:`New`. Add a :guilabel:`Group Name` and select the relevant :guilabel:`Countries`. Use
166+
:ref:`Custom filters <search/custom-filters>` if needed.
165167

166168
.. note::
167169
Each country group must contain at least one country.
@@ -190,24 +192,24 @@ Use :ref:`Custom filters <search/custom-filters>` if needed.
190192
- `EU prices with discounts` with the `EU` country group assigned
191193
- `US prices` with the `US` country group assigned
192194

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

200201
Pricelist application
201202
---------------------
202203

203204
On the ecommerce, the *default* pricelist is automatically selected for public, non-logged in users
204205
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).
206+
used, public users see the pricelist of their country group by default.
207+
208+
:ref:`Logged-in users <ecommerce/customer_accounts/shop-access>` with :ref:`assigned pricelists
209+
<sales/products/customer-pricelist-application>` see the assigned pricelist by default **if it is
210+
assigned to the website** they are visiting. If not, the website's default pricelist is applied
211+
(i.e., the first available pricelist assigned to the website and without a country group, following
212+
the sequence order).
211213

212214
Assigned pricelists take precedence over country-based pricelists, when applicable, unless the
213215
assigned pricelist is linked to a different country group.
@@ -217,8 +219,8 @@ assigned pricelist is linked to a different country group.
217219
:guilabel:`United States` pricelist is applied.
218220

219221
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.
222+
pricelist assigned in their contact form. This assignment takes precedence over the country group
223+
assignation, so the :guilabel:`Loyal Customer Discount` is applied.
222224

223225
.. image:: prices/pricelists-example.png
224226
:alt: An example of various pricelists assigned to a website.
@@ -232,10 +234,9 @@ Discounts
232234
Discounts programs
233235
------------------
234236

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

240241
:ref:`Configure <sales/products/loyalty-programs>` the discount program, make sure the
241242
:guilabel:`Website` option is enabled, and add the relevant :ref:`Pricelist
@@ -253,12 +254,11 @@ alongside it.
253254
.. image:: prices/price-strikethrough.png
254255
:alt: Price strikethrough.
255256

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

263263
.. note::
264264
The :guilabel:`Compare to Price` field must contain a price that is higher than the
@@ -272,9 +272,9 @@ Price` option, and :guilabel:`Save`. Then, :ref:`go to the product form
272272
Discounted pricelists
273273
---------------------
274274

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

279279
If a :ref:`pricelist <ecommerce/prices/pricelists>` contains a :ref:`Discount
280280
<sales/products/price-rules>` price type, the price is striked through for applicable customers,
@@ -291,18 +291,18 @@ E-commerce promotional code
291291
---------------------------
292292

293293
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.
294+
:ref:`pricelist form <ecommerce/prices/pricelists>`, go to the :guilabel:`Ecommerce` tab, and add an
295+
:guilabel:`E-commerce Promotional Code`, e.g., `SUMMERSALE10%`.
296+
297+
Then, go to the :guilabel:`Sales Price` tab, click :guilabel:`Add a line`, and :ref:`configure the
298+
discount <sales/products/price-rules>`. When a customer inserts the code during the :ref:`checkout
299+
process <ecommerce/checkout/review_order>`, this discount is granted according to the
300+
:guilabel:`Sales Price` configuration.
300301

301302
.. 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.
303+
Make sure that the :ref:`Promo Code <ecommerce/checkout/review_order>` option in the website
304+
editor is enabled and, if using :ref:`country groups <ecommerce/prices/country-groups>`, that the
305+
discounted pricelist has the same country group assigned as the non-discounted pricelist.
306306

307307
.. _ecommerce/prices/hide-prices:
308308

@@ -313,14 +313,15 @@ Some businesses, such as :ref:`B2B shops <ecommerce/b2b_b2c/prices>` or companie
313313
or custom items, often prefer to showcase their products online without displaying their prices.
314314

315315
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.
316+
Settings`, check the :guilabel:`Hide Add To Cart` checkbox in the :guilabel:`eCommerce` section.
317+
Select :guilabel:`0 price products` from the :guilabel:`For` dropdown menu. Enter a redirect URL in
318+
the :guilabel:`Link URL` field.
320319

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.
320+
The :guilabel:`Add to Cart` button on the product page is then replaced by a :guilabel:`Contact us`
321+
button, which can be :ref:`customized <ecommerce/checkout/prevent-sale>` if needed. After enabling
322+
this option, either set the price to `0` for all desired products or create a :ref:`pricelist
323+
<ecommerce/prices/pricelists>` with all product prices set to `0`. Ensure the pricelist is assigned
324+
to the correct website and is listed first among the website's pricelists.
324325

325326
.. tip::
326327
- Ensure no pricelist used on the ecommerce has been marked as :guilabel:`Selectable` to prevent
@@ -330,5 +331,23 @@ pricelist is assigned to the correct website and is listed first among the websi
330331
<sales/products/customer-pricelist-application>` a regular pricelist (with actual prices) to
331332
customers with :ref:`portal access <portal/access>`.
332333

334+
Preventing direct sales by categories
335+
-------------------------------------
336+
337+
Choosing the :guilabel:`Specfic categories` option allows product prices to display, but prevents
338+
direct sales from the website. Go to :menuselection:`Website app --> Configuration --> Settings`, check
339+
the :guilabel:`Hide Add To Cart` checkbox in the :guilabel:`eCommerce` section.
340+
341+
Select :guilabel:`Specific categories` from the :guilabel:`For` dropdown menu. Select **at least
342+
one** desired product category from the :guilabel:`Categories` dropdown menu. Enter a redirect URL
343+
in the :guilabel:`Link URL` field.
344+
345+
After enabling this option, navigate to :menuselection:`Website app --> eCommerce --> Products` and
346+
modify all the desired products to the chosen :ref:`product category
347+
<ecommerce/catalog/categories>`.
348+
349+
.. image:: prices/zero-price-setting.png
350+
:alt: Sample of the Specific categories option configuration for the Hide Add To Cart setting.
351+
333352
.. seealso::
334353
:doc:`../customer_accounts`
Binary file not shown.
6.94 KB
Loading

0 commit comments

Comments
 (0)