diff --git a/docs/assets/images/build/inherited_bom.drawio b/docs/assets/images/build/inherited_bom.drawio new file mode 100644 index 0000000..2163b94 --- /dev/null +++ b/docs/assets/images/build/inherited_bom.drawio @@ -0,0 +1 @@ +7Vpbb5swFP41SNvDJrCB0MeGdFukVevUqVufJhc7gQ5w5Di3/vqZYK4mlFYk7BKpUvHx/fs++5zjVoNutP3I0MK/ppiEGtDxVoMTDQDDBEBLfnS8Sy0jy0wNcxZg2agw3AZPRBp1aV0FmCwrDTmlIQ8WVaNH45h4vGJDjNFNtdmMhtVZF2hOFMOth0LV+j3A3E+tjqUX9k8kmPvZzIYuayKUNZaGpY8w3ZRM8EqDLqOUp1/R1iVhAl6GS9rvw4HafGGMxLxLh/vHn77r2uPp56/R4+Qp8qZw/U6OskbhSm74G4kWIeJEWG8Q4+LXpVw/32WgMLqKMUnGNTQ43vgBJ7cL5CW1GyEDYfN5FMpqOQNhnGwPLt3IARFKIjQinO1EE9kBOhJDKaKsuCkYMTKY/RIbtrQhKYJ5PnKBk/iQUL0ANqDApgE7FLOOcbAWn/Pk8w6xAMUJguOsVkxWajA4rqCGK9CHBhYqwBYouoPjZf5xeJkteE0Gx6uuLwiGxstuOLg1kEiMLxPHIUpeiJbLwKviQrYB/yG+9ffAksX7UtUk2bueFXZZIRarT3tZWfG+XFd025eyfunqCFacVI0CsQO6Yh55/qrniM0Jf+5uUyktUWY1MJbZGBHOI1hXl9tEo5zhhgZ7sWYnTK8qxoQ1JaTblL3K3q4+kFWTnlMbKMVBGWivqnzbrxfaqE+hjf5JocGz0HoQmtOn0LrrrEe9gI56Mc966UEvF4pexl+uhWHKSZQE+wIZ/c009gkT0QF+2xJD6M/HELMgDF0aUrbvCzEiziwR35Iz+ouUamzPIQ+zfqIOC1QRbsoW7AalgGMFHVku254uVGnIWzywIl14YRLRgaAjwG0YHYO84+GtZrUNeOcaTxK0+hHoH+lBjkLORVsA3nRrHo+bJn915kY7kEyelhvVN/yn3Ni1Ow003Wkn5QZ0utMqfIwVV34Kj1LnyyIONpv4csADtO0jnSU4OF/gzNcL/JI1OF9tL49XLRAP85JmmkO/pAH16VFBacjEc6hEEcILsZvWDK9rqqgOldN+omQRWOeIoPnGajyAp72xmt6yzx7mEF+jwflqehJu58s1TsNQD3grEXNXB3U8vDtlmhW8J38P3oZZi6C6/k38FXiLYvFvCqlrKf7ZA179Bg== \ No newline at end of file diff --git a/docs/assets/images/build/inherited_bom.png b/docs/assets/images/build/inherited_bom.png new file mode 100644 index 0000000..95475a3 Binary files /dev/null and b/docs/assets/images/build/inherited_bom.png differ diff --git a/docs/build/bom.md b/docs/build/bom.md index e6cab55..b359405 100644 --- a/docs/build/bom.md +++ b/docs/build/bom.md @@ -6,6 +6,76 @@ title: Bill of Materials A Bill of Materials (BOM) defines the list of component parts required to make an assembly, [create builds](../build) and allocate inventory. +A part which can be built from other sub components is called an *Assembly*. + +## BOM Line Items + +A BOM for a particular assembly is comprised of a number (zero or more) of BOM "Line Items", each of which has the following properties: + +| Property | Description | +| --- | --- | +| Part | A reference to another *Part* object which is required to build this assembly | +| Quantity | The quantity of *Part* required for the assembly | +| Reference | Optional reference field to describe the BOM Line Item, e.g. part designator | +| Overage | Estimated losses for a build. Can be expressed as absolute values (e.g. 1, 7, etc) or as a percentage (e.g. 2%) | +| Inherited | A boolean field which indicates whether this BOM Line Item will be "inherited" by BOMs for parts which are a variant (or sub-variant) of the part for which this BOM is defined. | +| Optional | A boolean field which indicates if this BOM Line Item is "optional" | +| Note | Optional note field for additional information + +!!! missing "Overage" + While the overage field exists, it is currently non-functional and has no effect on BOM operation + +!!! missing "Optional" + The Optional field is currently for indication only - it does not serve a functional purpose (yet) + +### Inherited BOM Line Items + +When using the InvenTree [template / variant](../../part/template) feature, it may be useful to make use of the *inheritance* capability of BOM Line Items. + +If a BOM Line Item is designed as *Inherited*, it will be automatically included in the BOM of any part which is a variant (or sub-variant) of the part for which the BOM Line Item is defined. + +This is particulary useful if a template part is defined with the "common" BOM items which exist for all variants of that template. + +Consider the example diagram below: + +{% with id="inherited_bom", url="build/inherited_bom.png", description="Inherited BOM Line Items" %} +{% include 'img.html' %} +{% endwith %} + +**Template Part A** has two BOM line items defined: *A1* and *A2*. + +- *A1* is inherited by all variant parts underneath *Template Part A* +- *A3* is not inherited, and is only included in the BOM for *Template Part A* + +**Variant B** has two line items: + +- *A1* is inherited from parent part *A* +- *B1* is defined for part *B* (and is also defined as an inherited BOM Line Item) + +**Variant C** + +- *A1* inherited from *A* +- *C1* defined for *C* + +**Variant D** + +- *A1* inherited from *A* +- *B1* inherited from *B* +- *D1* defined for *D* + +**Variant E** + +- Well, you get the idea. + +Note that inherited BOM Line Items only flow "downwards" in the variant inheritance chain. Parts which are higher up the variant chain cannot inherit BOM items from child parts. + +!!! info "Editing Inherited Items" + When editing an inherited BOM Line Item for a template part, the changes are automatically reflected in the BOM of any variant parts. + +## BOM Creation + +BOMs can be created manually, by adjusting individual line items, or by upload an existing BOM file. + ### Add BOM Item To manually add a BOM item, navigate to the part/assembly detail page then click on the "BOM" tab. On top of the tab view, click on the icon then, after the page reloads, click on the icon. diff --git a/docs/releases/0.1.6.md b/docs/releases/0.1.6.md index 15e8ba1..8269bd9 100644 --- a/docs/releases/0.1.6.md +++ b/docs/releases/0.1.6.md @@ -26,6 +26,12 @@ Refer to the [report documentation](../../report/report) for further information [#1292](https://github.com/inventree/InvenTree/pull/1292) adds support for build order / work order reports. Refer to the [build report documentation](../../report/build) for further information. +### Inherited BOM Items + +[#1313](https://github.com/inventree/InvenTree/pull/1313) adds support for inherited BOM items, allowing greater flexibility for Bill of Materials management when combined with the Template / Variant part system. + +Refer to the [BOM documentation](../../build/bom) for further information. + ## Major Bug Fixes | PR | Description | | --- | --- |