Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
5b70c86
[ADD] stock_product_pack: new module
ernestotejeda Sep 19, 2019
8e2560d
[ADD] icon.png
OCA-git-bot Oct 22, 2019
af02bdb
[IMP] stock_product_pack: improve description and usage readme section
ernestotejeda Oct 22, 2019
96ff324
Added translation using Weblate (Portuguese)
pedrocs-exo Dec 12, 2019
382c765
Translated using Weblate (Portuguese)
pedrocs-exo Dec 12, 2019
03871f3
[FIX] stock_product_pack: only use stockable products to calculate th…
azucenatrey Apr 29, 2020
af0fc7a
Added translation using Weblate (French)
ypapouin May 28, 2020
6f849af
Translated using Weblate (French)
ypapouin May 28, 2020
d657ec1
[IMP] stock_product_pack: black, isort, prettier
joao-p-marques Sep 18, 2020
9ea2373
[MIG] stock_product_pack: Migration to 13.0
joao-p-marques Sep 21, 2020
42f5ba9
[IMP] stock_product_pack: Be able for stock manager to modify packs l…
nicomacr Feb 2, 2021
6dde5ef
[13.0] [IMP] stock_product_pack: Not add the product pack to the move…
nicomacr Apr 12, 2021
b9efb84
Update translation files
oca-transbot Jul 30, 2021
979f375
[14.0][MIG] stock_product_pack: Migration to 14.0
Sep 18, 2021
1426998
[FIX] stock_product_pack: stock on services packs
Apr 22, 2021
9b1ad7a
[FIX] stock_product_pack: pre-commit
pedrobaeza Jan 3, 2022
2eb6944
[MIG] stock_product_pack: Migration to 15.0
ernesto-garcia-tecnativa Mar 1, 2023
8c69554
[UPD] Update stock_product_pack.pot
Mar 6, 2023
d46ca0b
[UPD] README.rst
OCA-git-bot Mar 6, 2023
4eed694
[MIG] stock_product_pack: Migration to 16.0
rven Feb 23, 2023
8bfab4e
[UPD] Update stock_product_pack.pot
Jun 5, 2023
ea62152
[UPD] README.rst
OCA-git-bot Jun 5, 2023
9a6c7d4
Update translation files
weblate Jun 5, 2023
1fcb554
[UPD] README.rst
OCA-git-bot Sep 3, 2023
e2fb3ba
Translated using Weblate (Spanish)
Ivorra78 Aug 23, 2023
5f4c6ce
Added translation using Weblate (Italian)
mymage Nov 8, 2023
f6b6731
Translated using Weblate (Italian)
mymage Nov 9, 2023
3d3ed80
Translated using Weblate (Italian)
mymage Nov 21, 2023
9803f61
[IMP] stock_product_pack: pre-commit execution
Dec 18, 2023
a41dec6
[MIG] stock_product_pack: Migration to 17.0
Dec 18, 2023
015afea
[IMP] stock_product_pack: pre-commit execution
ALopez-Adhoc Nov 25, 2024
606fb43
[MIG] stock_product_pack: Migration to 18.0
ALopez-Adhoc Nov 25, 2024
2f28ec4
[UPD] Update stock_product_pack.pot
Jul 5, 2025
066a67a
[BOT] post-merge updates
OCA-git-bot Jul 5, 2025
e123184
[MIG] stock_product_pack: Migration to 19.0
lef-adhoc Oct 27, 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
116 changes: 116 additions & 0 deletions stock_product_pack/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

==================
Stock product Pack
==================

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

.. |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%2Fproduct--pack-lightgray.png?logo=github
:target: https://github.com/OCA/product-pack/tree/19.0/stock_product_pack
:alt: OCA/product-pack
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/product-pack-19-0/product-pack-19-0-stock_product_pack
: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/product-pack&target_branch=19.0
:alt: Try me on Runboat

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

This module allows you to get *On Hand* and *Forecasted* values
calculated from components of the pack.

**Table of contents**

.. contents::
:local:

Usage
=====

To use this module, you need to:

1. Go to *Inventory -> Master Data -> Product*, create a product and
check "Is Pack?" field then set Pack Type and Pack component price.
2. Choose products to include in the pack.
3. Go to *Inventory -> Operations -> Transfers* and create transfer
related to components of a Pack 'X'.
4. Then go to *Inventory -> Master Data -> Product*, find the Pack 'X'
and you will see in the smart buttons that show *On Hand* and
*Forecasted* the quantities based on the *On Hand* and *Forecasted*
quantities of its components. That is the minimum quantities of its
components.

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/product-pack/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/product-pack/issues/new?body=module:%20stock_product_pack%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
-------

