Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
2ee926a
[ADD] project_stock: New addon
victoralmau Feb 22, 2022
bd81547
[FIX] project_stock: Avoid permissions error if the user does not hav…
victoralmau Apr 11, 2022
4586955
[IMP] project_stock: Confirm the new stock movements in the "Check av…
victoralmau Apr 20, 2022
cd19b9b
[FIX] project_stock: Update locations on stock moves + disallow updat…
victoralmau May 23, 2022
2687b67
[IMP] project_stock: Update help fields.
victoralmau May 31, 2022
a962ffe
[FIX] project_stock: Change the visibility group of the configuration…
victoralmau May 4, 2022
db6cd60
[IMP] project_stock: Show buttons when they are really needed.
victoralmau Jun 27, 2022
2214b5f
[FIX] project_stock: Auto-create procurement.group in task to use it …
victoralmau Jun 24, 2022
d607a82
[OU-FIX] project_stock: Prevent unhashable type: 'dict' error.
victoralmau Jun 27, 2022
d3bf751
[IMP] project_stock: black, isort, prettier
victoralmau Jul 25, 2022
e4025a0
[MIG] project_stock: Migration to 14.0
victoralmau Jul 25, 2022
b4a77d5
Added translation using Weblate (Croatian)
badbole Aug 23, 2022
4cb4119
[FIX] project_stock: Avoid task deletion error.
victoralmau Aug 30, 2022
a837370
[IMP] project_stock: Add analytic date
victoralmau Sep 15, 2022
c67e999
Added translation using Weblate (Italian)
primes2h Oct 19, 2022
4886b70
[FIX] project_stock: Change cancel process (set as quantity_done = 0)
victoralmau Sep 23, 2022
b82aa00
[FIX] project_stock: Apply validation correctly when changing locatio…
victoralmau Sep 26, 2022
9a1d8e2
[FIX] project_stock: Delete migrations folder (forgotten in v14 migra…
victoralmau Nov 4, 2022
ce972ae
[MIG] project_stock: Migration to 15.0
victoralmau Nov 4, 2022
6b0545e
[IMP] project_stock: Improve tests
victoralmau Nov 9, 2022
3c0818a
[FIX] project_stock: Set the warehouse_id field correctly.
victoralmau Dec 9, 2022
442b90c
[IMP] project_stock: Avoid defining the project in the analytic items…
victoralmau Dec 9, 2022
54144a9
[16.0][MIG] project_stock: Migration to 16.0
RabbitJon-S73 Jan 4, 2023
e4ac6ec
Translated using Weblate (Croatian)
badbole Feb 15, 2023
b9fdb13
Translated using Weblate (Italian)
francesco-ooops Feb 16, 2023
b9d7383
Translated using Weblate (Italian)
mymage Apr 10, 2023
1c1e4c0
Added translation using Weblate (French)
Jun 22, 2023
3fc356f
Translated using Weblate (Italian)
francesco-ooops Jul 12, 2023
4da3121
[FIX] project_stock: Filter valid stock moves (avoiding those done an…
victoralmau Jul 26, 2023
a152681
Added translation using Weblate (Portuguese (Brazil))
adrianojprado Jul 31, 2023
00950f2
[FIX] project_stock: Avoid creating multiple analytical items in the …
victoralmau Jul 28, 2023
fd8db34
Translated using Weblate (Spanish)
Ivorra78 Aug 23, 2023
3ec1984
Translated using Weblate (Croatian)
uvid-vlado Sep 6, 2023
3827af3
[IMP] project_stock: Change the string of the stock_analytic_distribu…
victoralmau Sep 22, 2023
751b317
[OU-ADD] project_stock: Add migration script to install project_stock…
victoralmau Sep 25, 2023
0186ae3
Translated using Weblate (Italian)
mymage Oct 13, 2023
dcb17ab
Translated using Weblate (Portuguese (Brazil))
adrianojprado Oct 28, 2023
4f63c70
Translated using Weblate (Italian)
mymage Nov 2, 2023
0f99e56
[MIG] project_stock_product_set: Migration to 16.0
victoralmau Nov 22, 2023
0825d42
Translated using Weblate (Italian)
mymage Dec 18, 2023
4d56241
[IMP] project_stock: Add Forecasted Report button to stock moves from…
victoralmau Jun 7, 2024
69f60c6
[FIX] project_stock: Avoid AccessError in the form view of tasks for …
victoralmau Jun 11, 2024
4e4f313
Translated using Weblate (Portuguese (Brazil))
Jun 11, 2024
ae15336
Translated using Weblate (Italian)
mymage Jun 14, 2024
975a402
[FIX] project_stock: Do not allow to edit specific fields (product, u…
victoralmau Jan 23, 2025
9898d68
[IMP] project_stock: Support for analytical account not accessible by…
victoralmau Apr 3, 2025
4631f93
[IMP] project_stock: pre-commit auto fixes
pilarvargas-tecnativa Apr 25, 2025
14b507e
[MIG] project_stock > project_task_stock: Migration to 18.0
pilarvargas-tecnativa Apr 25, 2025
d7baf4b
[FIX] project_task_stock: Generate analytical lines in both use cases…
victoralmau May 9, 2025
57aaabd
[IMP] project_task_stock: Add ROADMAP
victoralmau Oct 23, 2025
ce69724
[IMP] project_task_stock: Add the option to cancel moves in a task
victoralmau Oct 22, 2025
7592d41
Update translation files
weblate Nov 19, 2025
b71e181
Translated using Weblate (Italian)
mymage Nov 20, 2025
62dc643
[MIG] project_task_stock: Migration to 19.0
bizzappdev Dec 31, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
156 changes: 156 additions & 0 deletions project_task_stock/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

==================
Project Task Stock
==================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:242c581176cfc77f755cc535f6cd33d657b87ea678afb0ccaa09569d68d94aeb
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fproject-lightgray.png?logo=github
:target: https://github.com/OCA/project/tree/19.0/project_task_stock
:alt: OCA/project
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/project-19-0/project-19-0-project_task_stock
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/project&target_branch=19.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

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

**Table of contents**

.. contents::
:local:

Configuration
=============

To configure this module, you need to:

1. Go to *Inventory -> Configuration -> Settings* and check "Storage
Locations" option.

2. Go to *Inventory -> Configuration -> Operation types*.

3. 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

4. Go to *Project -> Configuration -> Projects*.

5. Create a new project with the following options:

- \`Name\`: Task material
- \`Operation type\`: Task material

6. 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.

Usage
=====

1. Go to *Projects -> Task material (project)* and create a task and
edit it.

2. *Stock Info* is displayed in the *Extra info* tab with the same
project information, but it can be modified.

3. Add some product to *Stock Info* tab and set some initial demand (1
for example).

4. Click on the button *Confirm material* to confirm all moves.

5. Change the stage to Done.

6. *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.

Known issues / Roadmap
======================

#. Lot compatibility (similar to what happens in pickings). #. Release
stock reserves if the task is deleted.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/project/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/project/issues/new?body=module:%20project_task_stock%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Tecnativa

Contributors
------------

- `Tecnativa <https://www.tecnativa.com>`__:

- Víctor Martínez
- Pedro M. Baeza

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

.. |maintainer-victoralmau| image:: https://github.com/victoralmau.png?size=40px
:target: https://github.com/victoralmau
:alt: victoralmau

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-victoralmau|

This module is part of the `OCA/project <https://github.com/OCA/project/tree/19.0/project_task_stock>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions project_task_stock/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
24 changes: 24 additions & 0 deletions project_task_stock/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Copyright 2022-2025 Tecnativa - Víctor Martínez
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Project Task Stock",
"version": "19.0.1.0.0",
"category": "Project Management",
"website": "https://github.com/OCA/project",
"author": "Tecnativa, Odoo Community Association (OCA)",
"license": "AGPL-3",
"depends": ["project", "stock"],
"installable": True,
"data": [
"views/project_project_view.xml",
"views/project_task_type_view.xml",
"views/stock_move_view.xml",
"views/project_task_view.xml",
"views/stock_scrap_views.xml",
],
"demo": [
"demo/stock_picking_type_data.xml",
"demo/project_data.xml",
],
"maintainers": ["victoralmau"],
}
28 changes: 28 additions & 0 deletions project_task_stock/demo/project_data.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1">
<record id="project_project_tm_test" model="project.project">
<field name="name">Task material</field>
<field
name="picking_type_id"
ref="project_task_stock.stock_picking_type_tm_test"
/>
<field name="location_id" ref="stock.stock_location_stock" />
<field name="location_dest_id" ref="stock.stock_location_components" />
<field name="stock_analytic_date">1990-01-01</field>
</record>
<record id="project.project_stage_1" model="project.task.type">
<field name="use_stock_moves" eval="True" />
<field
name="project_ids"
eval="[(4, ref('project_task_stock.project_project_tm_test'))]"
/>
</record>
<record id="project.project_stage_2" model="project.task.type">
<field name="use_stock_moves" eval="True" />
<field name="done_stock_moves" eval="True" />
<field
name="project_ids"
eval="[(4, ref('project_task_stock.project_project_tm_test'))]"
/>
</record>
</odoo>
11 changes: 11 additions & 0 deletions project_task_stock/demo/stock_picking_type_data.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1">
<record id="stock_picking_type_tm_test" model="stock.picking.type">
<field name="name">Task material</field>
<field name="sequence_code">TM</field>
<field name="code">outgoing</field>
<field name="warehouse_id" ref="stock.warehouse0" />
<field name="default_location_src_id" ref="stock.stock_location_stock" />
<field name="default_location_dest_id" ref="stock.stock_location_components" />
</record>
</odoo>
Loading