Skip to content

Commit 96e2529

Browse files
larm-odooksc-odoosamueljlieberStraubCreative
committed
[IMP] Inventory: updating second person and images, add clarity
feku-review-add-headings-and-extra-reference closes #5454 X-original-commit: 6cb2ed8 Signed-off-by: Felicia Kuan (feku) <[email protected]> Co-authored-by: ksc-odoo <[email protected]> Co-authored-by: Sam Lieber (sali) <[email protected]> Co-authored-by: Zachary Straub <[email protected]>
1 parent 139e991 commit 96e2529

19 files changed

+226
-46
lines changed

content/applications/inventory_and_mrp/inventory/barcode/operations/internal.rst

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
Process to Transfers
33
====================
44

5+
.. _barcode/operations/intro:
6+
57
Simple Transfers
68
================
79

content/applications/inventory_and_mrp/inventory/barcode/setup/software.rst

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
Activate the Barcodes in Odoo
33
=============================
44

5+
.. _inventory/barcode/software:
6+
57
The barcode scanning features can save you a lot of time usually lost
68
switching between the keyboard, the mouse and the scanner. Properly
79
attributing barcodes to products, pickings locations, etc. allows you to

content/applications/inventory_and_mrp/inventory/management/products/uom.rst

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
Use different units of measure
33
==============================
44

5+
.. _inventory/management/products/units_of_measure:
6+
57
In some cases, handling products in different units of measure is necessary. For example, a
68
business can buy products from a country that uses the metric system, and then sell those products
79
in a country that uses the imperial system, so the business needs to convert the units. Another
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,245 @@
1-
====================================================================
2-
When Should you Use Packages, Units of Measure or Special Packaging?
3-
====================================================================
1+
==========================================
2+
Units of measure, packages, and packagings
3+
==========================================
4+
5+
In Odoo, there are a variety of ways to specify the amount of products being bought, stocked, and
6+
sold. *Units of measure*, *packages*, and *packagings* are all available to streamline inventory
7+
flows, allowing for a variety of configurations for products as they enter and leave the warehouse.
48

59
Units of measure
610
================
711

8-
Units of measure specify the unit used to handle a product. In Odoo, you have the possibility to
9-
specify the unit of measure in which you manage your stock and the one which is used when
10-
purchasing the product to your supplier.
12+
A *unit of measure (UoM)* refers to any of the different standards used to measure and handle a
13+
quanitifiable amount of products, such a units, weight, time, or size. Different :abbr:`UoMs (Units
14+
of Measure)` for weight, for example, can be kilos, pounds, ounces, grams, and so on.
15+
16+
In Odoo, stock management and purchasing from suppliers are streamlined by specifying different
17+
:abbr:`UoMs (Units of Measure)` for both buying and selling products.
1118

12-
.. image:: usage/uom-product-setting.png
19+
.. image:: usage/uom-on-product-form.png
1320
:align: center
14-
:alt: Specify unit of measure for handling a product vs. when it's purchased.
21+
:alt: Specify unit of measure for selling a product vs purchasing.
22+
23+
Once a product has a default :guilabel:`Unit of Measure` and :guilabel:`Purchase Unit of Measure`
24+
set on the product form, Odoo automatically converts the different units in the product's
25+
purchase/sales orders and the corresponding delivery orders/receipts.
26+
27+
The only condition is that all of the units have to be in the *same category* (unit, weight, volume,
28+
length, etc.).
29+
30+
.. example::
31+
On the product form for `Rope`, the following fields are set as:
32+
33+
- :guilabel:`Unit of Measure` in `ft` (feet), and
34+
- :guilabel:`Purchase Unit of Measure` in `cm` (centimeters).
35+
36+
Because the vendor sells rope in `cm`, the purchase :guilabel:`UoM` is used to represent the
37+
quantity on the :abbr:`PO (Purchase Order)`, which is also in centimeters.
1538

16-
Once a product has a :guilabel:`Unit of Measure` and a :guilabel:`Purchase UoM` set on the product
17-
form, Odoo can automatically convert the different units in the product's purchase/sales orders and
18-
the orders' respective delivery orders/receipts. The only condition is that all the units have to
19-
be in the *same category* (Unit, Weight, Volume, Length, etc.).
39+
.. image:: usage/purchase-rope-in-cm.png
40+
:align: center
41+
:alt: Display purchase order for the product, rope, in centimeters.
2042