* NaN·tic
* ADHOC SA
* Tecnativa

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

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

- Ernesto Tejeda
- Pedro M. Baeza
- Sergio Teruel
- João Marques

- `ADHOC SA <https://www.adhoc.com.ar>`__:

- Bruno Zanotti

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-ernestotejeda| image:: https://github.com/ernestotejeda.png?size=40px
:target: https://github.com/ernestotejeda
:alt: ernestotejeda

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

|maintainer-ernestotejeda|

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

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
2 changes: 2 additions & 0 deletions stock_product_pack/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import models
21 changes: 21 additions & 0 deletions stock_product_pack/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Copyright 2021 Julio Cesar Bravo Rodriguez
# Copyright 2019 NaN (http://www.nan-tic.com) - Àngel Àlvarez
# Copyright 2019 Tecnativa - Ernesto Tejeda
# Copyright 2020 Tecnativa - João Marques
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Stock product Pack",
"version": "19.0.1.0.0",
"category": "Warehouse",
"summary": "This module allows you to get the right available quantities "
"of the packs",
"website": "https://github.com/OCA/product-pack",
"author": "NaN·tic, ADHOC SA, Tecnativa, Odoo Community Association (OCA)",
"maintainers": ["ernestotejeda"],
"license": "AGPL-3",
"depends": ["product_pack", "stock"],
"data": ["security/ir.model.access.csv", "views/product_template_views.xml"],
"installable": True,
"auto_install": True,
"application": False,
}
53 changes: 53 additions & 0 deletions stock_product_pack/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_product_pack
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-18 14:54+0000\n"
"PO-Revision-Date: 2023-09-03 13:43+0000\n"
"Last-Translator: Ivorra78 <informatica@totmaterial.es>\n"
"Language-Team: \n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"

#. module: stock_product_pack
#: model:ir.model.fields,field_description:stock_product_pack.field_product_product__dont_create_move
#: model:ir.model.fields,field_description:stock_product_pack.field_product_template__dont_create_move
msgid "Don't create move"
msgstr "No crear movimiento"

#. module: stock_product_pack
#: model:ir.model,name:stock_product_pack.model_procurement_group
msgid "Procurement Group"
msgstr "Grupo de Adquisiciones"

#. module: stock_product_pack
#: model:ir.model,name:stock_product_pack.model_product_template
msgid "Product"
msgstr "Producto"

#. module: stock_product_pack
#: model:ir.model,name:stock_product_pack.model_product_product
msgid "Product Variant"
msgstr "Variante del producto"

#. module: stock_product_pack
#: model:ir.model.fields,help:stock_product_pack.field_product_product__dont_create_move
#: model:ir.model.fields,help:stock_product_pack.field_product_template__dont_create_move
msgid ""
"With this option, the pack won't create an stock.move and will be set as "
"delivered upon sale confirmation. This is useful to use get pack stock "
"availability (type = 'product') but without actually having stock and moves "
"of it."
msgstr ""
"Con esta opción, el paquete no creará un stock.move y se establecerá como "
"entregado tras la confirmación de la venta. Esto es útil para obtener la "
"disponibilidad de existencias del paquete (type = 'product') pero sin tener "
"existencias ni movimientos del mismo."
48 changes: 48 additions & 0 deletions stock_product_pack/i18n/fr.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_product_pack
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2020-05-28 12:19+0000\n"
"Last-Translator: Yann Papouin <y.papouin@dec-industrie.com>\n"
"Language-Team: none\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 3.10\n"

#. module: stock_product_pack
#: model:ir.model.fields,field_description:stock_product_pack.field_product_product__dont_create_move
#: model:ir.model.fields,field_description:stock_product_pack.field_product_template__dont_create_move
msgid "Don't create move"
msgstr ""

#. module: stock_product_pack
#: model:ir.model,name:stock_product_pack.model_procurement_group
msgid "Procurement Group"
msgstr ""

#. module: stock_product_pack
#: model:ir.model,name:stock_product_pack.model_product_template
msgid "Product"
msgstr "Article"

#. module: stock_product_pack
#: model:ir.model,name:stock_product_pack.model_product_product
msgid "Product Variant"
msgstr ""

