Ive started a new job at a startup and am working on a BOM for a box build with a couple of PCBs and wire harnesses inside. Im in a bit of an impasse about how best to define wire harnesses in the BOM. In my previous job, we made standalone PCBs for OEM markets, where I only defined PCB mounted components, and never dealt with wire harnesses. What im trying to get my head round now though is in this instance where we will order a spool of wire, and then cut it to required lengths to then be crimped and inserted into a connector, should the spool be a BOM item, and then the cut wires be entered as sub-assemblies created from it? Or should the cut wires be BOM items, and they simply reference the relevant spool from a supplier?
It's typically best if the BOM reflects the assembly process. Start with the final product (or whatever goes in the box to be shipped) and work backwards through the subassembly.
If the harness gets build on the final line, than only the parts (wire, crimps, etc.) should be in your BOM. If it shows up on the line pre-assembled, than it's a subassembly with it's own part number and sub-assembly BOM.
Most BOM management tools allow you to structure the BOM this way and also create a "flat" view, where all parts are listed.
Often the wire harness will have its own part number which you can ask for on a BOM. This treats the harness as a single component from the BOM point of view.
The description for that part number will refer to the harness's own drawing number, BOM, and assembly procedure (and possibly drawings for the jig needed to assemble it). Your spool of wire will then be on the harness BOM, not the main product BOM.
It can then be built separately and held in stock - or even built by another company - or built on the production line, according to whichever suits your process.
Keeping it a separate component can simplify build variants : revisions 1,2 use harness part number HARN003 while revision 3 uses HARN007, which can also be shared with (some other similar product)
we will order a spool of wire, and then cut it to required lengths to then be crimped and inserted into a connector, should the spool be a BOM item, and then the cut wires be entered as sub-assemblies created from it?
Each cut wire can have a fractional quantity of the bought in spool. BoM software easily deals with this. The fractional part of the bought spool would be a BoM item but be defined as bulk issue if the cable assembly is built as and when it is needed. Defining the spool as bulk issue means the spool can be available without "booking it from stores".
Or should the cut wires be BOM items, and they simply reference the relevant spool from a supplier?
If you are taking the spool and cutting wires that go back into stock for later use when building the cable assembly, then the cut wires need to be given a part number and the cable assembly BoM will refer only to them.
The short answer is, use a ‘multi-level’ BOM. Each subunit in the BOM has its own BOM and design data that report in to the part number for that subunit. Add as many levels as needed for your product, including a finished good in a carton.
Another task you face is creating a part number system. As you do that, think about how to distinguish items as they relate to the BOM level they belong to as well as their type. You can sort of encode that into a categorized part number, or choose not to and just assign arbitrary numbers as you need them and bury that information in the record for the part number. Doing the former does make things a bit easier, if done sensibly.
Cable assemblies call out the need for a part number category: bulk materials, such as wire. You would reference that in your BOM with a length quantity, rather than call out each length of wire as an item. MRP systems are set up to deal with this.