From 5f32e02c990460b066f136bf1402813c9336d117 Mon Sep 17 00:00:00 2001 From: "John Holton (hojo)" Date: Thu, 16 Mar 2023 15:31:34 -0700 Subject: [PATCH] [ADD] Inventory: Use locations to manage inventory closes odoo/documentation#6419 X-original-commit: 889e95037d790f76af9a92ae3ac1edde7e1614b9 Signed-off-by: Zachary Straub (zst) --- .../inventory/management/warehouses.rst | 1 + .../management/warehouses/use_locations.rst | 59 ++++++++++++++++++ .../use_locations/new-location-form.png | Bin 0 -> 9262 bytes .../inventory/routes/strategies/removal.rst | 6 +- 4 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations.rst create mode 100644 content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations/new-location-form.png diff --git a/content/applications/inventory_and_mrp/inventory/management/warehouses.rst b/content/applications/inventory_and_mrp/inventory/management/warehouses.rst index 12cf08f03..7abd11e31 100644 --- a/content/applications/inventory_and_mrp/inventory/management/warehouses.rst +++ b/content/applications/inventory_and_mrp/inventory/management/warehouses.rst @@ -12,3 +12,4 @@ Warehouses warehouses/warehouse_replenishment_transfer warehouses/warehouses_locations warehouses/create_a_second_warehouse + warehouses/use_locations diff --git a/content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations.rst b/content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations.rst new file mode 100644 index 000000000..c73481411 --- /dev/null +++ b/content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations.rst @@ -0,0 +1,59 @@ +========= +Locations +========= + +A *location* is a specific space within a warehouse. This can be a shelf, room, aisle, etc. There +are three types of locations in Odoo: + +- *Physical locations* are spaces within a warehouse owned by the user's company. These can be a an + area where items are stored like an aisle or shelf, or an area where operations take place, like + loading and unloading bays. +- *Partner locations* are the same as physical locations except that they exist within the warehouse + of a customer or vendor. +- *Virtual locations* are locations that do not exist physically, but where items that are not in + inventory can be placed. These can be items that have not yet entered inventory, like products + that are on the way to a warehouse, or items that are no longer in inventory due to loss or other + factors. + +.. important:: + In order to use locations, the :guilabel:`Storage Locations` setting must be enabled. To do so, + navigate to :menuselection:`Inventory --> Configuration --> Settings`, scroll down to the + :guilabel:`Warehouse` heading, and enable the :guilabel:`Storage Locations` checkbox. + +Create a new location inside a warehouse +======================================== + +Starting from the :menuselection:`Inventory` app, select :menuselection:`Configuration --> Locations +--> Create`. The new location form can then be configured as follows: + +- :guilabel:`Location Name`: the name that will be used to reference the location +- :guilabel:`Parent Location`: the location or warehouse that the new location exists within +- :guilabel:`Location Type`: choose the category that the location belongs to +- :guilabel:`Company`: the company that owns the warehouse that the location is inside of +- :guilabel:`Is a Scrap Location?`: check this box to allow for scrapped/damaged goods to be stored + in this location +- :guilabel:`Is a Return Location?`: check this box to allow products to be returned to this + location +- :guilabel:`Barcode`: the barcode number assigned to the location +- :guilabel:`Removal Strategy`: the :ref:`strategy ` for how + items should be taken from inventory + +.. image:: use_locations/new-location-form.png + :align: center + :alt: The form for creating a new location. + +Create location hierarchies +=========================== + +The *Parent Location* setting on the new location form allows for a location to exist within a +warehouse or another location. Every location can serve as a parent location, and every parent +location can have multiple locations within it, allowing for the creation of a virtually infinite +hierarchical structure. + +.. example:: + Location hierarchy could be organized so that a shelf is located within an aisle, which is + located within a room, which is located within the overall warehouse. + +To create the location hierarchy in the example above, set the warehouse as the parent of the room, +the room as the parent of the aisle, and the aisle as the parent of the shelf. This can be adapted +to a hierarchy of any magnitude. diff --git a/content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations/new-location-form.png b/content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations/new-location-form.png new file mode 100644 index 0000000000000000000000000000000000000000..52fff3028499a554959a2d10783cf97bdd38d30c GIT binary patch literal 9262 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 literal 0 HcmV?d00001 diff --git a/content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst b/content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst index cc3c1f1ea..949d4a813 100644 --- a/content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst +++ b/content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst @@ -2,8 +2,10 @@ What is a Removal Strategy (FIFO, LIFO, FEFO, Closest location)? ================================================================ -Usually, *Removal Strategies* are defined in picking operations to select the best products, -optimize the distance for the worker, for quality control purposes, or to first move products +.. _inventory/routes/strategies/removal: + +Usually, *Removal Strategies* are defined in picking operations to select the best products to +optimize the distance for the worker, for quality control purposes, or to first move the products with the closest expiration date. When a product movement needs to be done, Odoo finds available products that can be assigned to