Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
152 changes: 152 additions & 0 deletions stock_available_mrp/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
=========================================================
Consider the production potential is available to promise
=========================================================

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

.. |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/licence-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%2Fstock--logistics--availability-lightgray.png?logo=github
:target: https://github.com/OCA/stock-logistics-availability/tree/18.0/stock_available_mrp
:alt: OCA/stock-logistics-availability
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/stock-logistics-availability-18-0/stock-logistics-availability-18-0-stock_available_mrp
: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/stock-logistics-availability&target_branch=18.0
:alt: Try me on Runboat

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

This module takes the potential quantities available for Products into
account in the quantity available to promise, where the "Potential
quantity" is the quantity that can be manufactured with the components
immediately at hand. By configuration, the "Potential quantity" can be
computed based on other product field. For example, "Potential quantity"
can be the quantity that can be manufactured with the components
available to promise.

**Table of contents**

.. contents::
:local:

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

Known issues
------------

The manufacturing delays are not taken into account : this module
assumes that if you have components in stock goods, you can manufacture
finished goods quickly enough.

As a consequence, and to avoid overestimating, **only the first level**
of Bill of Materials is considered.

However Sets (a.k.a "phantom" BoMs) are taken into account: if a
component must be replaced with a set, it's the stock of the set's
product which will decide the potential.

If a product has several variants, only the variant with the biggest
potential will be taken into account when reporting the production
potential. For example, even if you actually have enough components to
make 10 iPads 16Go AND 42 iPads 32Go, we'll consider that you can
promise only 42 iPads.

Removed features
----------------

Previous versions of this module used to let programmers demand to get
the potential quantity in an arbitrary Unit of Measure using the
context. This feature was present in the standard computations too until
v8.0, but it has been dropped from the standard from v8.0 on.

For the sake of consistency the potential quantity is now always
reported in the product's main Unit of Measure too.

Roadmap
-------

Possible improvements for future versions:

- Take manufacturing delays into account: we should not promise goods
to customers if they want them delivered earlier that we can make
them
- Compute the quantity of finished product that can be made directly on
each Bill of Material: this would be useful for production managers,
and may make the computations faster by avoiding to compute the same
BoM several times when several variants share the same BoM.
- Add an option (probably as a sub-module) to consider all raw
materials as available if they can be bought from the suppliers in
time for the manufacturing.

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/stock-logistics-availability/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/stock-logistics-availability/issues/new?body=module:%20stock_available_mrp%0Aversion:%2018.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
-------

* Numérigraphe

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

- Loïc Bellier (Numérigraphe) <lb@numerigraphe.com>

- Lionel Sausin (Numérigraphe) <ls@numerigraphe.com>

- many thanks to Graeme Gellatly for his advice and code review

- Laurent Mignon <laurent.mignon@acsone.eu>

- Cédric Pigeon <cedric.pigeon@acsone.eu>

- Florian da Costa <florian.dacosta@akretion.com>

- Joan Mateu <joan.mateu@forgeflow.com>

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

- Víctor Martínez

- `Trobz <https://trobz.com>`__:

- Khoi Vo <khoivha@trobz.com>

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.

