diff --git a/Makefile b/Makefile index 6759d6e22b..7457ce1b95 100644 --- a/Makefile +++ b/Makefile @@ -78,8 +78,10 @@ $(HTML_BUILD_DIR)/_static/style.css: extensions/odoo_theme/static/style.scss ext #=== Development and debugging rules ===# -fast: SPHINXOPTS += -A collapse_menu=True -fast: html +fast: + @echo "Starting fast build with shallow menu..." + $(SPHINX_BUILD) -c $(CONFIG_DIR) -b html $(SPHINXOPTS) $(SOURCE_DIR) $(HTML_BUILD_DIR) + @echo "Fast build finished." static: $(HTML_BUILD_DIR)/_static/style.css cp -r extensions/odoo_theme/static/* $(HTML_BUILD_DIR)/_static/ diff --git a/content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst b/content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst index d3b456ef48..38061e395e 100644 --- a/content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst +++ b/content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst @@ -1,7 +1,6 @@ ============ -Product type ## EDIT TITLE - New Products?? New Goods?? Products' Impact on Inventory Operations +Product type ============ -## ADD A DIFFERENT ARTICLE FOR SERVICES?? In Odoo, goods and services are both set up as *products*. When setting up a new product, there are several fields that should be carefully chosen, as they will determine how to invoice and track a @@ -12,7 +11,9 @@ select the desired product from the list. Alternatively, from the :guilabel:`Pro :guilabel:`New` to create a new product. .. seealso:: - `Odoo Tutorials: Product Type ` + - `Odoo Tutorials: Product Type `_ + +.. _inventory/product_management/for-sale-or-purchase: For sale vs. purchase ===================== @@ -34,14 +35,16 @@ Goods vs. services ================== :guilabel:`Product Type` needs to be selected on the :guilabel:`General Information` tab. Each -product type impacts Odoo's other applications, such as Sales and Purchasing, differently and, as -such, should be chosen carefully. +product type impacts different operations in other Odoo applications, such as *Sales* and +*Purchasing*, and should be chosen carefully. + +- :guilabel:`Goods`: A tangible, material object (e.g. anything from a hamburger to a house). -- :guilabel:`Goods`: A tangible, material object (e.g. anything from a hamburger to a house) - :guilabel:`Service`: An intangible, immaterial offering (e.g. a repair, a haircut, call center assistance, etc. + - :guilabel:`Combo`: Any mix of goods or services (e.g. a new car (*good*) with an oil change - included (*service*)) + included (*service*)). .. note:: Due to their immaterial nature, services are not trackable in Odoo's *Inventory* application. @@ -57,13 +60,15 @@ fields in Odoo: - :guilabel:`Inventory` tab: From here, :doc:`purchasing and manufacturing routes <../../shipping_receiving/daily_operations/use_routes>` and product logistics (such as product weight and customer lead time) can be specified. -- :ref:`Invoicing Policy <_inventory/product_management/invoicing-policy>` field. -- :ref:`Track Inventory <_inventory/product_management/tracking-inventory:>` field. -- :ref:`Smart buttons <_inventory/product_management/smart-buttons>`: Some smart buttons are - triggered right away when :guilabel:`Goods` is selected; others show upon selecting a - :ref:`Track Inventory <_inventory/product_management/tracking-inventory>` method. ### EDIT +- :ref:`Invoicing Policy ` field. +- :ref:`Track Inventory ` field. +- Smart buttons: Some smart buttons are triggered right away when :guilabel:`Goods` is selected; + others show upon additionally selecting a :guilabel:`Track Inventory` method. For example, + :guilabel:`On Hand` and :guilabel:`Forecasted` will display when :guilabel:`Track Inventory` is + ticked. -## ADD IMAGE +.. image:: type/product-form.png + :alt: Designate a product as a good or service. .. _inventory/product_management/invoicing-policy: @@ -74,7 +79,7 @@ This field only shows on the product form if a product is for sale (in other wor :guilabel:`Sales` is ticked). When configuring a product for sale, it is necessary to choose an -:doc:`invoicing policy <../../../../sale/sales/invoicing/invoicing_policy>`. When an invoicing +:doc:`invoicing policy <../../../../sales/sales/invoicing/invoicing_policy>`. When an invoicing policy of :guilabel:`Ordered quantities` is selected, customers are invoiced once the sales order is confirmed. When :guilabel:`Delivered quantities` is ticked, customers are invoiced once the delivery is completed. @@ -86,14 +91,16 @@ Track inventory by product type The :guilabel:`Track Inventory` field on the product form determines a lot of Odoo's *Inventory* operations. When :guilabel:`Track Inventory` is ticked, it indicates that the product is -**storable**. When :guilabel:`Track Inventory` is left blank, it indicates a **consumable** product. +**storable**, whereas when :guilabel:`Track Inventory` is left blank, it indicates a **consumable** +product. - **Storable** products are those for which stock and inventory are maintained. Examples include - finished goods and the raw materials or components needed to make them. - - Once ticked, a dropdown menu appears, offering for inventory to be tracked one of three ways: - :guilabel:`By Unique Serial Number`, :guilabel:`By Lot`, and :guilabel:`By Lot`. - ### ADD DETAIL - ## link to SN/L tracking & https://www.odoo.com/documentation/18.0/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.html + finished goods and the raw materials or components needed to make them. Once ticked, a dropdown + menu appears, offering for inventory to be tracked one of three ways: + :guilabel:`By Unique Serial Number`, :guilabel:`By Lots`, and :guilabel:`By Quantity`. + + .. image:: type/storable.png + :alt: Configure a storable good. - **Consumable** products will be consumed in a short period of time, meaning that stock / inventory do *not* need to be maintained. Consumables are replaceable and essential, but @@ -102,17 +109,18 @@ operations. When :guilabel:`Track Inventory` is ticked, it indicates that the pr .. tip:: Choose :guilabel:`Storable Product` if it is necessary to track a product's stock at various - locations, using inventory valuations, with lots and/or serial numbers, or when using + locations, for inventory valuation, with lots and/or serial numbers, or when using reordering rules. -### ADD SEE ALSO AND LINK TO NEW FILE#### +.. seealso:: + - :doc:`Tracking storable products using lot and serial numbers <../product_tracking>` -### START A NEW FILE HERE ##############################################3 +.. _inventory/product_management/inventory-ops-by-product-type: Inventory operations by product type ------------------------------------ -:ref:`Whether a good is storable or consumable <_inventory/product_management/tracking-inventory>` +:ref:`Whether a good is storable or consumable ` affects common *Inventory* operations, like transfers and reordering rules. The table below summarizes which operations (and smart buttons) are enabled for storable vs. @@ -126,198 +134,159 @@ documents. * - Inventory operation - Storable - Consumable - * - :ref:`Reordering rules <_inventory/product_management/replenishment>` + * - :ref:`Show on-hand quantity ` - Yes - No - * - :ref:`On-hand quantity ` + * - :ref:`Show forecasted quantity ` - Yes + - No + * - :ref:`Use reordering rules ` + - Yes + - No + * - :ref:`Can be included in a purchase order ` - Yes - * - :ref:`Forecasted quantity ` + - Yes + * - :ref:`Use putaway rules ` - Yes - No * - :ref:`Can be manufactured, subcontracted, or used in another good's BoM ` - Yes - Yes - * - :doc:`Inventory valuation <../inventory_valuation/using_inventory_valuation>` + * - :doc:`Use inventory adjustments <../../warehouses_storage/inventory_management/count_products>` - Yes - No - * - :ref:`Create transfer <_nventory/product_management/transfer-store>` - - Yes - - Yes - * - :doc:`Lot/serial number tracking <../product_tracking>` + * - :doc:`Use inventory valuation <../inventory_valuation/using_inventory_valuation>` - Yes - No - * - :ref:`Create purchase order ` + * - :ref:`Create transfer ` + - Yes - Yes + * - :doc:`Use lot/serial number tracking <../product_tracking>` - Yes - * - Can be in a kit + - No + * - :doc:`Can be placed in a kit <../../../manufacturing/advanced_configuration/kit_shipping>` - Yes - Yes - * - :ref:`Placed in package ` + * - :ref:`Can be placed in a package ` - Yes - Yes - * - :ref:`Appears on Inventory report ` + * - :ref:`Appears on inventory reports ` - Yes - No -.. _inventory/product_management/smart-buttons: - -Smart buttons #### -~~~~~~~~~~~~~ -A few smart buttons populate at the top of the product form when -:guilabel:`Goods` is selected. Smart buttons typically link to special operations or +Inventory +~~~~~~~~~ +.. _inventory/product_management/on-hand: -.. important:: - Some of these smart buttons will only appear on a good's product form after other features - have been activated. For example, :guilabel:`On Hand` and :guilabel:`Forecasted` will only show - if :ref:`Track Inventory <_inventory/product_management/tracking-inventory>` is ticked. - -.. figure:: type/manufacture.png - :align: center - :alt: Show "Bill of Materials" and "Used In" smart buttons. +On-hand & forecasted quantities +******************************* -## DELETE + ADD NEW IMAGE +A storable product's on-hand and forecasted quantities, based on incoming and outgoing orders, are +reflected on the product form with two smart buttons: -.. _inventory/product_management/replenishment: +- :icon:`fa-cubes` :guilabel:`On-Hand Quantity`: Number of units currently available in inventory. + Click the button to view or add stock levels for a storable product. -Replenishment & reordering rules -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +- :icon:`fa-chart` :guilabel:`Forecasted`: Number of units *expected* to be available in inventory + after all orders are taken into account. In other words, + `forecasted = on hand quantity + incoming shipments - outgoing shipments`. Click the button + to view the :guilabel:`Forecasted Report`. -Only storable products can trigger :doc:`reordering rules -<../../warehouses_storage/replenishment/reordering_rules>` for generating purchase orders. -Reordering rules can be configured directly on the product form via the :icon:`fa-refresh`icon. +On the other hand, consumable products are regarded as *always* available. Consequently, +:guilabel:`On-Hand Quantity` is not tracked, and there is no `Forecasted` quantity available. - **Note:** If reordering rules already exist on a product, Odoo will relabel - this button to :guilabel:`Min / Max`, to show the minimum and maximum number of units that must - be in stock. +.. _inventory/product_management/putaway: -Additionally, the :guilabel:`Replenish` button allows goods to be quickly restocked directly from -the product form, according to the :guilabel:`Preferred Route`. +Putaway rules & storage +*********************** -.. seealso:: - :doc:`Replenishment <../../warehouse_storage/replenishment>` - `Odoo Tutorials: Replenishment Methods for Manufacturing - ` +Both storable and consumable goods can optimize storage using: -.. _inventory/product_management/on-hand: +- :icon:`fa-random` :doc:`Putaway Rules <../../shipping_receiving/daily_operations/putaway>`: + Putaway rules that apply to a good, such as where to store it when a new shipment arrives. -Storing inventory -~~~~~~~~~~~~~~~~~ +- :icon:`fa-cubes` + :doc:`Storage Capacities <../../shipping_receiving/daily_operations/storage_category>`: Any + storage capacity limitations specified for this good. For example, a warehouse may require that + only 10 (or less) sofas be stored there at any given time, due to their large size. -On-hand & forecasted quantities -******************************* +.. _inventory/product_management/replenishment: -A storable product's on-hand and forecasted quantities, based on incoming and outgoing orders, are -reflected on the product form, accessed by going to :menuselection:`Inventory app --> Products --> -Products`, and selecting the desired product. +Replenishment +************* -.. figure:: type/on-hand.png - :align: center - :alt: Show "On Hand" and "Forecast" smart buttons. +Reordering rules +^^^^^^^^^^^^^^^^ - Current and forecasted quantities are displayed in the **On Hand** and **Forecasted** smart - buttons on the product form. -## -on hand: :icon:`fa-cubes` -forecasted: :icon:`fa-chart` +Only storable products can trigger +:doc:`reordering rules <../../warehouses_storage/replenishment/reordering_rules>` to generate +purchase orders. Consumables *cannot* be managed using reordering rules. -On the other hand, consumable products are regarded as always available, and they **cannot** be -managed using reordering rules or lot/serial numbers. +Reordering rules can be configured directly on the product form via the :icon:`fa-refresh` icon. -- :guilabel:`On Hand`: Number of units currently available in inventory. + **Note:** If reordering rules already exist on a product, Odoo will relabel + this button to :guilabel:`Min / Max`, to show the minimum and maximum number of units that must + be in stock. -- :guilabel:`Forecasted`: Number of units *expected* to be available in inventory after all - orders are taken into account. In other words, `forecasted = on hand quantity + incoming shipments - - outgoing shipments`. +.. _inventory/product_management/po: -Putaway & Storage -***************** +Creating purchase orders +^^^^^^^^^^^^^^^^^^^^^^^^ -- :doc:`Putaway Rules <../../shipping_receiving/daily_operations/putaway>`: Putaway rules that apply - to this good, such as where to store it when a new shipment arrives. +Both storable and consumable products can be included in a request for quotation in the *Purchase* +app. However, when receiving consumable products, their on-hand quantity does not change upon +validating the receipt (`WH/IN`). +Replenish smart button +^^^^^^^^^^^^^^^^^^^^^^ -- :doc:`Storage Capacities <../../shipping_receiving/daily operations/storage_category>`: Any - storage capacity limitations specified for this good. For example. a warehouse requires that - only 10 (or less) sofas be stored there at any given time, due to their large size. +The :guilabel:`Replenish` button allows all goods to be restocked directly from the product form, +according to the :guilabel:`Preferred Route`. +.. seealso:: + :doc:`Replenishment <../../warehouses_storage/replenishment>` + `Odoo Tutorials: Replenishment Methods for Manufacturing + ` .. _inventory/product_management/manufacturing: -Manufacturing ### +Manufacturing ~~~~~~~~~~~~~ Both storable and consumable products can be manufactured, :doc:`subcontracted <../../../manufacturing/subcontracting>`, or included in another product's -:doc:`bill of materials <../../../manufacturing/basic_setup/bill-configuration>`. - -## INCLUDE MORE ABOUT subcontractING?? - -.. figure:: type/manufacture.png - :align: center - :alt: Show "Bill of Materials" and "Used In" smart buttons. +:doc:`bill of materials (BoM) <../../../manufacturing/basic_setup/bill_configuration>`. .. _inventory/product_management/BoM: -On a product form, the **Bill of Materials** smart button shows the BoMs used to make this -product, while **Used In** shows other goods that include this product in their BoM. - -## ADDD IN BOM AND USED IN ICONS - -The product form for a good will also display -:doc:`ECOs <../../../plm/manage_changes/engineering_change_orders>`, or engineering change -orders, smart button. - -- :guilabel:`Manufactured`: Number of units manufactured in the last 365 days. +On the product form for a storable or consumable good, there are several smart buttons that may +appear for manufacturing operations: -- :doc:`Quality Points <../../../quality/quality_management/quality_control_points>`: Quality - control points (QCPs) that apply during specific operations during the manufacturing process for - this good. - -- :guilabel:`Pass / Fail`: A running tally of how many quality checks have passed or failed for - this good. +- :icon:`fa-flask` :guilabel:`Bill of Materials`: The BoMs used to make this product. +- :icon:`fa-level-up` :guilabel:`Used In`: Other goods that include this product in their BoM. .. _inventory/product_management/transfer-store: Transferring goods ~~~~~~~~~~~~~~~~~~ -*Transfers* are any warehouse operation, such as receipts, internal or batch transfers, or -deliveries. +*Transfers* are warehouse operations that involve the movement of goods. Examples of transfers +include +:doc:`deliveries and receipts <../../shipping_receiving/daily_operations/receipts_delivery_one_step>` +as well as :doc:`internal transfers <../../warehouses_storage/replenishment/resupply_warehouses>` +between warehouses. When creating a transfer for storable products in the *Inventory* app, transfers modify the on-hand -quantity at each location. - -For example, transferring five units from the internal location `WH/Stock` to `WH/Packing Zone` -decreases the recorded quantity at `WH/Stock` and increases it at `WH/Packing Zone`. - -.. _inventory/product_management/transfer-con: +quantity at each location. For example, transferring five units from the internal location +`WH/Stock` to `WH/Packing Zone` decreases the recorded quantity at `WH/Stock` and increases it at +`WH/Packing Zone`. For consumable products, transfers can be created, but exact quantities at each storage location are not tracked. -.. _inventory/product_management/transfer-serv: - -Service products cannot be included in transfers, but these products can be `linked to projects and -tasks for deadline tracking `_. - -.. _inventory/product_management/po: - -Creating purchase orders -~~~~~~~~~~~~~~~~~~~~~~~~ - -Only storable products can - trigger reordering rules for generating purchase orders; - -Both storable and consumable products can be included in a request for quotation in the *Purchase* -app. - -However, when receiving consumable products, their on-hand quantity does not change upon validating -the receipt (e.g. `WH/IN`). - .. _inventory/product_management/package: Packages @@ -326,8 +295,8 @@ Packages Both storable and consumable products can be placed in :doc:`packages `. However, for consumable products, the quantity is not tracked, and the product is not listed in the -package's :guilabel:`Contents`, accessed by going to :menuselection:`Inventory app --> Products --> -Packages`, and selecting the desired package. +package's :guilabel:`Contents` (which can be accessed by going to +:menuselection:`Inventory app --> Products --> Packages`, and selecting the desired package). .. figure:: type/package-content.png :align: center @@ -335,47 +304,36 @@ Packages`, and selecting the desired package. A consumable product was placed in the package, but the **Content** section does not list it. -If the *Move Entire Package* feature is enabled, moving a package updates the location of the -contained storable products. However, the location of consumable products are not updated. +Additionally, if the :guilabel:`Move Entire Packages` feature is enabled +(:menuselection:`Inventory --> Configuration --> Operations Types`, and select any operation), +moving a package updates the location of the contained storable products but not the contained +consumable products. .. _inventory/product_management/report: -Inventory report -~~~~~~~~~~~~~~~~ - -**Only** storable products appear on the following reports. - -The *stock report* is a comprehensive list of all on-hand, unreserved, incoming, and outgoing -storable products. The report is only available to users with :doc:`administrator access -<../../../../general/users/access_rights>`, and is found by navigating to :menuselection:`Inventory -app --> Reporting --> Stock`. - -.. image:: type/stock-report.png - :align: center - :alt: Show stock reporting list found in Inventory > Reporting > Stock. - -The *location report* is a breakdown of each location (internal, external, or virtual) and the -on-hand and reserved quantity of each storable product. The report is only available with the -*Storage Location* feature activated (:menuselection:`Inventory app --> Configuration --> -Settings`), and to users with :doc:`administrator access <../../../../general/users/access_rights>`. - -Navigate to the location report by going to :menuselection:`Inventory app --> Reporting --> -Locations`. - -.. image:: type/location-report.png - :align: center - :alt: Show location reporting list found in Inventory > Reporting > Locations. +Inventory reports +~~~~~~~~~~~~~~~~~ -Moves History report -~~~~~~~~~~~~~~~~~~~~ +**Only** storable products appear on the following reports. Note, these reports are only available +to users with :doc:`administrator access <../../../../general/users/access_rights>`. -- :guilabel:`In / Out`: Redirect to the :doc:`*Moves History* report - <../../warehouses_storage/reporting/moves_history>`, which shows where and when this good - has moved in/out of stock. +- :doc:`Stock report <../../warehouses_storage/reporting/stock>`: A comprehensive list of all + on-hand, unreserved, incoming, and outgoing storable products. To access the report, go to + :menuselection:`Inventory app --> Reporting --> Stock`. +- :doc:`Location report <../../warehouses_storage/reporting/locations>`: A breakdown of which + storable products are held at each location (internal, external, or virtual). The report is only + available with the *Storage Location* feature activated (:menuselection:`Inventory app --> + Configuration --> Settings`). To access the report, go to :menuselection:`Inventory app --> + Reporting --> Locations`. -Create repairs -~~~~~~~~~~~~~~ +- :doc:`Moves History report <../../warehouses_storage/reporting/moves_history>`: An overview of + where and when this good has moved in/out of stock. To access the report, go to + :menuselection:`Inventory app --> Reporting --> Moves History`. Alternatively, click the + :icon:`fa-exchange` :guilabel:`In / Out` smart button on a product form to filter the report + on that product's moves history. +- :guilabel:`Moves Analysis`: A pivot table view of inventory transfers by operation type. -EXAMPLE \ No newline at end of file +- :ref:`Stock Valuation report `: A detailed record + of the monetary value of all storable products. \ No newline at end of file diff --git a/content/applications/inventory_and_mrp/inventory/product_management/configure/type/location-report.png b/content/applications/inventory_and_mrp/inventory/product_management/configure/type/location-report.png deleted file mode 100644 index e77f9df5e5..0000000000 Binary files a/content/applications/inventory_and_mrp/inventory/product_management/configure/type/location-report.png and /dev/null differ diff --git a/content/applications/inventory_and_mrp/inventory/product_management/configure/type/manufacture.png b/content/applications/inventory_and_mrp/inventory/product_management/configure/type/manufacture.png deleted file mode 100644 index 81a5111d93..0000000000 Binary files a/content/applications/inventory_and_mrp/inventory/product_management/configure/type/manufacture.png and /dev/null differ diff --git a/content/applications/inventory_and_mrp/inventory/product_management/configure/type/on-hand.png b/content/applications/inventory_and_mrp/inventory/product_management/configure/type/on-hand.png deleted file mode 100644 index d7133669f8..0000000000 Binary files a/content/applications/inventory_and_mrp/inventory/product_management/configure/type/on-hand.png and /dev/null differ diff --git a/content/applications/inventory_and_mrp/inventory/product_management/configure/type/product-form.png b/content/applications/inventory_and_mrp/inventory/product_management/configure/type/product-form.png index cb12401754..2d8ee5d3fb 100644 Binary files a/content/applications/inventory_and_mrp/inventory/product_management/configure/type/product-form.png and b/content/applications/inventory_and_mrp/inventory/product_management/configure/type/product-form.png differ diff --git a/content/applications/inventory_and_mrp/inventory/product_management/configure/type/stock-report.png b/content/applications/inventory_and_mrp/inventory/product_management/configure/type/stock-report.png deleted file mode 100644 index 620de1e383..0000000000 Binary files a/content/applications/inventory_and_mrp/inventory/product_management/configure/type/stock-report.png and /dev/null differ diff --git a/content/applications/inventory_and_mrp/inventory/product_management/configure/type/storable.png b/content/applications/inventory_and_mrp/inventory/product_management/configure/type/storable.png new file mode 100644 index 0000000000..8ed2820e1f Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/product_management/configure/type/storable.png differ diff --git a/content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst b/content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst index e1f34457c3..082d93247b 100644 --- a/content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst +++ b/content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst @@ -11,7 +11,8 @@ inventory turnover, and identifying any discrepancies in inventory. The reporting feature is only accessible to users with :doc:`admin access <../../../../general/users/access_rights>`. -To access the stock report, go to :menuselection:`Inventory app --> Reporting --> Moves History`. +To access the moves history report, go to +:menuselection:`Inventory app --> Reporting --> Moves History`. .. image:: moves_history/moves-history.png :align: center