Skip to content

Conversation

lman-odoo
Copy link
Contributor

task-3711225 and task-3339294

@robodoo
Copy link
Collaborator

robodoo commented Aug 28, 2025

Pull request status dashboard

@C3POdoo C3POdoo requested review from a team August 28, 2025 10:59
@lman-odoo lman-odoo force-pushed the 18.0-ecommerce-prices-lman branch 7 times, most recently from 0f9cbb2 to 461ad80 Compare August 29, 2025 05:58
@dade-odoo dade-odoo removed the request for review from a team August 29, 2025 07:50
@lman-odoo lman-odoo force-pushed the 18.0-ecommerce-prices-lman branch from 461ad80 to 3819c1e Compare August 29, 2025 11:28
@auva-odoo auva-odoo force-pushed the 18.0-ecommerce-prices-lman branch from 3819c1e to a16b6ad Compare August 29, 2025 13:32
@lman-odoo lman-odoo force-pushed the 18.0-ecommerce-prices-lman branch 3 times, most recently from 000618c to 07f8280 Compare September 1, 2025 11:12
task-3711225 and task-3339294
@lman-odoo lman-odoo force-pushed the 18.0-ecommerce-prices-lman branch from 07f8280 to 3fd2f3d Compare September 2, 2025 07:16
@lman-odoo lman-odoo requested a review from auva-odoo September 2, 2025 07:53
Copy link
Contributor

@StraubCreative StraubCreative left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sales portion LGTM 👍
Good update!

Copy link
Contributor

@auva-odoo auva-odoo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your work @lman-odoo! This is a complex topic, and my review ended up a bit dense—hopefully it’s not too overwhelming 🙈. Here are my main suggestions:

  • Taxes: I’d move the Taxes section to the top of the page (see my comment on line 238). It’s a key topic and not just relevant for B2B vs. B2C.
  • Discounts: I think we should add a dedicated Discounts section. It should cover all the ways discounts can be configured in eCommerce, with links/refs where relevant: Discounts & Loyalty (link to the Sales docs), Permanent discounts, Pricelists with discounts (link to the Sales docs + pricelist section here on this page), Pricelists with eCommerce promotional codes. And ideally, explain how these interact (this may require some thorough testing).
  • eWallets & Gift Cards: These should be explicitly mentioned somewhere in the doc (placement to be decided once you've implemented the other changes.
  • Relative paths: When pointing back to /applications, you don’t need to use relative paths and can start from /applications directly. I added an example on line 17, but there are a few other links to update.
  • B2B documentation: I think we should create a dedicated B2B page. This topic covers more than just prices (as you note in the doc). Once that’s in place, I’d move the B2B access management section out of the Ordering and Checkout page and into the new page. It’ll be more helpful to have everything centralized. (See also my comment on line 205.) Some useful videos on the topic: https://www.youtube.com/watch?v=OHaRvw0ewnY and https://www.youtube.com/watch?v=mbofJDYnwaw

Please reach out if you have any questions or if anything's unclear! Thank you 🙂

Comment on lines +5 to +9
Odoo offers multiple options to configure prices on the eCommerce. It is possible to use diffrent
:ref:`prices per unit <ecommerce/prices/price-per-unit>` and :ref:`discounts
<ecommerce/prices/permanent-discounts>` and to set up :ref:`pricelists <ecommerce/pricelists>`
to apply :ref:`B2B/B2C prices <ecommerce/prices/b2b-b2c-pricelists>` and
:ref:`GeoIP-based <ecommerce/prices/geoip>` prices.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pricelists can be used for reasons other than having B2B/B2C prices (e.g., condition (e.g., time period, currency, website, category, etc.). That being said, and given the variety of things pricelists are used for, I don't think we need to mention them all here; they can be mentioned in the Pricelists section instead (see my comment on line 65-69.

Suggested change
Odoo offers multiple options to configure prices on the eCommerce. It is possible to use diffrent
:ref:`prices per unit <ecommerce/prices/price-per-unit>` and :ref:`discounts
<ecommerce/prices/permanent-discounts>` and to set up :ref:`pricelists <ecommerce/pricelists>`
to apply :ref:`B2B/B2C prices <ecommerce/prices/b2b-b2c-pricelists>` and
:ref:`GeoIP-based <ecommerce/prices/geoip>` prices.
Odoo offers multiple options to configure product prices in eCommerce. For example, you can apply
:ref:`prices per unit <ecommerce/prices/price-per-unit>`, offer :ref:`permanent discounts
<ecommerce/prices/permanent-discounts>`, and set up :ref:`pricelists <ecommerce/pricelists>`.

Comment on lines +22 to +28
.. image:: prices/price-cost-per-unit.png
:alt: Cost per unit pricing on the product form.

The price per unit of measure can be found next to the sales prices on the product page.

.. image:: prices/price-cost-per-unit-page.png
:alt: Cost per unit pricing on the product page.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this could go in an example admonition, and I'd modify it a bit as follows:

  • I'd add an intro sentence explaining the use case on the screenshots very briefly (i.e;, a 2L can of paint sold for 60$, i.e., 30$/L)
  • I would change the first screenshot so we actually see 1) the selected unit (Base Unit count 2nd field, i.e., "L") and 2) the sales price per Units as well
