Ever look at something and wonder how they keep track of all those parts? Or how about when you see two products, almost identical, but with slightly different labels and wonder how they keep track of the differences? This is the world of the Bill of Materials (or BoM for short, though don’t use that word in public spaces).
With only this document, any manufacturer, anywhere, could (in theory*) rebuild the exact product specified within.
* Clearly they would need the source files for PCBs, plastics, software, etc.…
What Is a Bill of Materials (BoM) and What is it Used For
A BoM is a document, which may be as simple as an Excel spreadsheet or as fancy as an Oracle Agile database, but in the end, it is a document that lays out what parts are used to assemble a product, how many, and a way to identify them.
Before we get too deep, we need to define a few terms; your company or tool may call them something different, but speak of the same thing.
- Part: Any discrete thing is a part. Resistors, plastics, screws. In addition, Assemblies and Products are ‘parts’ in that they are a newly created thing.
- Assembly: A grouping of parts that make up part of the Product, which may include sub-assemblies, or even be what you would think of the product (but without the packaging and all that).
- PCBA: a specific assembly that is a PCB board with the components attached. Often called out because it goes through a specific process of creation.
- HLA: High-Level Assembly, often used for the finished good without the packaging. Think of the thing that a customer sees as what they are buying.
- Product: the actual thing that sits on a shelf or is delivered to the customer. This would include the HLA, its packaging, papers, cables, software, and shrink-wrap.
Example: think of a USB keyboard. The buttons, resistors, and USB chip are parts that are then attached to the PCB, creating a PCBA. This new part is then attached to another assembly, the keyboard top – creating yet another, higher level assembly. The bottom assembly is then attached that included the rubber feet and its sticker. We now have the HLA, or what’s sitting on your desk. When you stick it in a box with those warning stickers and product information, it’s ready to sit on a shelf and be called a Product.
As hinted above, a Bill of Materials describes what parts go into assemblies, what assemblies go into HLAs, and what HLAs go into a Product. Each level is broken down into a hierarchy so each assembly can verify it has all the pieces, and each assembly now creates a part for the assembly above it.
When it gets to the final packaging step, the BoM describes exactly what (and how many) goes in the box.
How to Read It
Depending on the tool being used and how it is displayed, the BoM will usually have a set structure and common elements. This common language helps manufacturers and other companies understand the document.
- Level – Each Part will live somewhere in a hierarchy of parts. The Product will often be Level 1 with the HLA and its packaging being Level 2. Assemblies in the HLA will be Level 3 and so on. The level helps to break down each sub-component and gives structure to an otherwise complex set of parts.
- Part number – Every part must have a unique part number that points to exactly one part or assembly. The reason for the unique number is there are many “10ohm 0603 Resistors” that vary by manufacturer, tolerance, wattage, or other attributes, but your part number will map to a very specific part (or parts, see Alternatives below). A specific Assembly also has a unique part number, with assemblies that are similar – but with a different color, for example, having different part numbers.
- Description – This is the human readable description of the part. Generally, the description should include the attributes that are important to you. For the resistor above, if the wattage or tolerance doesn’t matter to the design, don’t put it in the description, but if it does, make sure it is part of the description. The description isn’t necessarily binding, but it does help to differentiate between parts.
- Manufacturer and Manufacturer Part Numbers – This is where your companies part number is mapped to a specific manufacturer’s part. This is essentially the shopping list for the CM, or where and how they can order the actual part. Custom made parts or assemblies often don’t have this field, as the CM is the one actually creating the item.
- Alternative Parts – for many parts, especially commodity parts, alternative manufacturer and manufacturer part numbers are listed, creating a one-to-many relationship between your part number and manufactured parts. The reason for the alternative is to give your CM options to find the best cost or shortest lead-time. These must be a true drop in replacements, a 0603 resistor can’t be an alternative to a 0402 part, but a 10% tolerance part could replace a 5% if your design isn’t affected by it.
- Quantity – The quantity shows how many of the specific item are used in its level of assembly. An important distinction here is that this quantity is how many are used in the assembly in the hierarchy above it, not how many are in the product. So it may take 5 screws to attach this assembly, and if 10 are used elsewhere, only 5 are listed on this line.
There are many other fields that can be used such as distributor part numbers or PCB reference designators, but the ones above hit the most common.
How Manufacturers Use It
When you create a BoM, you are constructing a very specific recipe. A recipe for how to build your product with exact precision. This isn’t like your grandma’s recipe where she modifies it a bit as she goes, using whatever is in the fridge. No, the manufacture is very strict about sticking to this recipe, even if they think it is wrong (see MCRs below).
You have to remember the manufacturer’s existence depends on making thousands or even millions of your product – exactly the same. Every. Single. Time.
To do this, they only buy the parts listed as approved manufacturer part numbers and use exactly the part listed for each assembly. No more, no less, and no ‘creative changes.’ The manufacturer may make suggestions or requests to create changes (as we will see next) but will not deviate from the documents until told otherwise – which is exactly what you want them to do anyway.
Depending on their process, your manufacturer will take the Bill of Materials and break it down into each of the sub-assemblies. Any PCBAs will be programmed into their pick-and-place lines, mechanical assemblies will be batch assembled, and final assembly grouped together right next to shipping. Since they get paid by the product going out the door, they want to streamline the whole process from when they are loading the feed trays to taping boxes shut.
Change Requests (ECR and MCR) and Change Orders (ECO and DCO)
Because of the complexity of manufacturing and the liability of creating faulty products, manufacturers will not make any changes to the BoM, or any other procedure, unless a formal change process happens.
Every company and tools have a slightly different process and naming convention, but they generally fall into two major groups: Change Requests and Change Orders.
A change request is where a change to the BoM is being requested ( a giveaway from the name), but the distinction is that this is only a request, and not actually approval to make the change.
If a manufacturer is requesting the change (Manufacturer Change Request, or MCR), they may be asking to use a different part for cost reduction or change the footprint on the PCB due to solderability issues. They would like to make a change to improve the manufacturing reliability or their cost and need your team to buy off on the change.
If your side is making the request, it comes through as an Engineering Change Request (ECR). You may want to change the design for performance reasons but before it can be implemented, the manufacturer will need to make modifications to their system. The ECR is a way for engineering to gauge the impact of the change and notify all parties that this change could be coming.
A completed Change Request has two paths: rejection or acceptance. A rejected request may sound like a failed marriage proposal, but it could be as simple as the details were not correct or marketing didn’t like the fact the LEDs were blue – red and orange are the way to go.
Accepted Change Requests must be signed by all parties involved that they agree the change makes sense to move forward with.
Once a Change Request has been signed off by all parties, a Change Order can be created. This is the process to formalize the change and have all sides verify that they are in agreement with the change. This isn’t something that is taken lightly as it requires the CM to interrupt their process flow, make the change, and hope that everything continues to run smoothly when they start back up.
Think of your computer announcing that updates are ready to be installed. You know they are important, but you can never be sure it won’t brick your perfectly running device.
Since a change order creates such a drastic change to the process, often times it requires numerous sign-offs from both sides. The engineer that made the change must sign, send it to their engineering manager to sign, have someone in operations sign off, maybe even marketing and finance if it effects the look or cost of the product, and finally go to the CM to sign off.
Change orders come in many flavors depending on how your company wants to break it down, but generally, there are two major types: Engineering Change Orders (ECO) and Document Change Orders (DCO). Notice there isn’t a Manufacturer Change Order – they make requests but you are their customer and they won’t order you around.
ECOs are generally the more impactful of the change orders. They include changing parts used within the BoM, updating revisions of custom parts (PCBs and plastics), or new firmware release. Even the initial BoM and assembly documentation is released through an ECO to initiate the first build.
DCOs are usually more benign in that they are only updating documentation. It could be to fix typos or clarify descriptions, but it could also change test process or assembly documentation.
BoM Management Tools
So how do companies manage all the complexities of a Bill of Materials and maintain all the complications of change management?
The answer, as so often with life, comes from software. Depending on the size of your company’s product development, there are tools specifically designed to handle BoMs and change management. Often called Product Lifecycle Management (PLM) tools, a handful in the space are listed below.
For small projects or companies that are just starting out, the BoM usually lives in Excel Spreadsheets. The benefit of using Excel is that most people already have it and it doesn’t require much overhead.
Each BoM is a new spreadsheet, and perhaps one spreadsheet maintains all the part numbers in a central location.
Once your company is building more than a few products, or even multiple derivations on a product, maintaining spreadsheets becomes a big issue.
On the opposite end of the spectrum is Oracle’s Agile PLM. As with anything Oracle, Agile is immense, expensive, and extremely powerful. Many big companies use Agile since it ties into their other business tools that track expenses, forecasts, and sales channels.
The integration and deep insights that Agile could provide are incredible, but at a significant cost – both in license fee per user, but also in requiring consultants to modify the tool to fit your company’s needs.
Born in the Web 3.0 era, Arena PLM is a web-based platform that provides many of the benefits of Agile but at a significant discount in price and complexity. This is the tool I’ve had the most experience with having set it up at two different companies.
While Arena has a number of options and configurations that you can modify to fit your company’s process, you don’t have full control as you would with Agile (since it is a web app). On the plus side, they maintain a single, centralized server network for you and continue to push updates to the system, at no extra charge.
Almost as the Fedora Redhat of the PLM world, Aras actually provides their PLM software as open source. For no charge, you could download their software, install it on your own server, and get a PLM tool up and going.
Where they are looking to make their money is by providing the consulting and support service to get their tool connected into the rest of your services. They can also host their platform for you as an additional service.
We covered a lot here with the Bill of Materials. To sum it all up, the BoM is a document that specifies what parts, and how many of them, go into a product. A manufacturer follows this document as a precise recipe to build a continuous line of products rolling out the door into your customers’ hands.
If you got something from this description of BoMs or have a great story to tell about your own experiences with change management, add it to the comments below and share it with the community.
Get the free Handbook to New Product Introduction
Want to learn how a prototype becomes a product? Get our Handbook to New Product Introduction just by signing up for our newsletter.
Not only will you get this free PDF eBook, but we will send helpful tips and interesting articles on embedded development and product creation.