Compare commits
2 Commits
master-rem
...
tmp.master
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
e769138d76 |
force rebuild
uniquifier: sMabMAkCVqYoqMQs
For-Commit-Id:
|
||
|
|
992d027239 |
[IMP] Sales: Optional Products section and more
closes odoo/documentation#15860
X-original-commit:
|
|
|
@@ -6,12 +6,14 @@ Scrap inventory
|
|||
.. |SPs| replace:: :abbr:`SPs (Scrap Orders)`
|
||||
|
||||
Sometimes, products in a company's warehouse stock might be found to be damaged or defective, past
|
||||
the point of being reparable. If it is not possible to repair the product or return it to a vendor,
|
||||
it can be scrapped. Odoo **Inventory** allows users to scrap inventory, designating goods or
|
||||
materials that are no longer usable or sellable for disposal (or recycling).
|
||||
the point of being reparable. If it is not possible to repair the product, or return the product to
|
||||
a vendor, it can be scrapped.
|
||||
|
||||
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 (*Inventory adjustment*).
|
||||
Odoo *Inventory* allows users to scrap inventory, designating goods or materials that are no longer
|
||||
usable or sellable for disposal (or recycling).
|
||||
|
||||
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*).
|
||||
|
||||
.. note::
|
||||
*Virtual locations* in Odoo are **not** real, physical spaces in a warehouse. Rather, they are
|
||||
|
|
@@ -27,54 +29,62 @@ Scrap from stock
|
|||
To create a new scrap order (SP) for an in-stock product, navigate to :menuselection:`Inventory app
|
||||
--> Operations --> Scrap`, and click :guilabel:`New`. This opens a new |SP| form.
|
||||
|
||||
Click the drop-down menu in the :guilabel:`Product` field and select the product that should be
|
||||
Click the drop-down menu in the :guilabel:`Product` field, and select the product that should be
|
||||
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 `0.00`. If the product is tracked
|
||||
by lot or serial number, specify the tracking number in the :guilabel:`Lot/Serial Numbers` field.
|
||||
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:`Inventory
|
||||
adjustment`). Either of these locations can be changed by selecting a different location from their
|
||||
respective drop-down menus.
|
||||
product that should be scrapped (by default, this value is set to `1.00`).
|
||||
|
||||
.. note::
|
||||
The location fields only display when :guilabel:`Storage Locations` is enabled in
|
||||
:menuselection:`Inventory app --> Configuration --> Settings`.
|
||||
.. 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
|
||||
:guilabel:`Scrap Location` defaults to the designated scrap location (:guilabel:`Virtual
|
||||
Locations/Scrap`). Either of these locations can be changed by selecting a different location from
|
||||
their respective drop-down menus.
|
||||
|
||||
If the scrapping is tied to a specific existing operation, specify the operation in the
|
||||
:guilabel:`Source Document` field.
|
||||
|
||||
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
|
||||
replenished, tick the checkbox for :guilabel:`Should Replenish`.
|
||||
replenished, tick the checkbox for :guilabel:`Replenish Quantities`.
|
||||
|
||||
.. image:: scrap_inventory/scrap-inventory-new-scrap-order.png
|
||||
:alt: Filled out new scrap order form with product details.
|
||||
Once ready, click :guilabel:`Validate` to complete the new |SP|. Once validated, a
|
||||
:guilabel:`Product Moves` smart button appears at the top of the form. Click the smart button to
|
||||
view the details of the scrap operation.
|
||||
|
||||
Once ready, click :guilabel:`Confirm` to complete the new |SP|.
|
||||
.. image:: scrap_inventory/scrap-inventory-product-moves-button.png
|
||||
:align: center
|
||||
:alt: Product Moves smart button on new scrap order form.
|
||||
|
||||
.. tip::
|
||||
To view the all-time total quantities of scrapped items, navigate to :menuselection:`Inventory
|
||||
app --> Reporting --> Moves History`. This report is only available to users with :doc:`admin
|
||||
access <../../../../general/users/access_rights>`.
|
||||
app --> Configuration --> Locations`. Click the :guilabel:`x (remove)` button on the
|
||||
:guilabel:`Internal` filter in the :guilabel:`Search...` bar, to display virtual locations.
|
||||
|
||||
On the :guilabel:`Moves History` page, click in the :guilabel:`Search` field, then select
|
||||
:menuselection:`Filters --> Scrapped`.
|
||||
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/moves-history-scrapped.png
|
||||
:alt: List of all scrapped products in Moves History report.
|
||||
.. image:: scrap_inventory/scrap-inventory-current-stock.png
|
||||
:align: center
|
||||
:alt: Current Stock list of all scrapped products in virtual scrap location.
|
||||
|
||||
Scrap from an existing operation
|
||||
================================
|
||||
|
||||
Scrap orders (SPs) can *also* be created from existing operations, such as receipts, delivery
|
||||
orders, and internal transfers before they are entered into or removed from stock for an
|
||||
orders, and internal transfers, before they are entered into, or removed from, stock for an
|
||||
operation.
|
||||
|
||||
To scrap a product during an operation, navigate to the :menuselection:`Inventory app`. From the
|
||||
:guilabel:`Inventory Overview`, click the :guilabel:`# To Process` button on an operation's task
|
||||
card (for example, click :guilabel:`5 to Receive` on the :guilabel:`Receipts` card).
|
||||
card (i.e. the :guilabel:`Receipts` task card).
|
||||
|
||||
.. image:: scrap_inventory/inventory-overview.png
|
||||
:alt: # To Receive button on Receipts task card on Inventory Overview page.
|
||||
.. image:: scrap_inventory/scrap-inventory-receipts-task-card.png
|
||||
:align: center
|
||||
: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
|
||||
operation's form.
|
||||
|
|
@@ -82,77 +92,25 @@ operation's form.
|
|||
Click the :icon:`fa-cog` :guilabel:`(cog)` icon, and select :guilabel:`Scrap` from the resulting
|
||||
drop-down menu. This opens a :guilabel:`Scrap Products` pop-up window.
|
||||
|
||||
From this pop-up window, click the drop-down menu in the :guilabel:`Product` field and select the
|
||||
product from the operation that should be scrapped. Adjust the value in the :guilabel:`Quantity`
|
||||
field. 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. The
|
||||
:guilabel:`Source Location` and :guilabel:`Scrap Location` can be changed if needed.
|
||||
|
||||
.. note::
|
||||
The location fields only display when :guilabel:`Storage Locations` is enabled in
|
||||
:menuselection:`Inventory app --> Configuration --> Settings`.
|
||||
|
||||
If a replenishment rule is set up for the product being scrapped and the product should be
|
||||
replenished, tick the checkbox for :guilabel:`Should Replenish`.
|
||||
|
||||
Once ready, click :guilabel:`Confirm`.
|
||||
|
||||
.. image:: scrap_inventory/scrap-products-receipt.png
|
||||
.. image:: scrap_inventory/scrap-inventory-popup-window.png
|
||||
:align: center
|
||||
:alt: Scrap Products pop-up window on operation form.
|
||||
|
||||
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.
|
||||
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`
|
||||
field, if necessary.
|
||||
|
||||
.. image:: scrap_inventory/scraps-smart-button-delivery.png
|
||||
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.
|
||||
|
||||
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
|
||||
replenished, tick the checkbox for :guilabel:`Replenish Quantities`.
|
||||
|
||||
Once ready, click :guilabel:`Scrap Products`. A :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.
|
||||
|
||||
.. image:: scrap_inventory/scrap-inventory-scraps-smart-button.png
|
||||
:align: center
|
||||
:alt: Scraps smart button showing all scrap orders from operation.
|
||||
|
||||
Scrap from a lot or serial number
|
||||
=================================
|
||||
|
||||
Scrap orders (SPs) can also be created from lots or serial numbers.
|
||||
|
||||
To scrap a product with a lot or serial number, open :menuselection:`Inventory app --> Products -->
|
||||
Lots/Serial Numbers`. Open a lot or serial number from the list. On the :guilabel:`Lot/Serial
|
||||
Number` form, click the :icon:`fa-cog` :guilabel:`(cog)` icon, then select :guilabel:`Scrap`. This
|
||||
opens a form to scrap the product.
|
||||
|
||||
In the form, verify that the correct :guilabel:`Product` is selected. Specify the
|
||||
:guilabel:`Quantity` of products that should be scrapped. Verify that the :guilabel:`Lot/Serial
|
||||
Numbers` value is correct. Specify a :guilabel:`Scrap Reason`. 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:`Inventory adjustment`). Either of these
|
||||
locations can be changed by selecting a different location from their respective drop-down menus.
|
||||
|
||||
.. note::
|
||||
The location fields only display when :guilabel:`Storage Locations` is enabled in
|
||||
:menuselection:`Inventory app --> Configuration --> Settings`.
|
||||
|
||||
If a replenishment rule is set up for the product being scrapped, and if the product should be
|
||||
replenished, select the :guilabel:`Should Replenish` check box.
|
||||
|
||||
.. image:: scrap_inventory/scrap-inventory-lot-serial-number.png
|
||||
:alt: Filled out lot or serial number scrap order form with product details.
|
||||
|
||||
Once ready, click :guilabel:`Confirm`.
|
||||
|
||||
After the scrap is created, follow the breadcrumbs back to the :guilabel:`Lot/Serial Number` form. A
|
||||
:icon:`fa-trash` :guilabel:`Scraps` smart button appears at the top of the :guilabel:`Lot/Serial
|
||||
Number` form.
|
||||
|
||||
.. image:: scrap_inventory/lot-serial-number-scrap-button.png
|
||||
:alt: Find scraps from the Lot/Serial Number form.
|
||||
|
||||
Revert a scrap
|
||||
==============
|
||||
|
||||
Revert a scrap from the :guilabel:`Moves History` report.
|
||||
|
||||
.. note::
|
||||
This report is only available to users with :doc:`admin access
|
||||
<../../../../general/users/access_rights>`.
|
||||
|
||||
Open :menuselection:`Inventory app --> Reporting --> Moves History`.
|
||||
|
||||
Select the check box next to the scrap operation to revert. Click the :icon:`fa-cog`
|
||||
:guilabel:`Actions` menu, then select :guilabel:`Revert`.
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 9.2 KiB |
|
|
@@ -2,7 +2,7 @@
|
|||
Moves history report
|
||||
====================
|
||||
|
||||
The *Moves History* report in Odoo **Inventory** provides a detailed record of product movements
|
||||
The *Moves History* report in Odoo *Inventory* provides a detailed record of product movements
|
||||
(containing past and current locations), lot numbers, and reasons for movement. Reports can be
|
||||
generated for any time frame, making this report essential for analyzing stock levels, monitoring
|
||||
inventory turnover, and identifying any discrepancies in inventory.
|
||||
|
|
@@ -61,7 +61,6 @@ relevant information
|
|||
- :guilabel:`Internal`: displays move records from one internal location to another.
|
||||
- :guilabel:`Manufacturing`: shows records where products were produced from the virtual,
|
||||
production :doc:`location <../inventory_management/use_locations>`.
|
||||
- :guilabel:`Scrapped`: shows records where products have been scrapped.
|
||||
- :guilabel:`Date`: select this drop-down menu to access various date filter options and view
|
||||
stock moves from a specific month, quarter, or year.
|
||||
- :guilabel:`Last 30 Days`: show records that occurred in the last thirty days.
|
||||
|
|
|
|||
|
|
@@ -58,12 +58,30 @@ optional products at once when using this form by clicking their checkboxes and
|
|||
.. image:: optional_products/search-optional-products-form.png
|
||||
:alt: The Search: Optional Products form accessed by clicking Search more...
|
||||
|
||||
.. important::
|
||||
Prior to Odoo 19.0, optional products were added to quotations on a separate tab in the quotation
|
||||
and quotation template forms. Beginning in 19.0, that tab has been removed from both quotations
|
||||
and quotation templates. If a core product with associated optional products is added to a
|
||||
quotation template, those optional products **will not** be automatically suggested during the
|
||||
quotation process and must instead be manually suggested to customers.
|
||||
Setting optional product sections in quotations
|
||||
===============================================
|
||||
|
||||
When developing a quotation for customers, entire sections of the quotation can be set as optional
|
||||
products, even if they haven't been configured in the product form. To create a section, click the
|
||||
:guilabel:`Add a section` link and enter its desired name in the :guilabel:`Enter a description`
|
||||
field. Click the :icon:`fa-ellipsis-v` :guilabel:`(drop-down menu)` and choose :icon:`fa-list`
|
||||
:guilabel:`Set Optional`.
|
||||
|
||||
.. image:: optional_products/set-optional-dropdown.png
|
||||
:alt: The dropdown menu with the "Set Optional" text highlighted.
|
||||
|
||||
Once a section is set to optional, the font color changes to reflect its status. All products within
|
||||
that section default to a quantity of `0`, ensuring they are not included in the total cost
|
||||
automatically. Both portal users (such as customers or vendors) and employees with access to create
|
||||
quotations and sales orders can update these quantities. Once a quantity is set to `1` or more, the
|
||||
product is added to the quote total.
|
||||
|
||||
Once an optional product section has been created in a quotation, users who have been :doc:`granted
|
||||
portal access <../../../general/users/portal>` can interact with the quotation there. They can view
|
||||
the quotation and decide whether or not to add the optional products to their final sales order.
|
||||
|
||||
.. image:: optional_products/optional-products-section.png
|
||||
:alt: An optional products section with the quanitty and corresponding amount set to 0.
|
||||
|
||||
.. seealso::
|
||||
:doc:`quote_template`
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 8.5 KiB |
|
After Width: | Height: | Size: 14 KiB |