21-
For example, a product can have its :guilabel:`Unit of Measure` set to `feet (ft)` and its
22-
:guilabel:`Purchase UoM` set to `centimeters (cm)`. When a purchase order (PO) is created for that
23-
product, it will list the quantity in centimeters. Then, when the PO is confirmed, Odoo
24-
automatically generates a receipt and converts the centimeters to feet. The receipt will list the
25-
quantity in feet.
43+
After confirming the :abbr:`PO (Purchase Order)`, the quantity of product (found under the now
44+
visible :guilabel:`Demand` column) is converted from the purchase :abbr:`UoM (Unit of Measure)` to
45+
the :guilabel:`Unit of Measure`. Then, when the product is received by clicking the
46+
:guilabel:`Validate` button, the quantity in :guilabel:`Done` is automatically adjusted to match the
47+
:guilabel:`Demand` column.
48+
49+
.. example::
50+
On the *receipt* for `Rope`, the quantities are automatically converted from `500 cm` that was
51+
requested on the purchase order, to `16.40 ft` to match the internal/stock :guilabel:`Unit of
52+
Measure` value.
53+
54+
.. image:: usage/receive-rope-in-ft.png
55+
:align: center
56+
:alt: Rope quantity is converted from cm to ft during warehouse reception.
57+
58+
.. seealso::
59+
:ref:`Use Different Units of Measure <inventory/management/products/units_of_measure>`
2660

2761
Packages
2862
========
2963

30-
A package refers to the physical container that holds one or several products from a picking. For
31-
example, when a product is ready for delivery, its quantities can be separated into two different
32-
packages. In Odoo, the quantity of products in each package can be recorded in the database. Make
33-
sure the :guilabel:`Packages` option is enabled in :menuselection:`Inventory --> Configuration -->
34-
Settings --> Operations`.
64+
Packages are a physical container that holds one or several products from a picking, typically used
65+
for outgoing deliveries or internal transfers. Packages can be a reusable or disposable (shipping)
66+
box, and are **not** specific to a product.
3567

36-
On a delivery order, separate the products into different packages by setting the :guilabel:`Done`
37-
quantity to the desired quantity in the first package. Then, click :guilabel:`Put in Pack` to
38-
record the first package. Repeat for each package.
68+
Reusable boxes temporarily hold products during a picking to be brought to either a packing or
69+
shipping area. Disposable boxes are the actual shipping containers (e.g. cardboard boxes, envelopes,
70+
shipping bags, etc). These are used to ship the products out to customers.
3971

40-
.. image:: usage/separate-delivery-into-different-packages.png
41-
:align: center
42-
:alt: Separate delivery into different packages
72+
Multiple items in a sales order (SO) can be separated into different packages to accommodate the
73+
products. For example, an :abbr:`SO (Sales Order)` that has 20 boxes of pencils and 4 boxes of
74+
erasers can be separated into two separate packages, each containing 10 boxes of pencils and 2 boxes
75+
of erasers.
76+
77+
.. note::
78+
Products do *not* have to be divided equally. Products can be divided into as many packages that
79+
are needed to accommodate the :abbr:`SO (Sales Order)`.
80+
81+
In Odoo, the quantity of products in each package needs to be recorded, so there is a full history
82+
for each product, including which package each item is shipped out in.
83+
84+
To use this method, ensure the :guilabel:`Packages` option is enabled, by navigating to
85+
:menuselection:`Inventory app --> Configuration --> Settings --> Operations`. Click the
86+
:guilabel:`Packages` check box, and then :guilabel:`Save` to activate the feature.
87+
88+
On a delivery order, assign which package to use by clicking on the :guilabel:`≣ (Detailed
89+
Operations)` icon to the right of each product in the :guilabel:`Operations` tab.
4390

44-
.. image:: usage/delivery-package-details.png
91+
.. image:: usage/detailed-operations-icon.png
4592
:align: center
46-
:alt: Separate delivery package details
93+
:alt: Find detailed operations icon to the right on the product line.
94+
95+
Clicking the :guilabel:`≣ (Detailed Operations)` icon of a product reveals a pop-up window. In this
96+
window, the :guilabel:`Product` name, :guilabel:`Demand`, and :guilabel:`Quantity Done` are clearly
97+
displayed above the customizable product line.
98+
99+
Here, the warehouse location the product is coming from can be modified, in addition to the
100+
:guilabel:`Source Package` and :guilabel:`Destination Package`, which represents what package(s) the
101+
product(s) will be packaged into.
102+
103+
Click :guilabel:`Add a line` to include each additional package used. Enter the desired amount in
104+
the :guilabel:`Done` field to specify the amount of products that will go into the
105+
:guilabel:`Destination Package`.
106+
107+
Multiple packages in a single delivery
108+
--------------------------------------
109+
110+
Although a :abbr:`DO (Delivery Order)` is typically associated with a single package, orders can be
111+
split by clicking the :guilabel:`≣ (Detailed Operations)` icon next to the products on an :abbr:`SO
112+
(Sales Order)` line. This opens the :guilabel:`Detailed Operations` window with an editable table to
113+
specify which products are intended for which package.
114+
115+
.. example::
116+
To package 10 boxes of pencils with 2 boxes of erasers from the same :abbr:`SO (Sales Order)`,
117+
begin by navigating to the :abbr:`DO (Delivery Order)`. Then, select the :guilabel:`≣ (four
118+
horizontal lines)` icon to the right of the product, `Box of Pencils`. Clicking the icon opens
119+
the :guilabel:`Detailed Operations` window that is used to detail how products, like the 20 `Box
120+
of Pencils`, are packaged.
121+
122+
Type in `10` under the :guilabel:`Done` field to package 10 products into the
123+
:guilabel:`Destination Package`. To specify the destination package, type the name of an existing
124+
package (such as `PACK0000006`) under the field, :guilabel:`Destination Package`. If the package
125+
does not exist, Odoo displays the :guilabel:`Create` button to create a new package. Click
126+
:guilabel:`Add a line` to assign the remaining products in another package, `PACK0000007`.
127+
128+
.. image:: usage/add-destination-package.png
129+
:align: center
130+
:alt: Detailed operations pop-up where the amount of product going in a pack can be specified.
131+
132+
Select :guilabel:`Detailed Operations` on the product line for `Box of Erasers` and similarly set
133+
2 :guilabel:`Done` products to `PACK0000006` and `PACK0000007` each.
134+
135+
.. image:: usage/put-in-pack-button.png
136+
:align: center
137+
:alt: Put in pack button to match the done amount matches the demand.
138+
139+
Once all the products for each line have been entered, click :guilabel:`Confirm` to return to the
140+
:abbr:`DO (Delivery Order)`.
141+
142+
The :guilabel:`Done` quantity on the :abbr:`DO (Delivery Order)` updates as products are selected
143+
for each package. When the :guilabel:`Done` amount matches the :guilabel:`Demand` amount, click the
144+
:guilabel:`Validate` button to complete the delivery order.
145+
146+
.. tip::
147+
The :guilabel:`Put In Pack` button is intended to quickly package all products in the :abbr:`DO
148+
(Delivery Order)` into one new package. The option to rename the package, or modify its contents,
149+
is available in the :guilabel:`Detailed Operations` pop-up.
150+
151+
Clicking on the :guilabel:`Packages` smart button in the upper-right corner of the delivery order
152+
reveals a separate page, showing all the packages used in that :abbr:`DO (Delivery Order)`.
47153

48154
Packagings
49155
==========
50156

51-
Packaging refers to a standard container that holds several unit of a product. For example, cans of
52-
soda can be in a 6-pack, 15-pack, or even a pallet for the packaging.
157+
*Packaging* is product specific, and refers to a disposable container that holds several units of a
158+
specific product. Unlike packages, packagings cannot be reusable, and each specific packaging must
159+
be defined on the individual product form.
53160

54-
In Odoo, packagings are used for indicative purposes on sales/purchase orders and inventory
55-
transfers. The main difference between packagings and units of measure is that packagings are
56-
defined at the product level while UoMs are generic.
161+
For example, different packages for cans of soda can be configured as a 6-pack, a 12-pack, or a case
162+
of 36. Each flavor of soda would need a `6`, `12`, and `36` can packaging configured on the
163+
individual product since packagings are product specific, not generic.
57164

58-
.. image:: usage/product-packaging-examples.png
59-
:align: center
60-
:alt: Different product packaging examples.
165+
Set up packagings
166+
-----------------
61167

