[IMP] Inventory: bring units of measure current

closes odoo/documentation#15039

Signed-off-by: Erin Jerison (erjer) <erjer@odoo.com>
This commit is contained in:
erjer-odoo
2025-10-24 16:47:00 -07:00
parent 2b4db03e84
commit b4de96ae66
13 changed files with 96 additions and 68 deletions

View File

@@ -22,58 +22,57 @@ Configuration
To use different units of measure in Odoo, first go to :menuselection:`Inventory app -->
Configuration --> Settings`, and under the :guilabel:`Products` section, activate the
:guilabel:`Units of Measure` setting. Then, click :guilabel:`Save`.
:guilabel:`Units of Measure & Packagings` setting. Then, click :guilabel:`Save`.
.. image:: uom/uom-enable-setting.png
:align: center
:alt: Enable Units of Measure in the Inventory settings.
:alt: Enable Units of Measure & Packagings in the Inventory settings.
Units of measure categories
===========================
After enabling the *Units of Measure* setting, view the default units of measure categories in
:menuselection:`Inventory app --> Configuration --> UoM Categories`. The category is important for
unit conversion; Odoo can convert a product's units from one unit to another **only** if both units
belong to the same category.
.. image:: uom/category.png
:align: center
:alt: Set units of measure categories.
Each units of measure category has a reference unit. The reference unit is highlighted in blue in
the :guilabel:`Uom` column of the :guilabel:`Units of Measure Categories` page. Odoo uses the
reference unit as a base for any new units.
To create a new unit, first select the correct category from the :guilabel:`Units of Measure
Categories` page. For example, to sell a product in a box of six units, click the :guilabel:`Unit`
category line. Then, on the category page that appears, click :guilabel:`Add a line` in the
:guilabel:`Units of Measure` tab. Then, in the :guilabel:`Unit of Measure` field, title the new
unit, such as `Box of 6`, then in the :guilabel:`Type` field, select the appropriate size reference,
such as :guilabel:`Bigger than the reference Unit of Measure`.
If applicable, enter a :guilabel:`UNSPSC Category`, which is a globally recognized `code managed by
GS1 <https://www.unspsc.org/>`_, that **must** be purchased in order to use.
In the :guilabel:`Ratio` field, enter how many individual units are in the new |UOM|, such as
`6.00000` when using the example of the `6-Pack` (since a box of six is six times *bigger* than the
reference unit, `1.00000`).
.. image:: uom/convert-products-by-unit.png
:align: center
:alt: Convert products from one unit to another as long as they belong to the same category.
Specify a product's units of measure
====================================
Configure units of measure
==========================
To set units of measure on a product, first go to :menuselection:`Inventory app --> Products -->
Products` and select a product to open its product form page.
In the :guilabel:`General Information` tab, edit the :guilabel:`Unit of Measure` field to specify
the unit of measure that the product is sold in. The specified unit is also the unit used to keep
track of the product's inventory and internal transfers.
Inventory unit of measure
-------------------------
Edit the :guilabel:`Purchase UoM` field to specify the unit of measure that the product is purchased
in.
The inventory unit of measure specifies how inventory is measured. For example, track inventory of
blue fabric in yards. This unit of measure is also used to track internal transfers.
To specify what unit the product is inventoried in, update the second field of the :guilabel:`Sales
Price` or :guilabel:`Cost` fields.
.. image:: uom/inventory-uom.png
:alt: Edit the inventory unit of measure in the "Sales Price" or "Cost" fields.
.. important::
The :guilabel:`Sales Price` and :guilabel:`Cost` units of measure cannot be updated
independently of each other. When one unit of measure is updated, the other unit of measure
automatically updates to use the same unit of measure.
Sales unit of measure (packagings)
----------------------------------
Units of measure that the product is sold in are considered packagings. To define these packagings,
open the :guilabel:`Sales` tab of the product, and then in the :guilabel:`Upsell & Cross-Sell`
section, add a packaging to the :guilabel:`Packagings` field. Multiple packagings can be specified
for each product.
.. image:: uom/sales-uom.png
:alt: Add a packaging to the "Sales" tab of the product.
.. seealso::
:doc:`Packaging <packaging>`
Purchase unit of measure
------------------------
Units of measure that the product is purchased in are defined in the :guilabel:`Purchase` tab of the
product. Purchase orders can be created in these units of measure after they are defined in the
vendor price list.
.. image:: uom/purchase-uom.png
:alt: Specify a purchase unit of measure in the "Purchase" tab.
.. _inventory/product_replenishment/unit-conversion:
@@ -99,8 +98,10 @@ This occurs in various scenarios, including:
Buy products in the purchase UoM
--------------------------------
When creating a new request for quotation (RFQ) in the *Purchase* app, Odoo automatically uses the
product's specified purchase unit of measure. If needed, manually edit the :guilabel:`UoM` value on
When creating a new request for quotation (RFQ) in the *Purchase* app, Odoo pulls the unit that the
vendor prefers to use, defined in the :guilabel:`Unit` field of the vendor line in the
:guilabel:`Purchase` tab of the product. The unit the vendor prefers **can** be different from the
unit your company prefers to use. If needed, manually edit the :guilabel:`Unit` value on
the |RFQ|.
After the |RFQ| is confirmed into a |PO|, click the :guilabel:`Receipt` smart button at the top of
@@ -110,33 +111,31 @@ Odoo automatically converts the purchase unit of measure into the product's sale
measure, so the :guilabel:`Demand` column of the delivery receipt shows the converted quantity.
.. example::
When the product's purchase :guilabel:`UoM` is `Box of 6`, and its sales/inventory unit of
measure is `Units`, the |PO| shows the quantity in boxes of six, and the receipt (and other
internal warehouse documents) shows the quantity in units.
When the product's purchase :guilabel:`Unit` is `m` (meters), and its inventory unit of
measure is `yard`, the |PO| shows the quantity in meters, and the receipt (and other
internal warehouse documents) shows the quantity in yards.
.. figure:: uom/on-po.png
:align: center
:alt: Image of a purchase order that is using the purchase unit of measure.
An order of three quantities is placed using the purchase "UoM": `Box of 6`.
An order of 10 quantities is placed using the purchase "Unit": `m`.
.. figure:: uom/on-receipt.png
:align: center
:alt: Image of receipt displaying the unit of measure.
Upon warehouse receipt, the recorded quantities are in the internal "Unit of Measure":
`Units`.
Upon warehouse receipt, the recorded quantities are in the internal "Unit": `yards`.
.. _inventory/product_replenishment/replenish:
Replenishment
-------------
A request for quotation for a product can also be generated directly from the product form using
the :guilabel:`Replenish` button.
A request for quotation for a product can also be generated directly from the product's
:guilabel:`Forecasted Report` using the :guilabel:`Replenish` button. To open the Forecasted Report,
click the :guilabel:`Forecasted` smart button on the product form.
After clicking :guilabel:`Replenish`, a replenish assistant box pops up. The purchase unit of
measure can be manually edited in the :guilabel:`Quantity` field, if needed. Then, click
After clicking :guilabel:`Replenish`, a :guilabel:`Product Replenish` box pops up. The purchase unit
of measure can be manually edited in the :guilabel:`Quantity` field, if needed. Then, click
:guilabel:`Confirm` to create the |RFQ|.
.. important::
@@ -144,13 +143,11 @@ measure can be manually edited in the :guilabel:`Quantity` field, if needed. The
product form's :guilabel:`Purchase` tab.
.. image:: uom/replenish.png
:align: center
:alt: Click Replenish button to manually replenish.
:alt: Click the Confirm button to manually replenish.
Navigate to the created |PO| by clicking the :guilabel:`Forecasted` smart button on the product
form. Scroll down to the :guilabel:`Forecasted Inventory` section, and in the :guilabel:`Requests
for quotation` line, click the |RFQ| reference number to open the draft |RFQ|. If necessary, the
purchase |UOM| can be edited directly on the |PO|.
Navigate to the created |PO| by scrolling down to the :guilabel:`Forecasted Inventory` section, and
in the :guilabel:`Requests for quotation` line, click the |RFQ| reference number to open the draft
|RFQ|. If necessary, the purchase |UOM| can be edited directly on the |PO|.
.. _inventory/product_replenishment/sell-in-uom:
@@ -158,13 +155,44 @@ Sell in a different UoM
-----------------------
When creating a new quotation in the *Sales* app, Odoo automatically uses the product's specified
unit of measure. If needed, the :guilabel:`UoM` can be manually edited on the quotation.
unit of measure. If needed, the :guilabel:`Unit` can be manually edited on the quotation.
After the quotation is sent to the customer, and confirmed into a sales order (SO), click the
:guilabel:`Delivery` smart button at the top of the |SO|. Odoo automatically converts the unit of
measure into the product's inventory unit of measure, so the :guilabel:`Demand` column of the
delivery shows the converted quantity.
For example, if the product's |UOM| on the |SO| was changed to `Box of 6`, but its inventory unit of
measure is `Units`, the |SO| shows the quantity in boxes of six, and the delivery shows the quantity
in units.
.. example::
When the product's sales :guilabel:`Unit` is `m` (meters), and its inventory unit of
measure is `yard`, the |SO| shows the quantity in meters, and the delivery (and other
internal warehouse documents) shows the quantity in yards.
.. figure:: uom/on-so.png
:alt: Sales order that is using the sales unit of measure.
An order of 5 quantities is placed using the sales "Unit": `m`.
.. figure:: uom/on-delivery.png
:alt: Delivery displaying the inventory unit of measure.
Upon warehouse delivery, the recorded quantities are in the internal "Unit":
`yards`.
Create custom units of measure
==============================
Create custom units of measure by going to :menuselection:`Inventory app --> Configuration --> Units
& Packagings`. Each unit of measure can also use a reference unit to convert between different units
of measure.
To create a new unit, click the :guilabel:`New` button. Specify a unit name. If you want to convert
between units, specify a quantity and a reference unit of measure to convert between. If applicable,
enter a :guilabel:`UNSPSC Category`, which is a globally recognized `code managed by
GS1 <https://www.unspsc.org/>`_, that **must** be purchased in order to use.
.. example::
You will be purchasing fabric in terms of yards or meters. Specify that one yard is equal to
`0.9144` of its reference unit, `m`, in the :guilabel:`Quantity` field.
.. figure:: uom/custom-uom.png
:alt: Specify a reference unit in the "Quantity" field.

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 11 KiB