[IMP] Inventory: Scrap inventory updates
closes odoo/documentation#16256 Signed-off-by: Felicia Kuan (feku) <feku@odoo.com> Co-authored-by: Rex <11528309+huisit@users.noreply.github.com>
@@ -12,8 +12,8 @@ a vendor, it can be scrapped.
|
|||||||
Odoo *Inventory* allows users to scrap inventory, designating goods or materials that are no longer
|
Odoo *Inventory* allows users to scrap inventory, designating goods or materials that are no longer
|
||||||
usable or sellable for disposal (or recycling).
|
usable or sellable for disposal (or recycling).
|
||||||
|
|
||||||
Scrapping inventory in a database helps stock counts remain accurate, by removing scrapped products
|
Scrapping inventory in a database helps stock counts remain accurate by removing scrapped products
|
||||||
from physical inventory, and placing it in a virtual scrap location (*Virtual Locations/Scrap*).
|
from physical inventory and placing them in a virtual *Inventory Loss* location.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
*Virtual locations* in Odoo are **not** real, physical spaces in a warehouse. Rather, they are
|
*Virtual locations* in Odoo are **not** real, physical spaces in a warehouse. Rather, they are
|
||||||
@@ -23,6 +23,42 @@ from physical inventory, and placing it in a virtual scrap location (*Virtual Lo
|
|||||||
For more information about virtual locations, see the documentation about the different types of
|
For more information about virtual locations, see the documentation about the different types of
|
||||||
:ref:`location types <inventory/warehouses_storage/location-type>`.
|
:ref:`location types <inventory/warehouses_storage/location-type>`.
|
||||||
|
|
||||||
|
Create a scrap location
|
||||||
|
=======================
|
||||||
|
|
||||||
|
By default, scrap operations are recorded in the :guilabel:`Inventory adjustment` virtual location.
|
||||||
|
However, if the scrapped products need to be recorded in the *Profit and Loss* accounting report, it
|
||||||
|
is possible to create an :guilabel:`Inventory Loss` location specifically for tracking scrapped
|
||||||
|
goods. If scrapped goods don't need to be tracked for reporting purposes, :ref:`create a scrap order
|
||||||
|
from stock <inventory/scrap-from-stock>`.
|
||||||
|
|
||||||
|
To create a new :guilabel:`Inventory Loss` location specifically for scrapped goods, first, open
|
||||||
|
:menuselection:`Inventory app --> Configuration --> Settings`. In the :guilabel:`Warehouse` section,
|
||||||
|
enable :guilabel:`Storage Locations`. Be sure to click :guilabel:`Save`.
|
||||||
|
|
||||||
|
To create a new scrap location, open :menuselection:`Inventory app --> Configuration --> Locations`.
|
||||||
|
By default, this list is filtered by :guilabel:`Internal` locations. To see all locations, remove
|
||||||
|
the :guilabel:`Internal` filter. Click the :guilabel:`New` button to create a new location.
|
||||||
|
|
||||||
|
The location form opens. Specify a :guilabel:`Location Name` and :guilabel:`Parent Location`. Update
|
||||||
|
the :guilabel:`Location Type` to :guilabel:`Inventory Loss`. If working in a multi-company database,
|
||||||
|
specify a :guilabel:`Company`. Optionally, specify a :guilabel:`Loss Account` to ensure that
|
||||||
|
products scrapped to this location show up in the *Profit and Loss* accounting report.
|
||||||
|
|
||||||
|
.. example::
|
||||||
|
A company creates a new `Scrapped Goods` location, with the parent location being `Inventory
|
||||||
|
adjustment`. The :guilabel:`Location Type` is set to :guilabel:`Inventory Loss`. To ensure the
|
||||||
|
scrapped products show up in the *Profit and Loss* accounting report, they specify `600000
|
||||||
|
Expenses` as the :guilabel:`Loss Account`.
|
||||||
|
|
||||||
|
.. image:: scrap_inventory/new-scrap-location.png
|
||||||
|
:alt: Optionally create a Scrapped Goods inventory loss location.
|
||||||
|
|
||||||
|
.. seealso::
|
||||||
|
:doc:`../../inventory_valuation/scrapped_inventory_valuation`
|
||||||
|
|
||||||
|
.. _inventory/scrap-from-stock:
|
||||||
|
|
||||||
Scrap from stock
|
Scrap from stock
|
||||||
================
|
================
|
||||||
|
|
||||||
@@ -33,43 +69,34 @@ Click the drop-down menu in the :guilabel:`Product` field, and select the produc
|
|||||||
scrapped from inventory. In the :guilabel:`Quantity` field, change the value to the quantity of the
|
scrapped from inventory. In the :guilabel:`Quantity` field, change the value to the quantity of the
|
||||||
product that should be scrapped (by default, this value is set to `1.00`).
|
product that should be scrapped (by default, this value is set to `1.00`).
|
||||||
|
|
||||||
.. image:: scrap_inventory/scrap-inventory-new-scrap-order.png
|
|
||||||
:align: center
|
|
||||||
:alt: Filled out new scrap order form with product details.
|
|
||||||
|
|
||||||
The :guilabel:`Source Location` defaults to the location where the product is currently stored. The
|
The :guilabel:`Source Location` defaults to the location where the product is currently stored. The
|
||||||
:guilabel:`Scrap Location` defaults to the designated scrap location (:guilabel:`Virtual
|
:guilabel:`Scrap Location` defaults to :guilabel:`Inventory adjustment`. Either of these locations
|
||||||
Locations/Scrap`). Either of these locations can be changed by selecting a different location from
|
can be changed by selecting a different location from their respective drop-down menus.
|
||||||
their respective drop-down menus.
|
|
||||||
|
|
||||||
If the scrapping is tied to a specific existing operation, specify the operation in the
|
If the scrapping is tied to a specific existing operation, specify the operation in the
|
||||||
:guilabel:`Source Document` field.
|
:guilabel:`Source Document` field.
|
||||||
|
|
||||||
The :guilabel:`Company` field displays the company whose warehouse this product belongs to. If a
|
The :guilabel:`Company` field displays the company whose warehouse this product belongs to. If a
|
||||||
replenishment rule is set up for the product being scrapped, and if the product should be
|
replenishment rule is set up for the product being scrapped, and if the product should be
|
||||||
replenished, tick the checkbox for :guilabel:`Replenish Quantities`.
|
replenished, select the checkbox for :guilabel:`Replenish Quantities`.
|
||||||
|
|
||||||
Once ready, click :guilabel:`Validate` to complete the new |SP|. Once validated, a
|
Optionally specify a :guilabel:`Scrap Reason`.
|
||||||
:guilabel:`Product Moves` smart button appears at the top of the form. Click the smart button to
|
|
||||||
view the details of the scrap operation.
|
|
||||||
|
|
||||||
.. image:: scrap_inventory/scrap-inventory-product-moves-button.png
|
Once ready, click :guilabel:`Validate` to complete the new |SP|.
|
||||||
:align: center
|
|
||||||
:alt: Product Moves smart button on new scrap order form.
|
.. image:: scrap_inventory/scrap-inventory-new-scrap-order.png
|
||||||
|
:alt: Filled out new scrap order form with product details.
|
||||||
|
|
||||||
|
Once validated, a :icon:`fa-exchange` :guilabel:`Product Moves` smart button appears at the top of
|
||||||
|
the form. Click the smart button to view the details of the scrap operation.
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
To view the all-time total quantities of scrapped items, navigate to :menuselection:`Inventory
|
To view the all-time total quantities of scrapped items, navigate to :menuselection:`Inventory
|
||||||
app --> Configuration --> Locations`. Click the :guilabel:`x (remove)` button on the
|
app --> Operations --> Scrap Orders`. A list of all scrapped products, and their quantities, is
|
||||||
:guilabel:`Internal` filter in the :guilabel:`Search...` bar, to display virtual locations.
|
displayed.
|
||||||
|
|
||||||
Select the :guilabel:`Virtual Locations/Scrap` location. From the :guilabel:`Scrap` location's
|
|
||||||
form, click the :guilabel:`Current Stock` smart button, at the top of the form.
|
|
||||||
|
|
||||||
A list of all scrapped products, and their quantities, is displayed.
|
|
||||||
|
|
||||||
.. image:: scrap_inventory/scrap-inventory-current-stock.png
|
.. image:: scrap_inventory/scrap-inventory-current-stock.png
|
||||||
:align: center
|
:alt: List of all scrapped products in inventory.
|
||||||
:alt: Current Stock list of all scrapped products in virtual scrap location.
|
|
||||||
|
|
||||||
Scrap from an existing operation
|
Scrap from an existing operation
|
||||||
================================
|
================================
|
||||||
@@ -83,34 +110,30 @@ To scrap a product during an operation, navigate to the :menuselection:`Inventor
|
|||||||
card (i.e. the :guilabel:`Receipts` task card).
|
card (i.e. the :guilabel:`Receipts` task card).
|
||||||
|
|
||||||
.. image:: scrap_inventory/scrap-inventory-receipts-task-card.png
|
.. image:: scrap_inventory/scrap-inventory-receipts-task-card.png
|
||||||
:align: center
|
:alt: # To Receive button on Receipts task card on Inventory Overview page.
|
||||||
:alt: # To Process button on Receipts task card on Inventory Overview page.
|
|
||||||
|
|
||||||
Then, select an operation to process from the resulting list of existing orders. Doing so opens that
|
Then, select an operation to process from the resulting list of existing orders. Doing so opens that
|
||||||
operation's form.
|
operation's form.
|
||||||
|
|
||||||
Click the :icon:`fa-cog` :guilabel:`(cog)` icon, and select :guilabel:`Scrap` from the resulting
|
Click the :icon:`fa-cog` :guilabel:`(Actions)` icon, and select :guilabel:`Scrap` from the resulting
|
||||||
drop-down menu. This opens a :guilabel:`Scrap Products` pop-up window.
|
drop-down menu. This opens a :guilabel:`Scrap Products` pop-up window.
|
||||||
|
|
||||||
.. image:: scrap_inventory/scrap-inventory-popup-window.png
|
|
||||||
:align: center
|
|
||||||
:alt: Scrap Products pop-up window on operation form.
|
|
||||||
|
|
||||||
From this pop-up window, click the drop-down menu in the :guilabel:`Product` field, and select the
|
From this pop-up window, click the drop-down menu in the :guilabel:`Product` field, and select the
|
||||||
products from the operation that should be scrapped. Adjust the value in the :guilabel:`Quantity`
|
products from the operation that should be scrapped. Adjust the value in the :guilabel:`Quantity`
|
||||||
field, if necessary.
|
field, if necessary. Optionally specify a :guilabel:`Scrap Reason`.
|
||||||
|
|
||||||
If the :guilabel:`Product` selected is tracked using a lot or serial number, a
|
If the :guilabel:`Product` selected is tracked using a lot or serial number, a
|
||||||
:guilabel:`Lot/Serial` field appears. Specify the tracking number in that field.
|
:guilabel:`Lot/Serial` field appears. Specify the tracking number in that field.
|
||||||
|
|
||||||
The :guilabel:`Source Location` and :guilabel:`Scrap Location` can be changed, if needed. If a
|
The :guilabel:`Source Location` and :guilabel:`Scrap Location` can be changed, if needed. If a
|
||||||
replenishment rule is set up for the product being scrapped, and if the product should be
|
replenishment rule is set up for the product being scrapped, and if the product should be
|
||||||
replenished, tick the checkbox for :guilabel:`Replenish Quantities`.
|
replenished, select the checkbox for :guilabel:`Replenish Quantities`.
|
||||||
|
|
||||||
Once ready, click :guilabel:`Scrap Products`. A :guilabel:`Scraps` smart button appears at the top
|
Once ready, click :guilabel:`Scrap Products`.
|
||||||
of the operation form. Click this smart button to view the details of all scrap orders created from
|
|
||||||
this specific operation.
|
|
||||||
|
|
||||||
.. image:: scrap_inventory/scrap-inventory-scraps-smart-button.png
|
.. image:: scrap_inventory/scrap-inventory-popup-window.png
|
||||||
:align: center
|
:alt: Scrap Products pop-up window on operation form.
|
||||||
:alt: Scraps smart button showing all scrap orders from operation.
|
|
||||||
|
After products have been scrapped from an operation, a :icon:`oi-arrows-v` :guilabel:`Scraps` smart
|
||||||
|
button appears at the top of the operation form. Click this smart button to view the details of all
|
||||||
|
scrap orders created from this specific operation.
|
||||||
|
|||||||
|
After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 35 KiB |