image (we could probably hide the fields that are not relevant for this use case)

Comment on lines +16 to +20
To display a :doc:`price per unit
<../../../inventory_and_mrp/inventory/product_management/configure/uom>` on the product page, go to
:menuselection:`Website --> Configuration --> Settings`, scroll to the :guilabel:`Shop - Products`
section, and enable :guilabel:`Product Reference Price`. Navigate to the product form, set an amount
in the :guilabel:`Base Unit Count` and :guilabel:`Sales Price` fields.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • I think we should go a bit deeper into the fields on the product form (in particular, the Base Unit Count field) and would therefore use a numbered list here to make it easier to read with more steps.
  • I'd clarify that the price per unit is displayed in addition to the sales prices (i.e., it doesn't replace it), just in case (I know you mention it in the example below but still)
  • See my general comment about relative paths that go back to "/applications"
Suggested change
To display a :doc:`price per unit
<../../../inventory_and_mrp/inventory/product_management/configure/uom>` on the product page, go to
:menuselection:`Website --> Configuration --> Settings`, scroll to the :guilabel:`Shop - Products`
section, and enable :guilabel:`Product Reference Price`. Navigate to the product form, set an amount
in the :guilabel:`Base Unit Count` and :guilabel:`Sales Price` fields.
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.

(or something similar for the last step)

:alt: Cost per unit pricing on the product page.

.. note::
Keep in mind that the price per unit may be mandatory in some countries.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Keep in mind that the price per unit may be mandatory in some countries.
The price per unit may be mandatory in some countries.

Comment on lines +42 to +43
commonly used. This involves showing the original price crossed out, with the new discounted price
displayed alongside it.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While this is technically correct, I feel like it makes more say to say this the other way around:

Suggested change
commonly used. This involves showing the original price crossed out, with the new discounted price
displayed alongside it.
commonly used. This involves showing the new discounted price, with the original price crossed out
alongside it.

Comment on lines +238 to +239
Tax display
~~~~~~~~~~~
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Taxes

I think people might want to use this feature for reasons other than B2B vs B2C so I would have a separate h2 section for this, similar to what was in the old version of this doc, and I think I would move it back up to the top of the page

Comment on lines +216 to +220
To make sure that only customers with an account and granted access can see the prices, go to the
Contacts app, click the top search bar, and select the :guilabel:`Archived` filter. Click
the *public user*, go to the :guilabel:`Sales & Purchase` tab, and add the zero-priced
pricelist that has a country groups assigned that contains all countries. The public user
**always** has to stay :guilabel:`Archived`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should go in the B2B access management section and this can be done from the eCommerce app (peope might not have the Contacts app):

Suggested change
To make sure that only customers with an account and granted access can see the prices, go to the
Contacts app, click the top search bar, and select the :guilabel:`Archived` filter. Click
the *public user*, go to the :guilabel:`Sales & Purchase` tab, and add the zero-priced
pricelist that has a country groups assigned that contains all countries. The public user
**always** has to stay :guilabel:`Archived`.
To make sure that only customers with an account and granted access can see the prices, go to :menuselection:`Website --> eCommerce --> Customers`, click the :icon:`fa-caret-down` :guilabel:`(dropdown)`
icon from the search bar, and select the :guilabel:`Archived` filter. Then, click the :guilabel:`Public user` card, go to the :guilabel:`Sales & Purchase` tab, and add the :ref:`zero-priced pricelist <add a ref>` configured to :ref:`cover all countries <ecommerce/prices/country-groups>`. Keep the :guilabel:`Public User` contact archived at all times.

~~~~~~~~~~~

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 -->
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
(B2B vs. B2C). To select the type of price displayed, go to :menuselection:`Website -->
(:doc:`B2B <add link when doc is created>` vs B2C). To select the type of price displayed, go to :menuselection:`Website -->

Comment on lines +251 to +252
This setting is website specific, and therefore can be altered for each website within a
database.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This setting is website specific, and therefore can be altered for each website within a
database.
This setting is website-specific and can therefore be configured independently for every website in the database.

indicate if the price is `Tax excluded` or `Tax included` on the product page.

.. seealso::
- :doc:`/applications/finance/accounting/taxes/B2B_B2C`
Copy link
Contributor

@auva-odoo auva-odoo Sep 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this list item can be moved to the new B2B doc page
and I think we should add that the toggle is available in the website editor, just for good measure

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants