diff --git a/content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst b/content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst index 958428878..5f14107f5 100644 --- a/content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst +++ b/content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst @@ -180,7 +180,8 @@ using the appropriate unit of measure (:guilabel:`UoM`) for the quantity of prod purchased. .. seealso:: - :ref:`Simplify vendor unit conversions with UoMs ` + :ref:`Simplify vendor unit conversions with UoMs + ` After the order is placed, navigate to the :menuselection:`Barcode` app to :ref:`receive the vendor shipment `. diff --git a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst index af6d6f12b..9a504eae2 100644 --- a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst +++ b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst @@ -1,23 +1,28 @@ -============================== -Use different units of measure -============================== +================ +Units of measure +================ -.. _inventory/management/products/units_of_measure: +.. |UOM| replace:: :abbr:`UoM (Unit of Measure)` +.. |PO| replace:: :abbr:`PO (Purchase Order)` +.. |POs| replace:: :abbr:`POs (Purchase Orders)` +.. |RFQ| replace:: :abbr:`RFQ (Request for Quotation)` +.. |SO| replace:: :abbr:`SO (Sales Order)` -In some cases, handling products in different units of measure is necessary. For example, a -business can buy products from a country that uses the metric system, and then sell those products -in a country that uses the imperial system, so the business needs to convert the units. Another -case for unit conversion is when a business buys products in a big pack from a supplier and then -sells those products in individual units. +In some cases, handling products in different units of measure is necessary. For example, a business +can buy products from a country that uses the metric system, and then sell those products in a +country that uses the imperial system. In that case, the business needs to convert the units. -Odoo can be set up to use different units of measure for one product. +Another case for unit conversion is when a business buys products in a big pack from a supplier, and +then sells those products in individual units. + +Odoo can be set up to use different *units of measure (UoM)* for one product. Configuration ============= -To use different units of measure in Odoo, first go to :menuselection:`Inventory --> Configuration ---> Settings --> Products` and activate the :guilabel:`Units of Measure` setting. Then, click -:guilabel:`Save`. +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`. .. image:: uom/uom-enable-setting.png :align: center @@ -26,12 +31,12 @@ To use different units of measure in Odoo, first go to :menuselection:`Inventory Units of measure categories =========================== -After enabling the units of measure setting, view the default units of measure categories in -:menuselection:`Inventory --> Configuration --> Units of Measures --> UoM Categories`. The -category is important for unit conversion, Odoo can only convert a product's units from one unit to -another only if both units belong to the same category. +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/uom-categories.png +.. image:: uom/category.png :align: center :alt: Set units of measure categories. @@ -39,18 +44,19 @@ Each units of measure category has a reference unit. The reference unit is highl 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. For example, to sell a product in a box of -six units, click on the :guilabel:`Unit` category line. Next, click :guilabel:`Edit`. After that, -click :guilabel:`Add a line`. Then, in the :guilabel:`Unit of Measure` field, title the new unit -`Box of 6`. In the :guilabel:`Type` field, select :guilabel:`Bigger than the reference Unit of -Measure`. In the :guilabel:`Ratio` field, enter `6.00000` since a box of six is six times bigger -than the reference unit (`1.00000`). Finally, click :guilabel:`Save`. +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`. -Click on the :guilabel:`Unit` category. +If applicable, enter a :guilabel:`UNSPSC Category`, which is a globally recognized `code managed by +GS1 `_, that **must** be purchased in order to use. -Click :guilabel:`Add a line`. As an example, we will create a Box of 6 units that we will use for -the Egg product. The box of 6 is 6 times bigger than the reference unit of measure for the category -which is “Units” here. +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 @@ -59,56 +65,106 @@ which is “Units” here. Specify a product's units of measure ==================================== -To set units of measure on a product, first go to :menuselection:`Inventory --> Products --> -Products` and click on a product to open its settings. Then, click on :guilabel:`Edit`. +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 will also be the unit used to -keep track of the product's inventory and internal transfers. Edit the :guilabel:`Purchase UoM` -field to specify the unit of measure that the product is purchased in. +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. + +Edit the :guilabel:`Purchase UoM` field to specify the unit of measure that the product is purchased +in. + +.. _inventory/product_replenishment/unit-conversion: Unit conversion =============== -Buy products in the Purchase UoM +Odoo automatically converts unit measurements when products have different :abbr:`UoMs (Units of +Measure)` and purchase :abbr:`UoMs (Units of Measure)`. + +This occurs in various scenarios, including: + +#. :ref:`Vendor orders `: purchase |UOM| on purchase + orders (POs) converts to |UOM| on internal warehouse documents +#. :ref:`Automatic replenishment `: generates |POs| when + the stock levels of a product (tracked in |UOM|) dips below a certain level. But, the |POs| are + created using the purchase |UOM| +#. :ref:`Sell products `: if a different |UOM| is used + on the sales order (SO), the quantity is converted to the warehouse's preferred |UOM| on the + delivery order + +.. _inventory/product_replenishment/buy-in-uom: + +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. However, if needed, the :guilabel:`UoM` can be -manually edited on the RFQ. +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 +the |RFQ|. -After the RFQ is confirmed into a purchase order (PO), click on the :guilabel:`Receipt` smart -button at the top right corner of the PO. Odoo automatically converts the purchase unit of measure -into the product's sales/inventory unit of measure, so the :guilabel:`Demand` column of the -delivery receipt shows the converted quantity. +After the |RFQ| is confirmed into a |PO|, click the :guilabel:`Receipt` smart button at the top of +the |PO|. -For example, if the product's purchase 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 delivery receipt shows the quantity in -units. +Odoo automatically converts the purchase unit of measure into the product's sales/inventory unit of +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. + + .. 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`. + + .. 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`. + +.. _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. After clicking :guilabel:`Replenish`, a replenish assistant box -pops up. The purchase unit of measure can be manually edited here if needed. Then, click -:guilabel:`Confirm` to create the RFQ. +the :guilabel:`Replenish` button. -Next, click the :guilabel:`Units Forecasted` smart button on the product form and scroll down to -:menuselection:`Forecasted Inventory --> Requests for quotation`. Click on the RFQ reference number -to open the draft RFQ. The purchase UoM can also be edited here if needed. +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 +: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. + +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|. + +.. _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. However, if needed, the :guilabel:`UoM` can be manually edited on the quotation. +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. -After the quotation is sent to the customer and confirmed into a sales order (SO), click on the -:guilabel:`Delivery` smart button at the top right corner 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. +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 +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. diff --git a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom/category.png b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom/category.png new file mode 100644 index 000000000..29b7b4281 Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom/category.png differ diff --git a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom/convert-products-by-unit.png b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom/convert-products-by-unit.png index 4db58dda8..2e1a7f779 100644 Binary files a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom/convert-products-by-unit.png and b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom/convert-products-by-unit.png differ diff --git a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom/on-po.png b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom/on-po.png new file mode 100644 index 000000000..87e65e878 Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom/on-po.png differ diff --git a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom/on-receipt.png b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom/on-receipt.png new file mode 100644 index 000000000..351cadff3 Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom/on-receipt.png differ diff --git a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom/replenish.png b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom/replenish.png new file mode 100644 index 000000000..08e65074e Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom/replenish.png differ diff --git a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom/uom-categories.png b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom/uom-categories.png deleted file mode 100644 index 8ad094331..000000000 Binary files a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom/uom-categories.png and /dev/null differ diff --git a/content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst b/content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst index 4315d92e7..64e8ebd31 100644 --- a/content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst +++ b/content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst @@ -1,64 +1,10 @@ -========================================== -Units of measure, packages, and packagings -========================================== +======================= +Packages and packagings +======================= In Odoo, there are a variety of ways to specify the amount of products being bought, stocked, and -sold. *Units of measure*, *packages*, and *packagings* are all available to streamline inventory -flows, allowing for a variety of configurations for products as they enter and leave the warehouse. - -.. _inventory/management/uom-example: - -Units of measure -================ - -A *unit of measure (UoM)* refers to any of the different standards used to measure and handle a -quantifiable amount of products, such a units, weight, time, or size. Different :abbr:`UoMs (Units -of Measure)` for weight, for example, can be kilos, pounds, ounces, grams, and so on. - -In Odoo, stock management and purchasing from suppliers are streamlined by specifying different -:abbr:`UoMs (Units of Measure)` for both buying and selling products. - -.. image:: usage/uom-on-product-form.png - :align: center - :alt: Specify unit of measure for selling a product vs purchasing. - -Once a product has a default :guilabel:`Unit of Measure` and :guilabel:`Purchase Unit of Measure` -set on the product form, Odoo automatically converts the different units in the product's -purchase/sales orders and the corresponding delivery orders/receipts. - -The only condition is that all of the units have to be in the *same category* (unit, weight, volume, -length, etc.). - -.. example:: - On the product form for `Rope`, the following fields are set as: - - - :guilabel:`Unit of Measure` in `ft` (feet), and - - :guilabel:`Purchase Unit of Measure` in `cm` (centimeters). - - Because the vendor sells rope in `cm`, the purchase :guilabel:`UoM` is used to represent the - quantity on the :abbr:`PO (Purchase Order)`, which is also in centimeters. - - .. image:: usage/purchase-rope-in-cm.png - :align: center - :alt: Display purchase order for the product, rope, in centimeters. - -After confirming the :abbr:`PO (Purchase Order)`, the quantity of product (found under the now -visible :guilabel:`Demand` column) is converted from the purchase :abbr:`UoM (Unit of Measure)` to -the :guilabel:`Unit of Measure`. Then, when the product is received by clicking the -:guilabel:`Validate` button, the quantity in :guilabel:`Done` is automatically adjusted to match the -:guilabel:`Demand` column. - -.. example:: - On the *receipt* for `Rope`, the quantities are automatically converted from `500 cm` that was - requested on the purchase order, to `16.40 ft` to match the internal/stock :guilabel:`Unit of - Measure` value. - - .. image:: usage/receive-rope-in-ft.png - :align: center - :alt: Rope quantity is converted from cm to ft during warehouse reception. - -.. seealso:: - :ref:`Use Different Units of Measure ` +sold. *Packages* and *packagings* are all available to streamline inventory flows, allowing for a +variety of configurations for products as they enter and leave the warehouse. .. _inventory/management/packages: diff --git a/content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage/purchase-rope-in-cm.png b/content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage/purchase-rope-in-cm.png deleted file mode 100644 index 06140daf0..000000000 Binary files a/content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage/purchase-rope-in-cm.png and /dev/null differ diff --git a/content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage/receive-rope-in-ft.png b/content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage/receive-rope-in-ft.png deleted file mode 100644 index 7082747ad..000000000 Binary files a/content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage/receive-rope-in-ft.png and /dev/null differ diff --git a/content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage/uom-on-product-form.png b/content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage/uom-on-product-form.png deleted file mode 100644 index 8b5d6e195..000000000 Binary files a/content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage/uom-on-product-form.png and /dev/null differ