This module is part of the `OCA/stock-logistics-availability <https://github.com/OCA/stock-logistics-availability/tree/18.0/stock_available_mrp>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
4 changes: 4 additions & 0 deletions stock_available_mrp/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Copyright 2014 Numérigraphe SARL
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from . import models
17 changes: 17 additions & 0 deletions stock_available_mrp/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Copyright 2014 Numérigraphe SARL, Camptocamp
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "Consider the production potential is available to promise",
"version": "18.0.1.0.1",
"author": "Numérigraphe," "Odoo Community Association (OCA)",
"website": "https://github.com/OCA/stock-logistics-availability",
"category": "Hidden",
"depends": ["stock_available", "mrp"],
"demo": ["demo/mrp_data.xml"],
"data": [
"data/ir_config_parameter.xml",
"views/res_config_settings_views.xml",
],
"license": "AGPL-3",
"installable": True,
}
6 changes: 6 additions & 0 deletions stock_available_mrp/data/ir_config_parameter.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<odoo noupdate="1">
<record id="default_stock_available_mrp_based_on" model="ir.config_parameter">
<field name="key">stock_available_mrp_based_on</field>
<field name="value">qty_available</field>
</record>
</odoo>
47 changes: 47 additions & 0 deletions stock_available_mrp/demo/mrp_data.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1">
<record id="product_kit_1a" model="product.product">
<field name="default_code">PCSC234-WHITE</field>
<field
name="product_tmpl_id"
ref="mrp.product_product_table_kit_product_template"
/>
<field
name="product_template_attribute_value_ids"
eval="[(6,0,[ref('product.product_attribute_value_3')])]"
/>
</record>
<record id="mrp.product_product_table_kit" model="product.product">
<field
name="product_template_attribute_value_ids"
eval="[(6,0,[ref('product.product_attribute_value_4')])]"
/>
</record>
<record id="mrp.mrp_bom_kit_line_2" model="mrp.bom.line">
<field
name="bom_product_template_attribute_value_ids"
eval="[(6,0,[ref('product.product_attribute_value_4')])]"
/>
</record>
<record id="product_computer_desk_bolt_white" model="product.product">
<field name="name">Bolt</field>
<field name="categ_id" ref="product.product_category_5" />
<field name="standard_price">1.0</field>
<field name="list_price">5.0</field>
<field name="type">product</field>
<field name="uom_id" ref="uom.product_uom_unit" />
<field name="uom_po_id" ref="uom.product_uom_unit" />
<field name="default_code">BOLT-WHITE</field>
</record>
<record id="mrp_bom_kit_line_3" model="mrp.bom.line">
<field name="product_id" ref="product_computer_desk_bolt_white" />
<field name="product_qty">4</field>
<field name="product_uom_id" ref="uom.product_uom_unit" />
<field name="sequence">5</field>
<field name="bom_id" ref="mrp.mrp_bom_kit" />
<field
name="bom_product_template_attribute_value_ids"
eval="[(6,0,[ref('product.product_attribute_value_3')])]"
/>
</record>
</odoo>
62 changes: 62 additions & 0 deletions stock_available_mrp/i18n/ca.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_available_mrp
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2022-08-17 12:07+0000\n"
"Last-Translator: jabelchi <jabelchi@gmail.com>\n"
"Language-Team: none\n"
"Language: ca\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.3.2\n"

#. module: stock_available_mrp
#: model:product.template,name:stock_available_mrp.product_computer_desk_bolt_white_product_template
msgid "Bolt"
msgstr "Cargol"

#. module: stock_available_mrp
#: model:ir.model.fields,help:stock_available_mrp.field_res_config_settings__stock_available_mrp_based_on
msgid ""
"Choose the field of the product which will be used to compute potential.\n"
"If empty, Quantity On Hand is used.\n"
"Only the quantity fields have meaning for computing stock"
msgstr ""

#. module: stock_available_mrp
#: model:ir.model,name:stock_available_mrp.model_res_config_settings
msgid "Config Settings"
msgstr ""

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

#. module: stock_available_mrp
#: model_terms:ir.ui.view,arch_db:stock_available_mrp.view_stock_configuration
msgid "Stock available to promise"
msgstr ""

#. module: stock_available_mrp
#: model:ir.model.fields,field_description:stock_available_mrp.field_res_config_settings__stock_available_mrp_based_on
msgid "based on"
msgstr ""

#~ msgid "Product"
#~ msgstr "Producte"

#~ msgid "Table Kit"
#~ msgstr "Kit de taula"

#~ msgid "Table kit"
#~ msgstr "Kit de taula"

#~ msgid "Units"
#~ msgstr "Unitats"
62 changes: 62 additions & 0 deletions stock_available_mrp/i18n/de.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_available_mrp
#
# Translators:
# Rudolf Schnapka <rs@techno-flex.de>, 2016
msgid ""
msgstr ""
"Project-Id-Version: stock-logistics-warehouse (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-01-14 01:38+0000\n"
"PO-Revision-Date: 2016-01-14 09:35+0000\n"
"Last-Translator: Rudolf Schnapka <rs@techno-flex.de>\n"
"Language-Team: German (http://www.transifex.com/oca/OCA-stock-logistics-"
"warehouse-8-0/language/de/)\n"
"Language: de\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"

#. module: stock_available_mrp
#: model:product.template,name:stock_available_mrp.product_computer_desk_bolt_white_product_template
msgid "Bolt"
msgstr ""

#. module: stock_available_mrp
#: model:ir.model.fields,help:stock_available_mrp.field_res_config_settings__stock_available_mrp_based_on
msgid ""
"Choose the field of the product which will be used to compute potential.\n"
"If empty, Quantity On Hand is used.\n"
"Only the quantity fields have meaning for computing stock"
msgstr ""

#. module: stock_available_mrp
#: model:ir.model,name:stock_available_mrp.model_res_config_settings
msgid "Config Settings"
msgstr ""

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

#. module: stock_available_mrp
#: model_terms:ir.ui.view,arch_db:stock_available_mrp.view_stock_configuration
msgid "Stock available to promise"
msgstr ""

#. module: stock_available_mrp
#: model:ir.model.fields,field_description:stock_available_mrp.field_res_config_settings__stock_available_mrp_based_on
msgid "based on"
msgstr ""

#~ msgid "Product"
#~ msgstr "Produkt"

#~ msgid "Product Template"
#~ msgstr "Produktvorlage"

#~ msgid "Thousand"
#~ msgstr "Tausend"
Loading
Loading