OdooWiki OCA HUB

Project Task Stock

project_task_stock folder_open OCA/project open_in_new
Project Management License: AGPL-3

This module allows to consume products directly from a project task.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Consume products directly from a project task: add stock moves, confirm, reserve, transfer or scrap materials, and post the cost to the project's analytic account.

This module links inventory operations to project tasks so materials can be consumed while working on a task.

  • On the project form a new "Stock" section lets you set the default operation type, source and destination locations, and an analytic date.
  • On task stages you can enable "use stock moves" and "done stock moves". Tasks in those stages show a "Stock Info" tab where you add the products to consume.
  • Buttons on the task let you Confirm materials, Check availability materials, Transfer materials, Unreserve, Scrap and Cancel materials. A manager can Lock or Unlock the material list.
  • The task shows a stock status (pending, confirmed, assigned, done, cancel), a Scraps counter and a Product Moves button opening the inventory moves.
  • When materials are transferred, an analytic line is created with the product cost, using the task's analytic account or distribution, so the cost is booked to the project.
  • Changing the project or task locations updates pending moves; reserved moves block location changes.
  • Scraps can be linked to a task, and the scrap form shows the related task.

It touches project.project, project.task, project.task.type, stock.move, stock.move.line, stock.scrap and account.analytic.line.

Depends on

projectstock

Required by other modules

Models and fields (7)
  • stock.move · extends an existing modeltask_id (Related Task), analytic_line_ids (Analytic Lines), raw_material_task_id (Task for material), show_cancel_button_in_task
  • stock.scrap · extends an existing modeltask_id (Task)
  • project.task · new modelgroup_id, move_ids (Stock Moves), scrap_ids (Scraps), location_id (Source Location), scrap_count (Scrap Move), stock_state, picking_type_id (Operation Type), use_stock_moves, done_stock_moves, location_dest_id (Destination Location), unreserve_visible (Allowed to Unreserve Inventory), stock_analytic_date, stock_moves_is_locked, stock_analytic_line_ids (Stock Analytic Lines), allow_moves_action_assign, stock_analytic_account_id (Move Analytic Account), allow_moves_action_confirm, stock_analytic_distribution
  • project.project · extends an existing modellocation_id (Source Location), picking_type_id (Operation Type), location_dest_id (Destination Location), stock_analytic_date
  • stock.move.line · extends an existing modeltask_id (Task)
  • project.task.type · extends an existing modeluse_stock_moves, done_stock_moves
  • account.analytic.line · extends an existing modelstock_move_id (Stock Move), stock_task_id (Project Task)

Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 1 confirmed, 8 with no information of 9 versions.

terminal Installation and usage

OCA documentation · Odoo 18.0

To configure this module, you need to:

  • Go to Inventory -\> Configuration -\> Settings and check "Storage Locations" option.
  • Go to Inventory -\> Configuration -\> Operation types.
  • Create a new operation type with the following options:
  • Operation type: Task material
  • Code: TM
  • Type of operation: Delivery
  • Default Source Location: WH/Stock
  • Default Destination Location: WH/Stock/Shelf 1
  • Go to Project -\> Configuration -\> Projects.
  • Create a new project with the following options:
  • Name: Task material
  • Operation type: Task material
  • Go to Project -\> Configuration -\> Task Stages and edit some records.
  • In progress: Check Use Stock Moves option and add the created project.
  • Done: Check Use Stock Moves option + Done Stock Moves and add the created project.
  • Go to Projects -\> Task material (project) and create a task and edit it.
  • Stock Info is displayed in the Extra info tab with the same project information, but it can be modified.
  • Add some product to Stock Info tab and set some initial demand (1 for example).
  • Click on the button Confirm material to confirm all moves.
  • Change the stage to Done.
  • Stock Info tab is readonly and some buttons show in header:
  • Check availability materials: Product availability will be checked.
  • Transfer Materials: Stock moves are confirmed and moved from one location to another.
  • Unreserve: Remove the reservation stock of the products.
  • Cancel Materials: Set the moves of the products as cancelled.
  • Scrap: Allows the defined products to be scrapped.

No verified information in OCA: Installation.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.