Building a BOM : The 5 Required Fields

That which we call a BOM by any other name would smell as sweet

A BOM (Bill of Materials) has one sole purpose: to describe the precise, discrete components of your product. A BOM is no more than the list of ingredients in the recipe to make your product.

A properly written BOM does not include information regarding part context or part assembly instructions. This concept is often misunderstood or ignored, which ultimately leads to issues within your manufacturing and engineering teams.

A BOM is complete if you can give it, and a credit card, to someone who has no prior exposure to your product and they are able to procure the exact parts and quantities required to assemble your product – without asking for help. This person has no reason to know where the parts will be used, or how they will be assembled. So why include it? It only adds confusion and leads to painful issues which I’ll explain below.

There are only 5 required fields for a minimally complete BOM

  1. Part Name
  2. Customer Part Number (CPN)
  3. Quantity
  4. Manufacturer
  5. Manufacturer Part Number (MPN)

Sample Minimal BOM for Printed Circuit Board Assembly (PCBA)


This is a terse, universally unique name for each abstract part in your company’s Part Library. The Part Name only contains parametrics to accurately (and uniquely) describe the part. There should be no context about how the part is used, where it is used, or how it is assembled. Additionally, unless the part is sole-sourced, there is no reference to a specific manufacturer or manufacturer's part number in its name. Doing so makes it difficult to associate alternates for supply chain robustness.



The CPN is your company’s internal part number. Like the Part Name field, it must be unique in your company’s Part Library. It supersedes any part number assigned by the original manufacturer or part distributor. This is because there is no guarantee that two 3rd party manufacturers won’t have the same part number for their respective parts. You need an assured way to differentiate them once in the context of your own Part Library.

The CPN and Part Number are a 1:1 correlation. Both are unique, but provide different purposes. The CPN is easier to sort, filter, and identify issues when a proper numbering scheme is followed. The Part Name can be considered the “human readable” version of the CPN. NOTE: I’ll discuss the options and how-to’s for a proper part numbering scheme in a future post



This should be self-explanatory. 



Sourcing is where you are matching a real-world part, available for purchase, with your abstract Part Name/CPN representation. Conceptually, the parametrics listed in the Part Name would be sufficient for someone to find and purchase a part that met these criteria. However, there are often subtleties which are unrealistic to include in the Part Name while still meeting the requirement of keeping it terse. 

Therefore, a Source helps expedite the procurement of your BOM and removes any ambiguity. You can do this by selecting a single instance of a real part which meets all of the parametric requirements. There can be more than one viable part available for purchase (especially for commodity parts like resistors, capacitors, screws, nuts, etc.), so just select a preferred manufacturer’s part. 

When it comes time to make the purchase, ideally the part listed in the BOM is in stock. But, if not, having the Manufacturer Part Number listed in the BOM empowers the buyer to easily compare alternatives, without coming back to you for help. 

Note: Only the Manufacturer and Manufacturer’s Part Number is referenced as a Source in a truly minimal BOM. There’s no reference to a specific place to purchase the part (i.e. Distributor) or price of the part. The purchaser may have their own preferred distributors, so adding your own can be superfluous  However, as I will explain in the next article, having Distributor information in the BOM does expedite the procurement process, and can provide value.



Some fields are not required, but can be very useful if included in a BOM. Remember, the goal is to empower the procurement team to purchase the exact parts for your product, or viable alternates - without having to come back to the engineer to ask questions. The more context you can give them, the more empowered they become to make decisions on their own. This leads to a highly efficient procurement process.

  1. Distributor
  2. Distributor Part Number
  3. Manufacturer Standard Lead Time
  4. Manufacturer Part Datasheet URL
  5. Reference Designator (Required for PCBA electronic parts)
  6. Alternates Allowed
  7. Alternates Criteria

I’ll discuss the value of these Optional Fields in the next article in this Building a BOM series.


What fields do you include in your BOMs? I'd love to hear your thoughts...