-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[IMP] Inventory: bring units of measure current #15039
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -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: | ||
|
|
||
|
|
@@ -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 | ||
erjer-odoo marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| the |RFQ|. | ||
|
|
||
| After the |RFQ| is confirmed into a |PO|, click the :guilabel:`Receipt` smart button at the top of | ||
|
|
@@ -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|. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
|
|
||
| .. 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 | ||
Felicious marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| ----------------------- | ||
|
|
||
| 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 | ||
erjer-odoo marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| `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 added
BIN
+16.1 KB
...tions/inventory_and_mrp/inventory/product_management/configure/uom/cost-uom.png
erjer-odoo marked this conversation as resolved.
Show resolved
Hide resolved
|
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+6.27 KB
...ons/inventory_and_mrp/inventory/product_management/configure/uom/custom-uom.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+19.2 KB
.../inventory_and_mrp/inventory/product_management/configure/uom/inventory-uom.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+19.2 KB
...ns/inventory_and_mrp/inventory/product_management/configure/uom/on-delivery.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified
BIN
+1.49 KB
(110%)
...ications/inventory_and_mrp/inventory/product_management/configure/uom/on-po.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified
BIN
+1.68 KB
(110%)
...ons/inventory_and_mrp/inventory/product_management/configure/uom/on-receipt.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+14 KB
...ications/inventory_and_mrp/inventory/product_management/configure/uom/on-so.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+12.1 KB
...s/inventory_and_mrp/inventory/product_management/configure/uom/purchase-uom.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified
BIN
+3.09 KB
(120%)
...ions/inventory_and_mrp/inventory/product_management/configure/uom/replenish.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+19.4 KB
...nventory_and_mrp/inventory/product_management/configure/uom/sales-price-uom.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+14.6 KB
...ions/inventory_and_mrp/inventory/product_management/configure/uom/sales-uom.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified
BIN
-2.04 KB
(85%)
...ntory_and_mrp/inventory/product_management/configure/uom/uom-enable-setting.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.


Uh oh!
There was an error while loading. Please reload this page.