From fb296bb94f74fa6f3c13c39cf4a5c3b6082f65bf Mon Sep 17 00:00:00 2001 From: "John Holton (hojo)" Date: Fri, 10 Jan 2025 10:19:43 -0800 Subject: [PATCH] [ADD] Manufacturing: Lots and serial numbers --- .../manufacturing/workflows.rst | 1 + .../workflows/manufacture_lots_serials.rst | 137 ++++++++++++++++++ .../batch-production.png | Bin 0 -> 12732 bytes .../manufacture_lots_serials/lot-sn-field.png | Bin 0 -> 8828 bytes 4 files changed, 138 insertions(+) create mode 100644 content/applications/inventory_and_mrp/manufacturing/workflows/manufacture_lots_serials.rst create mode 100644 content/applications/inventory_and_mrp/manufacturing/workflows/manufacture_lots_serials/batch-production.png create mode 100644 content/applications/inventory_and_mrp/manufacturing/workflows/manufacture_lots_serials/lot-sn-field.png diff --git a/content/applications/inventory_and_mrp/manufacturing/workflows.rst b/content/applications/inventory_and_mrp/manufacturing/workflows.rst index b9f1973b5c..9cf6faf7fb 100644 --- a/content/applications/inventory_and_mrp/manufacturing/workflows.rst +++ b/content/applications/inventory_and_mrp/manufacturing/workflows.rst @@ -15,3 +15,4 @@ Workflows workflows/unbuild_orders workflows/byproducts workflows/continuous_improvement + workflows/manufacture_lots_serials diff --git a/content/applications/inventory_and_mrp/manufacturing/workflows/manufacture_lots_serials.rst b/content/applications/inventory_and_mrp/manufacturing/workflows/manufacture_lots_serials.rst new file mode 100644 index 0000000000..4c39daea44 --- /dev/null +++ b/content/applications/inventory_and_mrp/manufacturing/workflows/manufacture_lots_serials.rst @@ -0,0 +1,137 @@ +======================================== +Manufacture with lots and serial numbers +======================================== + +.. |MO| replace:: :abbr:`MO (Manufacturing Order)` +.. |MOs| replace:: :abbr:`MOs (Manufacturing Orders)` + +In Odoo, *lot numbers* and *serial numbers* are used to identify and track products in Odoo. Serial +numbers are used to assign unique numbers to individual products, while lot numbers are used to +assign a single number to multiple units of a specific product. + +When manufacturing products tracked using lots or serial numbers, Odoo requires the lot or serial +number to be assigned to each product before manufacturing can be completed. This ensures that each +product is properly tracked from the moment it enters inventory. + +Configure products for tracking +=============================== + +By default, Odoo tracks the quantity of each product on hand, but does not track individual units of +a product. Lot or serial number tracking must be enabled for each product individually. + +To track a product using lots or serial numbers, begin by navigating to :menuselection:`Inventory +--> Configuration --> Settings`, then scroll down to the :guilabel:`Traceability` section, and tick +the :guilabel:`Lots & Serial Numbers` checkbox. Finally, click :guilabel:`Save` to save the change. + +Next, click on :menuselection:`Products --> Products`, and select a product to track. Make sure the +:guilabel:`Track Inventory` checkbox is ticked in the :guilabel:`General Information` tab. Since lot +and serial number functionality is enabled, a drop-down menu appears next to the ticked checkbox. + +Click on the :guilabel:`Track Inventory` drop-down menu. By default, :guilabel:`By Quantity` is +selected, which only tracks the quantity on hand. Select :guilabel:`By Lots` to track the product +using lot numbers, or :guilabel:`By Unique Serial Number` to track the product using serial numbers. + +.. seealso:: + :doc:`Lots <../../inventory/product_management/product_tracking/lots>` + :doc:`Serial numbers <../../inventory/product_management/product_tracking/serial_numbers>` + +Lot number manufacturing +======================== + +To manufacture a product tracked with lots, begin by navigating to :menuselection:`Manufacturing --> +Operations --> Manufacturing Orders`. Click :guilabel:`New` to create a new manufacturing order +(MO). + +In the :guilabel:`Product` field, select a product tracked using lots, and enter the desired +:guilabel:`Quantity`. Click :guilabel:`Confirm` to confirm the |MO|. + +Once the |MO| is confirmed, a :guilabel:`Lot/Serial Number` field appears in the top section of the +|MO| form. By default, this field is empty. + +To populate the :guilabel:`Lot/Serial Number` field with a lot number, click the +:icon:`fa-plus-square-o` :guilabel:`(plus)` icon to the right of the field. Doing so automatically +generates a lot, using the next available number, and enters it in the field. + +Alternatively, click on the :guilabel:`Lot/Serial Number` field and select an existing lot number, +or manually enter a new lot number and click :guilabel:`Create "#"` in the drop-down menu. + +.. image:: manufacture_lots_serials/lot-sn-field.png + :alt: The "Lot/Serial Number" field on an MO. + +Either of these methods assign the product(s) in the |MO| a lot number before production is +finished. It is also possible to complete production and close the |MO| by clicking +:guilabel:`Produce All`, without assigning a lot number. Doing so automatically generates and +assigns a lot, using the next available number. + +Serial number manufacturing +=========================== + +To manufacture a product tracked with serial numbers, begin by navigating to +:menuselection:`Manufacturing --> Operations --> Manufacturing Orders`. Click :guilabel:`New` to +create a new |MO|. + +In the :guilabel:`Product` field, select a product tracked using serial numbers, and enter the +desired :guilabel:`Quantity`. Click :guilabel:`Confirm` to confirm the |MO|. + +Once the |MO| is confirmed, a :guilabel:`Lot/Serial Number` field appears in the top section of the +|MO| form. By default, this field is empty. + +The rest of the manufacturing process depends on how many units the |MO| contains. + +Manufacture single unit +----------------------- + +If a single unit of the product is being manufactured, clicking :guilabel:`Produce All` closes the +|MO|, and automatically generates and assigns the next available serial number, which appears in the +:guilabel:`Lot/Serial Number` field. + +To assign a serial number without closing the |MO|, enter a number manually in the +:guilabel:`Lot/Serial Number` field, and click :guilabel:`Create "#"`, or click the +:icon:`fa-plus-square-o` :guilabel:`(plus)` icon to the right of the field to auto-fill it with the +next available number. + +.. image:: manufacture_lots_serials/lot-sn-field.png + :alt: The "Lot/Serial Number" field on an MO. + +Manufacture multiple units +-------------------------- + +.. important:: + When manufacturing a product tracked using serial numbers, an |MO| can be created for multiple + units. However, when serial numbers are assigned to each unit, either at the end of production or + before, the |MO| is split into multiple |MOs|, each containing one unit of the product. + + Each of the split |MOs| is identified by a numerical tag added to the end of the original |MO| + number. + + .. example:: + |MO| 'WH/MO/00109' contains two units of a 'Chair', a product tracked using serial numbers. A + serial number is assigned to each unit of the chair. This causes the |MO| to be split into two + |MOs|, each containing one unit of the chair. The |MOs| are titled 'WH/MO/00109-001' and + 'WH/MO/00109-002'. + +To assign serial numbers to each unit of an |MO|, click :guilabel:`Produce All` to open the +:guilabel:`Batch Production` pop-up window. + +The :guilabel:`First Lot/SN` field of the pop-up window is auto-filled with the next available +serial number. The :guilabel:`Number of SN` field defaults to the number of units being +manufactured. The values of either field can be changed manually. + +Click :guilabel:`Generate` to generate the specified number of serial numbers, beginning with the +number entered in the :guilabel:`First Lot/SN` field. The serial numbers are displayed in the text +box at the bottom of the pop-up window, and can be manually changed after generation. + +To assign serial numbers without completing production, click the :guilabel:`Prepare MO` button. +Doing so splits the |MO| into individual |MOs|, one for each unit in the original |MO|. Each |MO| is +left open, and can be closed individually. + +To assign serial numbers and complete production, click the :guilabel:`Produce` button. Doing so +splits the |MO| into individual |MOs|, one for each unit in the original |MO|. All of the |MOs| are +closed, since production is complete. + +.. image:: manufacture_lots_serials/batch-production.png + :alt: The "Batch Production" pop-up window, from which serial numbers can be assigned. + +After clicking :guilabel:`Prepare MO` or :guilabel:`Produce`, the :menuselection:`Manufacturing` app +automatically shows the first of the split |MOs| (ex. `WH/MO/00109-001`). To view and access the +rest the split |MOs|, click the :guilabel:`Backorders` smart button at the top of the screen. diff --git a/content/applications/inventory_and_mrp/manufacturing/workflows/manufacture_lots_serials/batch-production.png b/content/applications/inventory_and_mrp/manufacturing/workflows/manufacture_lots_serials/batch-production.png new file mode 100644 index 0000000000000000000000000000000000000000..3c68cfac24887a612114ffb11518a3c811661ba2 GIT binary patch literal 12732 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 Qe_Q|*WR>5brHw!QKl=Dyc>n+a literal 0 HcmV?d00001 diff --git a/content/applications/inventory_and_mrp/manufacturing/workflows/manufacture_lots_serials/lot-sn-field.png b/content/applications/inventory_and_mrp/manufacturing/workflows/manufacture_lots_serials/lot-sn-field.png new file mode 100644 index 0000000000000000000000000000000000000000..06553910ebeeca232eb18525924f313c06524622 GIT binary patch literal 8828 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 DxlV=c literal 0 HcmV?d00001