[IMP] inventory: fix and update lots

closes odoo/documentation#4526

X-original-commit: 5bc3b94b61
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
This commit is contained in:
Brandon Seltenrich (BRSE) 2023-03-20 14:50:32 +00:00
parent 140b50457d
commit 0835b171f2
22 changed files with 241 additions and 96 deletions

View File

@ -1,137 +1,282 @@
=================================
Manage lots of identical products
=================================
=====================================
Use lots to manage groups of products
=====================================
Lots are useful for products you receive in great quantity and for which
a lot number can help in reporting, quality controls, or any other info.
Lots will help identify a number of pieces having, for instance, a
production fault. It can be useful for a batch production of clothes or
food.
*Lots* are one of the two ways to identify and track products in Odoo. A lot usually indicates a
specific batch of an item that was received, is currently stored, or was shipped from a warehouse,
but can also pertain to a batch of products manufactured in-house, as well.
Odoo has the capacity to manage lots, ensuring compliance with the
traceability requirements imposed by the majority of industries.
Manufacturers assign lot numbers to groups of products that have common properties; this can lead to
multiple goods sharing the same lot number. This helps to identify a number of products in a single
group, and allows for end-to-end traceability of these products through each step in their
lifecycles.
The double-entry management in Odoo enables you to run very advanced
traceability.
Lots are useful for products that are manufactured or received in large quantities (such as clothes
or food), and can be used to trace a product back to a group. This is especially useful when
managing product recalls or expiration dates.
Setting Up
==========
.. seealso::
:doc:`/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers`
Application Configuration
-------------------------
Enable lots & serial numbers
============================
First, you need to activate the tracking of lot numbers. To do so, go to
:menuselection:`Inventory --> Configuration --> Settings` and tick *Lots & Serial
Numbers*. Then, click on save.
To track products using lots, the *Lots & Serial Numbers* feature must be enabled. Go to
the :menuselection:`Inventory app --> Configuration --> Settings`, scroll down to the
:guilabel:`Traceability` section, and click the box next to :guilabel:`Lots & Serial Numbers`. Then,
click the :guilabel:`Save` button to save changes.
.. image:: lots/lots_01.png
:align: center
.. image:: lots/lots-enabled-lots-setting.png
:align: center
:alt: Enabled lots and serial numbers feature in inventory settings.
Product Configuration
---------------------
Track products by lots
======================
Now, you have to configure which products you want to track by serial
numbers.
Once the :guilabel:`Lots & Serial Numbers` setting has been activated, individual products can now
be configured to be tracked using lots. To do this, go to the :menuselection:`Inventory app -->
Products --> Products`, and choose a product.
Go to :menuselection:`Master Data --> Products` and open the product of your choice.
There, click on *Edit* and select *Tracking by Lots* in the
inventory tab.
Once on the product form, click :guilabel:`Edit` to make changes to the form. Then, click the
:guilabel:`Inventory` tab. In the :guilabel:`Traceability` section, click :guilabel:`By Lots`. Then,
click :guilabel:`Save` to save changes. Existing or new lot numbers can now be assigned to
newly-received or manufactured batches of this product.
.. image:: lots/lots_02.png
:align: center
.. important::
If a product has stock on-hand prior to activating tracking by lots or serial numbers, an
inventory adjustment might need to be performed to assign lot numbers to the existing stock.
.. image:: lots/lots_03.png
:align: center
.. image:: lots/lots-tracking-product-form.png
:align: center
:alt: Enabled tracking by lots feature on product form.
Manage Lots
===========
Create new lots for products already in stock
---------------------------------------------
Receipts
--------
New lots can be created for products already in stock with no assigned lot number. To do this, go to
the :menuselection:`Inventory app --> Products --> Lots/Serial Numbers`, and click
:guilabel:`Create`. Doing so reveals a separate page where a new :guilabel:`Lot/Serial Number` is
generated automatically.
In order to receive a product tracked by lots, you have to specify its
lot numbers. You have several ways of doing so:
.. tip::
While Odoo automatically generates a new :guilabel:`Lot/Serial Number` to follow the most recent
number, it can be edited and changed to any desired number, by clicking the line under the
:guilabel:`Lot/Serial Number` field, and changing the generated number.
1. Manually assign the different lot numbers
Once the new :guilabel:`Lot/Serial Number` is generated, click the blank field next to
:guilabel:`Product` to reveal a drop-down menu. From this menu, select the product to which this new
number will be assigned.
2. Copy/paste lot numbers from an Excel file
This form also provides the option to adjust the :guilabel:`Quantity`, assign a unique
:guilabel:`Internal Reference` number (for traceability purposes), and assign this specific lot or
serial number configuration to a specific website in the :guilabel:`Website` field (if working in a
multi-website environment).
First, you need to open the detailed operations of your picking.
A detailed description of this specific lot or serial number can also be added in the
:guilabel:`Description` tab below.
.. image:: lots/lots_04.png
:align: center
When all desired configurations are complete, click the :guilabel:`Save` button to save all changes.
Manually assign the different lot numbers
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. image:: lots/lots-new-lot-number.png
:align: center
:alt: New lot number creation form with assigned product.
When opening the detailed operations, you can click on *Add a line*.
Then, you will be able to fill the lot number in. Once done, you can
click on *Add a line* again to register a new lot number.
After a new lot number has been created, saved, and assigned to the desired product, navigate back
to the product form in the :menuselection:`Inventory` app, by going to :menuselection:`Products -->
Products`, and selecting the product to which this newly-created lot number was just assigned.
.. image:: lots/lots_05.png
:align: center
On that product's detail form, click the :guilabel:`Lot/Serial Numbers` smart button to view the new
lot number. When additional quantity of this product is received or manufactured, this new lot
number can be selected and assigned to it.
Copy/paste lot number from an Excel file
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Manage lots for shipping and receiving
======================================
Once the spreadsheet containing the lot numbers you received from your
supplier and copy the list. Then, you can paste them in the *Lot/Serial
Number Name* column for Odoo to automatically create the necessary
lines. After that, you will have to manually enter the number of
products that are contained in each one of the lots.
Lot numbers can be assigned for both **incoming** and **outgoing** goods. For incoming goods, lot
numbers are assigned directly on the purchase order form. For outgoing goods, lot numbers are
assigned directly on the sales order form.
.. image:: lots/lots_06.png
:align: center
Manage lots on receipts
-----------------------
.. image:: lots/lots_05.png
:align: center
Assigning lot numbers to **incoming** goods can be done directly from the purchase order (PO).
.. image:: lots/lots_07.png
:align: center
To create a :abbr:`PO (purchase order)`, go to :menuselection:`Purchase app --> Create`. Doing so
reveals a new, blank request for quotation (RFQ) form.
Operation Types
---------------
On this :abbr:`RFQ (request for quotation)`, fill out the necessary information by adding a
:guilabel:`Vendor`, and adding the desired products to the :guilabel:`Product` lines, by clicking
:guilabel:`Add a product` (under the :guilabel:`Products` tab).
Of course, you also have the possibility to define how you will manage
lots for each operation type. To do so, open the *Inventory* app and
go to :menuselection:`Configuration --> Operation Types`.
Choose the desired quantity of the product to order by changing the number in the
:guilabel:`Quantity` column.
For each type (receipts, internal transfers, deliveries, …), you can
decide if you allow to create new lot numbers or only use existing ones.
By default, the creation of new lots is only allowed at product
reception, and using existing lot numbers isnt allowed in this
operation. If you have inter-warehouse transfers and track products by
lots, it can be useful to allow using existing lot numbers in receipts
too.
Once the :abbr:`RFQ (request for quotation)` has been filled out, click :guilabel:`Confirm Order`.
When the :abbr:`RFQ (request for quotation)` is confirmed, it becomes a :guilabel:`Purchase Order`,
and a :guilabel:`Receipt` smart button appears. Click the :guilabel:`Receipt` smart button to be
taken to the warehouse receipt form.
.. image:: lots/lots_08.png
:align: center
.. note::
Clicking :guilabel:`Validate` before assigning a lot number to the ordered product quantities
will result in a :guilabel:`User Error` pop-up. The pop-up requires entry of a lot or serial
number for the ordered products. The :abbr:`RFQ (request for quotation)` **cannot** be validated
without a lot number being assigned.
.. image:: lots/lots-user-error-popup.png
:align: center
:alt: Add lot/serial number user error popup.
From here, click the :guilabel:`Additional Options` menu, represented by a :guilabel:`hamburger
(four horizontal lines)` icon, located to the right of the :guilabel:`Unit of Measure` column in the
:guilabel:`Operations` tab). Clicking that icon reveals a :guilabel:`Detailed Operations` pop-up.
In this pop-up, configure a number of different fields, including the assignation of a lot number,
under the :guilabel:`Lot/Serial Number Name` column, located at the bottom of the pop-up.
There are two ways to assign lot numbers: **manually** and **copy/paste**.
- **Manually assign lot numbers**: Click :guilabel:`Add a line` and choose the location the products
will be stored in under the :guilabel:`To` column. Then, type a new :guilabel:`Lot Number Name`
and set the :guilabel:`Done` quantity.
.. image:: lots/lots-assign-lot-number-popup.png
:align: center
:alt: Assign lot number detailed operations popup.
.. note::
If quantities should be processed in multiple locations and lots, click :guilabel:`Add a line`
and type a new :guilabel:`Lot Number Name` for additional quantities. Repeat until the
:guilabel:`Quantity Done` matches the :guilabel:`Demand`.
- **Copy/paste lot numbers from a spreadsheet**: Populate a spreadsheet with all of the lot numbers
received from the supplier (or manually chosen to assign upon receipt). Then, copy and paste them
in the :guilabel:`Lot/Serial Number Name` column. Odoo will automatically create the necessary
number of lines based on the amount of numbers pasted in the column. From here, the :guilabel:`To`
locations and :guilabel:`Done` quantities can be manually entered in each of the lot number lines.
.. image:: lots/lots-excel-spreadsheet.png
:align: center
:alt: List of lot numbers copied on excel spreadsheet.
Once all product quantities have been assigned a lot number, click :guilabel:`Confirm` to close the
pop-up. Then, click :guilabel:`Validate`.
A :guilabel:`Traceability` smart button appears upon validating the receipt. Click the
:guilabel:`Traceability` smart button to see the updated :guilabel:`Traceability Report`, which
includes: a :guilabel:`Reference` document, the :guilabel:`Product` being traced, the
:guilabel:`Lot/Serial #` assigned, and more.
Manage lots on delivery orders
------------------------------
Assigning lot numbers to **outgoing** goods can be done directly from the sales order (SO).
To create an :abbr:`SO (sales order)`, go to the :menuselection:`Sales app --> Create`. Doing so
reveals a new, blank quotation form.
On this blank quotation form, fill out the necessary information by adding a :guilabel:`Customer`,
and adding products to the :guilabel:`Product` lines (in the :guilabel:`Order Lines` tab) by
clicking :guilabel:`Add a product`.
Then, choose the desired quantity to sell by changing the number in the :guilabel:`Quantity` column.
Once the quotation has been filled out, click the :guilabel:`Confirm` button to confirm the
quotation. When the quotation is confirmed, it becomes an :abbr:`SO (sales order)`, and a
:guilabel:`Delivery` smart button appears.
Click the :guilabel:`Delivery` smart button to view the warehouse receipt form for that specific
:abbr:`SO (sales order)`.
From here, click the :guilabel:`Additional Options` menu, represented by a `hamburger` icon (four
horizontal lines, located to the right of the :guilabel:`Unit of Measure` column in the
:guilabel:`Operations` tab). Clicking that icon reveals a :guilabel:`Detailed Operations` pop-up.
In the pop-up, a :guilabel:`Lot/Serial Number` will be chosen by default, with the full
:guilabel:`Reserved` quantity taken from that specific lot (if there is enough stock in that
particular lot).
If there is insufficient stock in that lot, or if partial quantities of the :guilabel:`Demand`
should be taken from multiple lots, change the quantity in the :guilabel:`Done` column to only
include that specific part of the total quantity.
.. note::
The lot automatically chosen for delivery orders varies, depending on the selected removal
strategy (:abbr:`FIFO (First In, First Out)`, :abbr:`LIFO (Last In, First Out)`, or :abbr:`FEFO
(First Expiry, First Out)`). It will also depend on the quantity ordered, and if there is enough
quantity in one lot to fulfill the order.
.. seealso::
:doc:`/applications/inventory_and_mrp/inventory/routes/strategies/removal`
Then, click :guilabel:`Add a line`, select an additional (different) :guilabel:`Lot/Serial Number`,
apply the rest of the :guilabel:`Done` quantities, and click :guilabel:`Confirm` to close the
pop-up. Lastly, click the :guilabel:`Validate` button to deliver the products.
.. image:: lots/lots-detailed-operations-popup.png
:align: center
:alt: Detailed operations popup for source lot number on sales order.
Upon validating the delivery order, a :guilabel:`Traceability` smart button appears. Click the
:guilabel:`Traceability` smart button to see the updated :guilabel:`Traceability Report`, which
includes a :guilabel:`Reference` document, the :guilabel:`Product` being traced, the
:guilabel:`Date`, and the :guilabel:`Lot/Serial #` assigned.
The :guilabel:`Traceability Report` can also include a :guilabel:`Reference` receipt from the
previous purchase order, if the product quantities shared the same lot number.
Manage lots for different operations types
==========================================
In Odoo, the creation of new lots is only allowed upon **receiving** products from a purchase order,
by default. **Existing** lot numbers cannot be used.
For sales orders, the opposite is true: new lot numbers cannot be created on the delivery order,
only existing lot numbers can be used.
To change the ability to use new (or existing) lot numbers on any operation type, go to the
:menuselection:`Inventory app --> Configuration --> Operations Types`, and select the desired
:guilabel:`Operation Type`.
For :guilabel:`Receipts`, found on the :menuselection:`Operations Types` page, the :guilabel:`Use
Existing Lots/Serial Numbers` option can be enabled, by clicking :guilabel:`Edit`, and then clicking
the checkbox beside the :guilabel:`Use Existing Lots/Serial Numbers` option (in the
:guilabel:`Traceability` section). Lastly, click the :guilabel:`Save` button to save the changes.
For :guilabel:`Delivery Orders`, the :guilabel:`Create New Lots/Serial Numbers` option can be
enabled, by clicking :guilabel:`Edit`, and clicking the checkbox beside the :guilabel:`Create New
Lots/Serial Numbers` option. Be sure to click the :guilabel:`Save` button to save all changes.
.. image:: lots/lots-operations-type-form.png
:align: center
:alt: Enabled traceability setting on operations type form.
.. tip::
For inter-warehouse transfers involving products tracked by lots, it can be useful to enable the
:guilabel:`Use Existing Lots/Serial Numbers` option for warehouse receipts.
Lots traceability
=================
The lot number given to the products allows you to keep track of where
they were received, put in stock, to whom they were sold and where they
were shipped to.
Manufacturers and companies can refer to traceability reports to see the entire lifecycle of a
product: where (and when) it came from, where it was stored, and who (and when) it went to.
To track an item, open the *Inventory* module and, in :menuselection:`Master Data -->
Lots/Serial Numbers`, click on the lot number corresponding to your
search.
To see the full traceability of a product, or group by lots, go to the :menuselection:`Inventory app
--> Products --> Lots/Serial Numbers`. Doing so reveals the :menuselection:`Lots/Serial Numbers`
dashboard.
.. image:: lots/lots_09.png
:align: center
From here, products with lot numbers assigned to them will be listed by default, and can be expanded
to show the lot numbers those products have assigned to them.
When you open the *Traceability* information, you see in which
documents the lot number has been used.
To group by lots (or serial numbers), begin by removing any filters in the search bar. Then, click
the :guilabel:`Group By` drop-down, select :guilabel:`Add Custom Group`, and select
:guilabel:`Lot/Serial Number` from the drop-down menu. Then, click :guilabel:`Apply`.
.. image:: lots/lots_10.png
:align: center
Doing so displays all existing lots and serial numbers, and can be expanded to show all quantities
of products with that assigned number.
Now, if you want to locate the lot number, you can do so by clicking on
the *Location* stat button.
.. image:: lots/lots-traceability-report.png
:align: center
:alt: Lots and serial numbers traceability report.
.. image:: lots/lots_11.png
:align: center
.. image:: lots/lots_12.png
:align: center
.. seealso::
:doc:`/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/differences`

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB