Author: |
Ilyas, Ooops, Odoo Community Association (OCA) |
License: |
AGPL-3 |
Branch: |
15.0 |
Repository: |
alfredoavanzosc/manufacture |
Dependencies: |
mrp |
Languages: |
HTML (390, 28.8%),
PO File (171, 12.6%),
Python (655, 48.4%),
XML (28, 2.1%),
and
reStructuredText (108, 8.0%) |
Other branches: |
14.0 |
Other repositories: |
Change2improve/manufacture,
Daniel-CA/manufacture,
Darknroses/manufacture,
Escodoo/manufacture,
ForgeFlow/manufacture,
Gabinete-Digital/manufacture,
Jarsa-dev/manufacture,
Jarsa/manufacture,
OCA/manufacture,
Tecnativa/manufacture,
akretion/manufacture,
aurestic/manufacture,
brain-tec/manufacture,
camptocamp/manufacture,
enmingc/manufacture,
grindtildeath/manufacture,
kmee/manufacture,
lbelorgey/manufacture,
mymage/manufacture,
and
ursais/manufacture |
<h1 class="title">BOM Attribute Match</h1>
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/manufacture/tree/15.0/mrp_bom_attribute_match"><img alt="OCA/manufacture" src="https://img.shields.io/badge/github-OCA%2Fmanufacture-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/manufacture-15-0/manufacture-15-0-mrp_bom_attribute_match"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/129/15.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p>This module addresses the BoM case where the product to manufacture has one attribute with tens or hundreds of values (usually attribute "color", eg: "Configurable Desk" can be produced in 900 different colors).</p>
<p>Creating a dynamic BoM currently requires adding one BoM line for each attribute value to match component variant with attribute value (eg: component "Desk board (Green)" to be applied to variant "Green").</p>
<p>This has 3 downsides:</p>
<ul class="simple">
<li>BoM lines proliferation (more error prone)</li>
<li>Difficult to update in case a new attribute value (new color paint) is added</li>
<li>Difficult to update in case base component changes.</li>
</ul>
<p>This module allows to use a product template as component in BoM lines, automatically matching component variant to use in MO line with the attribute value selected for manufacture.</p>
<p>Eg: Product template "Desk Board" is added to BoM line for product "Configurable Desk"; match is made on attribute "Color". In MO, if product to manufacture is "Configurable Desk (Steel, Pink)", MO line will have component "Desk Board (Pink)".</p>
<p>Using the same BoM, if product to manufacture is "Configurable Desk (Steel, Yellow)", MO line will have component "Desk Board (Yellow)".</p>
<p>The flow is valid also if the Component (Product Template) has more than one attribute matching the product to manufacture; in this case, on MO line the component variant will be the one matching multiple attribute values for the product to manufacture.</p>
<p>Various checks are in place to make sure this flow is not disrupted:</p>
<ul>
<li><p class="first">user cannot add a product in field "Component (Product Template)" which:</p>
<blockquote>
<p>does not have matching attributes with product to manufacture</p>
<p>has a different variant-generating attribute than the product to manufacture</p>
</blockquote>
</li>
<li><p class="first">Adding a new variant-generating attribute to a product used as "Component (Product Template)" raises an error if the attribute is not included in all the products to manufacture where component is referenced.</p>
</li>
<li><p class="first">Removing an attribute used for BoM attribute matching from product to manufacture raises an error.</p>
</li>
<li><p class="first">On a BoM line with Component (Product Template) set, an attribute value of attributes referenced in "Match on attribute" field cannot be used in field "Apply to variant".</p>
</li>
<li><p class="first">If attribute value for matching attribute in manufactured product is not present in component (product template), the BoM line is skipped in MO.</p>
</li>
</ul>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#usage" id="id1">Usage</a></li>
<li><a class="reference internal" href="#bug-tracker" id="id2">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="id3">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="id4">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="id5">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="id6">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<a name="usage"></a>
<h2><a class="toc-backref" href="#id1">Usage</a></h2>
<p>Using this module you can have dynamic components of a BOM.
It will allow you to have only 1 line in the BOM if you have hundreds of attribute
values for manufacturing product and hundreds of attributes values of component (material).</p>
<p>How to use</p>
<blockquote>
<ol class="arabic simple">
<li>Create a product to produce e.g. Desk.</li>
<li>Set 1 attribute (e.g. Color). And select possible values for it.</li>
<li>Create a component product (material) e.g. Plastic.</li>
<li>Set 1 attribute (Color). And select possible values for it.</li>
<li>Create a BOM.</li>
<li>Select a manufacturing product Desk.</li>
<li>Add a BOM line. Select Component (product template) Plastic.</li>
<li>You will see Color attribute appeared in the Apply On Attribute field.</li>
<li>Save the BOM.</li>
<li>Create Manufacturing Order. Select Desk with e.g. Red color to produce and BOM you created.</li>
<li>You will see in the component list Plastic added with corresponding (red) color.</li>
</ol>
</blockquote>
<p>Consider, that to use this feature component must have only 1 attribute.
And a values of this attribute of a manufacturing product should be available for a component.</p>
<a name="bug-tracker"></a>
<h2><a class="toc-backref" href="#id2">Bug Tracker</a></h2>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/manufacture/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/manufacture/issues/new?body=module:%20mrp_bom_attribute_match%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
<a name="credits"></a>
<h2><a class="toc-backref" href="#id3">Credits</a></h2>
<a name="authors"></a>
<h3><a class="toc-backref" href="#id4">Authors</a></h3>
<ul class="simple">
<li>Ilyas</li>
<li>Ooops</li>
</ul>
<a name="contributors"></a>
<h3><a class="toc-backref" href="#id5">Contributors</a></h3>
<ul class="simple">
<li>Ooops404 <<a class="reference external" href="https://ooops404.com">https://ooops404.com</a>><ul>
<li>Ilyas</li>
</ul>
</li>
<li><a class="reference external" href="https://www.camptocamp.com">Camptocamp</a><ul>
<li>Iván Todorovich <<a class="reference external" href="mailto:ivan.todorovich@camptocamp.com">ivan.todorovich@camptocamp.com</a>></li>
</ul>
</li>
</ul>
<a name="maintainers"></a>
<h3><a class="toc-backref" href="#id6">Maintainers</a></h3>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
<p>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.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/manufacture/tree/15.0/mrp_bom_attribute_match">OCA/manufacture</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>