inventree / InvenTree

Open Source Inventory Management System
https://docs.inventree.org
MIT License
4.33k stars 784 forks source link

[BOM] Support leader and attrition for BOM item overage calculation #1539

Open cdwilson opened 3 years ago

cdwilson commented 3 years ago

Currently InvenTree supports a single "overage" field:

image

In PCBA manufacturing, this "overage" is typically specified by the factory as three separate requirements: "minimum quantity", "leader", and "attrition" (see this excellent article from Worthington Assembly for more details)

When loading parts into a pick & place machine, the feeders typically require a minimum length of "leader tape" which is wasted when setting up the machine. This "leader" is typically a fixed value for each component type (e.g. 50 extra parts).

Then, when the pick & place is actually placing components, there is a separate "attrition" overage which is typically specified as a percentage of the total number of components to account for machine rejections, dropped parts, etc (e.g. 25% attrition). This attrition can also be specified as a fixed value.

Finally, many manufacturers require a minimum quantity of parts that must be provided, irrespective of the leader & attrition values. For example, if Quantity=100, Leader=10, and Attrition=25%, the required number of parts would be 10+(100*1.25)=135. However, if the manufacturer has a minimum quantity requirement of 200, the minimum number of parts to be purchased for the build would be 200. On the other hand, if Quantity=1000, Leader=10, and Attrition=25%, the required number of parts would be 10+(1000*1.25)=1260.

It would be nice if the BOM item in InvenTree could support the following new fields in addition to the existing overage field:

  1. Minimum quantity - this sets the minimum total quantity for the BOM item that must be purchased for a build.
  2. Leader quantity - this is a fixed overage value added in addition to the existing overage.

Some examples for reference: https://www.protoexpress.com/pcb/wp-content/uploads/2019/08/assembly-kitting-guidelines.pdf https://www.4pcb.com/Assembly%20Requirements%20(3-1-2017).pdf https://www.worthingtonassembly.com/consigned-material

cdwilson commented 3 years ago

Just saw this note in the docs when I was trying to figure out why the overage wasn't affecting the "Can Build" value:

image

image

Consider the request above as a feature request for when the overage becomes functional in the future 😁