#. module: stock_product_pack
#: model:ir.model.fields,help:stock_product_pack.field_product_product__dont_create_move
#: model:ir.model.fields,help:stock_product_pack.field_product_template__dont_create_move
msgid ""
"With this option, the pack won't create an stock.move and will be set as "
"delivered upon sale confirmation. This is useful to use get pack stock "
"availability (type = 'product') but without actually having stock and moves "
"of it."
msgstr ""
52 changes: 52 additions & 0 deletions stock_product_pack/i18n/it.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_product_pack
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2023-11-21 11:36+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"

#. module: stock_product_pack
#: model:ir.model.fields,field_description:stock_product_pack.field_product_product__dont_create_move
#: model:ir.model.fields,field_description:stock_product_pack.field_product_template__dont_create_move
msgid "Don't create move"
msgstr "Non creare il movimento"

#. module: stock_product_pack
#: model:ir.model,name:stock_product_pack.model_procurement_group
msgid "Procurement Group"
msgstr "Gruppo di approvvigionamento"

#. module: stock_product_pack
#: model:ir.model,name:stock_product_pack.model_product_template
msgid "Product"
msgstr "Prodotto"

#. module: stock_product_pack
#: model:ir.model,name:stock_product_pack.model_product_product
msgid "Product Variant"
msgstr "Variante prodotto"

#. module: stock_product_pack
#: model:ir.model.fields,help:stock_product_pack.field_product_product__dont_create_move
#: model:ir.model.fields,help:stock_product_pack.field_product_template__dont_create_move
msgid ""
"With this option, the pack won't create an stock.move and will be set as "
"delivered upon sale confirmation. This is useful to use get pack stock "
"availability (type = 'product') but without actually having stock and moves "
"of it."
msgstr ""
"Con questa opzione, il collo non creerà un movimento di magazzino e verrà "
"impostato a consegnato alla conferma della vendita. Questo è utile per "
"utilizzare la disponibilità di magazzino del collo (tipo = 'prodotto') ma "
"senza avere realmente movimenti."
48 changes: 48 additions & 0 deletions stock_product_pack/i18n/pt.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_product_pack
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2019-12-12 22:05+0000\n"
"Last-Translator: Pedro Castro Silva <pedrocs@exo.pt>\n"
"Language-Team: none\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 3.9.1\n"

#. module: stock_product_pack
#: model:ir.model.fields,field_description:stock_product_pack.field_product_product__dont_create_move
#: model:ir.model.fields,field_description:stock_product_pack.field_product_template__dont_create_move
msgid "Don't create move"
msgstr ""

#. module: stock_product_pack
#: model:ir.model,name:stock_product_pack.model_procurement_group
msgid "Procurement Group"
msgstr ""

#. module: stock_product_pack
#: model:ir.model,name:stock_product_pack.model_product_template
msgid "Product"
msgstr "Produto"

#. module: stock_product_pack
#: model:ir.model,name:stock_product_pack.model_product_product
msgid "Product Variant"
msgstr ""

#. module: stock_product_pack
#: model:ir.model.fields,help:stock_product_pack.field_product_product__dont_create_move
#: model:ir.model.fields,help:stock_product_pack.field_product_template__dont_create_move
msgid ""
"With this option, the pack won't create an stock.move and will be set as "
"delivered upon sale confirmation. This is useful to use get pack stock "
"availability (type = 'product') but without actually having stock and moves "
"of it."
msgstr ""
45 changes: 45 additions & 0 deletions stock_product_pack/i18n/stock_product_pack.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_product_pack
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: stock_product_pack
#: model:ir.model.fields,field_description:stock_product_pack.field_product_product__dont_create_move
#: model:ir.model.fields,field_description:stock_product_pack.field_product_template__dont_create_move
msgid "Don't create move"
msgstr ""

#. module: stock_product_pack
#: model:ir.model,name:stock_product_pack.model_procurement_group
msgid "Procurement Group"
msgstr ""

#. module: stock_product_pack
#: model:ir.model,name:stock_product_pack.model_product_template
msgid "Product"
msgstr ""

#. module: stock_product_pack
#: model:ir.model,name:stock_product_pack.model_product_product
msgid "Product Variant"
msgstr ""

#. module: stock_product_pack
#: model:ir.model.fields,help:stock_product_pack.field_product_product__dont_create_move
#: model:ir.model.fields,help:stock_product_pack.field_product_template__dont_create_move
msgid ""
"With this option, the pack won't create an stock.move and will be set as "
"delivered upon sale confirmation. This is useful to use get pack stock "
"availability (type = 'product') but without actually having stock and moves "
"of it."
msgstr ""
4 changes: 4 additions & 0 deletions stock_product_pack/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import product_template
from . import product_product
from . import stock_rule
Loading