Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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
===========================
Configure units of measure
==========================

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.
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.

.. image:: uom/category.png
:align: center
:alt: Set units of measure categories.
Inventory unit of measure
-------------------------

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.
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 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`.
To specify what unit the product is inventoried in, update the second field of the :guilabel:`Sales
Price` or :guilabel:`Cost` fields.

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.
.. image:: uom/inventory-uom.png
:alt: Edit the inventory unit of measure in the "Sales Price" or "Cost" fields.

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`).
.. 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.

.. 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.
Sales unit of measure (packagings)
----------------------------------

Specify a product's units of measure
====================================
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.

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.
.. image:: uom/sales-uom.png
:alt: Add a packaging to the "Sales" tab of the product.

.. seealso::
:doc:`Packaging <packaging>`

Purchase unit of measure
------------------------

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.
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.

Edit the :guilabel:`Purchase UoM` field to specify the unit of measure that the product is purchased
in.
.. image:: uom/purchase-uom.png
:alt: Specify a purchase unit of measure in the "Purchase" tab.

.. _inventory/product_replenishment/unit-conversion:

Expand All @@ -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
Expand All @@ -110,61 +111,88 @@ 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::
A |PO| can **only** be automatically generated if at least **one** vendor is listed in 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:

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.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.