62-
.. image:: usage/package-field-on-po.png
63-
:align: center
64-
:alt: Package field on purchase order.
168+
To use packagings, ensure the :guilabel:`Product Packagings` feature is enabled. To do that,
169+
navigate to :menuselection:`Inventory app --> Configuration --> Settings`. Then, under the
170+
:guilabel:`Products` heading, check the box next to :guilabel:`Product Packagings`, and click
171+
:guilabel:`Save`.
65172

66-
.. note::
67-
Packaging is also useful during product reception. When scanning the barcode of the
68-
packaging, Odoo automatically adds the number of units contained in the packing on the picking.
173+
In Odoo, product packagings are used on sales/purchase orders and inventory transfers.
69174

70-
.. seealso::
71-
:doc:`uom`
175+
Next, to create packagings, navigate to :menuselection:`Inventory app --> Products --> Products` and
176+
click on the desired product, then click :guilabel:`Edit` on the product page.
177+
178+
Under the :guilabel:`Inventory` tab, scroll down to the :guilabel:`Packaging` section, and click
179+
:guilabel:`Add a line`. Then, a pop-up window appears, in which the following information for each
180+
packaging should be entered:
181+
182+
- :guilabel:`Packaging`: name of packaging that appears on sales/purchase orders as a packaging
183+
option for the product
184+
- :guilabel:`Contained quantity`: amount of product in the packaging
185+
- :guilabel:`Barcode`: identifier used with the :ref:`Barcode app <barcode/operations/intro>` to
186+
trace the packaging of a product during stock moves or pickings. Leave blank if not in use
187+
- :guilabel:`Company`: indicates the packaging is only available at the selected company. Leave
188+
blank to make the packaging available across all companies.
189+
190+
.. example::
191+
Create a packaging type for 6 cans of the product, `Grape Soda`, by naming the
192+
:guilabel:`Packaging` to `6-pack` and setting the :guilabel:`Contained quantity` to `6` in the
193+
pop-up window that appears after clicking on :guilabel:`Add a line`.
194+
195+
.. image:: usage/create-product-packages.png
196+
:align: center
197+
:alt: Create 6-pack case for product.
198+
199+
When all the necessary information has been entered, either click :guilabel:`Save & Close` to save
200+
the packaging and return to the product detail form, or :guilabel:`Save & New` to save the packaging
201+
and create another one in a fresh pop-up window.
202+
203+
.. example::
204+
View all product packagings in the :guilabel:`Inventory` tab of the product form.
205+
206+
.. image:: usage/display-product-packaging.png
207+
:align: center
208+
:alt: Show packaging and contained quantities, specified on the product page form in the
209+
Inventory tab.
210+
211+
View all packagings
212+
-------------------
213+
214+
To view all packagings that have been created, go to :menuselection:`Inventory app --> Configuration
215+
--> Product Packagings`. Doing so reveals the :guilabel:`Product Packagings` page with a complete
216+
list of all packagings that have been created for all products. Create new packagings by clicking
217+
:guilabel:`Create`.
218+
219+
.. example::
220+
Two soda products, `Grape Soda` and `Diet Coke`, have three types of packaging configured. On the
221+
:guilabel:`Product Packagings` page, each product can sold as a `6-Pack` that contains 6
222+
products, `12-Pack` of 12 products, or a `Case` of 32 products.
223+
224+
.. image:: usage/packagings.png
225+
:align: center
226+
:alt: List of different packagings for products.
227+
228+
Apply packagings
229+
----------------
230+
231+
When creating a sales order in the :menuselection:`Sales` app, specify the packagings that should be
232+
used for the product(s). The chosen packaging is displayed on the :abbr:`SO (Sales Order)` under the
233+
:guilabel:`Package` field.
234+
235+
.. example::
236+
18 cans of the product, `Grape Soda`, is packed using three 6-pack packagings.
237+
238+
.. image:: usage/packagings-sales-order.png
239+
:align: center
240+
:alt: Assign packagings on the Sales Order Line.
241+
242+
.. tip::
243+
Packaging can be used in conjunction with Odoo :ref:`Barcode <inventory/barcode/software>`. When
244+
receiving products from suppliers, scanning the packaging barcode automatically adds the number
245+
of units in the packaging to the internal count of the product.
Loading

0 commit comments

Comments
 (0)