diff --git a/content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/least_packages.rst b/content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/least_packages.rst index 14a315325c..976fc81906 100644 --- a/content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/least_packages.rst +++ b/content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/least_packages.rst @@ -5,68 +5,130 @@ Least packages removal The *Least Packages* removal strategy fulfills an order by opening the fewest number of packages, which is ideal for maintaining organized stock without needing to open multiple boxes. -.. seealso:: - - :doc:`About removal strategies <../removal_strategies>` - - `Odoo Tutorials: Least Packages `_ +.. _inventory/warehouses_storage/pkg-qty: -To understand how the removal strategy works, consider the following example, featuring a warehouse -that stores packages of flour in bulk packages of `100 kg`. +.. example:: -To minimize moisture, and/or prevent pests from entering open packages, the least packages removal -strategy is used to pick from a single, opened package. + To understand how the removal strategy works, consider the following example, featuring a + warehouse that stores packages of flour in bulk packages of `100 kg`. -.. _inventory/warehouses_storage/pkg-qty: + To minimize moisture and prevent possible loss of product due to spillage and repacking, the + least packages removal strategy is used to fill the order by opening the fewest packages of + flour, instead of opening multiple packages. -.. example:: A package of `100 kg` of flour is depleted to `54 kg` after fulfilling some orders. There are other packages of `100 kg` in stock. - #. When an order for `14 kg` of flour is placed, the package of `54 kg` is selected. - #. When an order for *more* than `54 kg` of flour is placed, an unopened `100 kg` package is used - to fulfill the order. While this temporarily results in two open packages, these open packages - are prioritized in the next picking. + When an order for `14 kg` of flour is placed, the package of `54 kg` is selected, leaving `40 kg` + of flour in the bag. Another order for `80 kg` of flour is placed. An unopened `100 kg` package + is used to fulfill the order. -Workflow -======== + While this temporarily results in two open packages, one for `40 kg` and another for `20 kg`, + these open packages are prioritized in the next pickings that are those sizes or smaller. + +Enabling the least packages removal strategy +============================================ + +A *package* is a physical container holding one or more products. Packages can also be used to store +items in bulk. + +The packages feature is used to group products together and is required for the *least packages* +removal strategy. + +Navigate to :menuselection:`Inventory app --> Configuration --> Settings` and in the +:guilabel:`Operations` section, select the check box for the :guilabel:`Packages` feature. + +Store products in packages +-------------------------- + +First, products are received either in packages or individually. Next, the received products are +stored in packages created :ref:`during a transfer `. + +Set the removal strategy +------------------------ + +After you have configured your product inventory, set the removal strategy on the :ref:`storage +location ` or :ref:`product category +`. -Using the least package removal strategy, the fewest number of packages is used to fulfill an order. +.. _inventory/warehouses_storage/lp-location: + +On the storage location +~~~~~~~~~~~~~~~~~~~~~~~ + +To set a removal strategy on a storage location, you must first enable a couple settings in the +**Inventory** configuration settings. Open :menuselection:`Inventory app --> Configuration --> +Settings`, and in the :guilabel:`Warehouse` section, enable :guilabel:`Storage Locations` and +:guilabel:`Multi-Step Routes`. + +Next, open :menuselection:`Inventory app --> Configuration --> Locations`. Open an existing location +or create a new location. On the location form, under the :guilabel:`Logistics` heading, set +the :guilabel:`Removal Strategy`. to :guilabel:`Least Packages` + +.. image:: least_packages/location-removal-strategy.png + :alt: Set Least Packages as the location's removal strategy. + +.. _inventory/warehouses_storage/lp-category: + +On the product category +~~~~~~~~~~~~~~~~~~~~~~~ + +Configure removal strategies on product categories by going to :menuselection:`Inventory app --> +Configuration --> Categories` and selecting the intended product category. Next, in the +:guilabel:`Force Removal Strategy` field, select :guilabel:`Least Packages`. + +.. image:: least_packages/category-removal-strategy.png + :alt: Set Least Packages as the category's removal strategy. .. important:: - The :ref:`Packages feature ` **must** be enabled to use - this strategy. + When there are different removal strategies applied on both the location and product category for + a product, the value set on the :guilabel:`Force Removal Strategy` field set on a product + category form is applied as top priority. -Consider the following example, featuring the product, `Flour`. The product's :guilabel:`Units of -Measure` field, located on the product form, is set to `kg`. The product is stored in packages of -`100 kg`, with one remaining package containing `54 kg`. The product category's :guilabel:`Force -Removal Strategy` is set to :guilabel:`Least Packages`. + For example, flour is stored in 100-kilogram packages. It is stored in a location with other + heavy items. To minimize how far pickers have to walk, the location uses the :doc:`closest + location removal strategy `. To further optimize the picking time, and to + reduce the number of packages opened during picking, the flour's product category, `Baking + Materials`, uses the least packages removal strategy. -.. seealso:: - - :ref:`Set removal strategy on product category ` +Workflow +======== + +Using the *least packages* removal strategy, the fewest number of packages is used to fulfill an +order. + +Consider the following example, featuring the product, `Flour (kg)`. The product's +:doc:`unit of measure <../../product_management/configure/uom>`, located on the product form, is set +to `kg`. The product is stored in packages of `100 kg`, with one remaining package containing `54 +kg`. The product category's :guilabel:`Force Removal Strategy` is set to :guilabel:`Least Packages`. .. tip:: - To check the product's on-hand stock, navigate to the product form, and click the :guilabel:`On - Hand` smart button. + You can verify the product's on-hand stock in the :guilabel:`Locations` report. Open + :menuselection:`Inventory app --> Reporting --> Locations`. Click in the :guilabel:`Search` field + to filter by :guilabel:`On Hand`, as well as product. - .. image:: least_packages/on-hand-flour.png - :align: center + .. image:: least_packages/on-hand-quantities.png :alt: Show on-hand stock in each package. -Create a :ref:`delivery order ` for eighty kilograms of flour by going -to the :menuselection:`Sales app` and creating a new quotation. After clicking :guilabel:`Confirm`, -the delivery order is created. +A sales order is created for eighty kilograms of flour by going to the :menuselection:`Sales app` +and creating a new quotation. After clicking :guilabel:`Confirm`, the :ref:`delivery order +` is created. On the delivery order, the :guilabel:`Quantity` field displays the amount automatically picked, according to the removal strategy. -For more details about *where* the units were picked, select the :guilabel:`⦙≣ (bulleted list)` -icon, located on the far-right. Doing so opens the :guilabel:`Open: Stock move` pop-up window, -displaying how the reserved items were picked, according to the removal strategy. +For more details about *where* the units were picked, click :guilabel:`Details` on the product +line. Doing so opens the :guilabel:`Detailed Operations` pop-up window, displaying how the reserved +items were picked, according to the removal strategy. -In the :guilabel:`Open: Stock move` pop-up window, the :guilabel:`Pick from` field displays where -the quantities to fulfill the :guilabel:`Demand` are picked. Since the order demanded eighty +In the :guilabel:`Detailed Operations` pop-up window, the :guilabel:`Pick From` field displays where +the quantities to fulfill the :guilabel:`Demand` are picked. Because the order demands eighty kilograms, which exceeds the quantity in the opened package of `54 kg`, an unopened package of `100 kg` is selected. .. image:: least_packages/least-package.png - :align: center :alt: Show which package was picked in the *Pick From* field. + +.. seealso:: + - :doc:`About removal strategies <../removal_strategies>` + - `Odoo Tutorials: Least Packages `_ diff --git a/content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/least_packages/category-removal-strategy.png b/content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/least_packages/category-removal-strategy.png new file mode 100644 index 0000000000..2fa03c113d Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/least_packages/category-removal-strategy.png differ diff --git a/content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/least_packages/least-package.png b/content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/least_packages/least-package.png index 399be1b08e..2a45c3dcec 100644 Binary files a/content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/least_packages/least-package.png and b/content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/least_packages/least-package.png differ diff --git a/content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/least_packages/location-removal-strategy.png b/content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/least_packages/location-removal-strategy.png new file mode 100644 index 0000000000..a7378da867 Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/least_packages/location-removal-strategy.png differ diff --git a/content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/least_packages/on-hand-flour.png b/content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/least_packages/on-hand-flour.png deleted file mode 100644 index 80f9b60eed..0000000000 Binary files a/content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/least_packages/on-hand-flour.png and /dev/null differ diff --git a/content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/least_packages/on-hand-quantities.png b/content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/least_packages/on-hand-quantities.png new file mode 100644 index 0000000000..ff25fea992 Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/least_packages/on-hand-quantities.png differ