Table of contents
What Exactly Is a BOM?
At its core, a Bill of Materials is simple. It’s a structured list of items and how many of each you need to build a product. Technically, for a PCBA that’s it, just MPN and Qty Per. Everything else is just information appended for convenience, or in other words a BOM Report.
How BOMs are Created
Today all PCBA BOMs originate in CAD software. In CAD software the schematic is the ground truth, and the BOMs they generate are reports.
- Altium: Using Reports > Bill of Materials, Altium creates the BOM report from the schematic and component parameters, which it is capable of enriching with external data.
- KiCad: Uses ‘Generate BOM’ to execute scripts which take the schematic and add customized additional fields.
Notice how CAD software takes the base BOM from the schematic (MPN and number of placements as Qty Per) and optionally adds data fields to create what is actually a BOM Report.
Read More: How to Prioritize Your PCB Desgin Variants
Know Your Canonical BOM
This is crucial. The canonical BOM is what will be used to create manufacturing instructions, drive procurement, and control liability especially if outsourced. With few exceptions, your canonical BOM is the CAD schematic. Most companies also consider BOM Reports generated from CAD as almost canonical. Why just almost?
- Altium: Altium enriches the schematic with external information, and can accommodate alternates. Altium can also connect to enterprise systems like PLMs or ERPs that allow the designer to designate IPNs instead of MPNs. All these links have the potential for error.
- KiCad: KiCad handles most enrichments as custom fields, so alternates might be MPN1, MPN2, etc. Additional fields like manufacturer and description are also custom fields. It is common to have custom scripts that handle a lot of this. Again, all are potential sources of error.
The bottom line is the schematic will be your canonical BOM and everything else is just a BOM Report.
Why This Perspective Matters
Adopting this way of thinking is more than semantics. It clarifies how teams work:
- Clear ownership: Design Engineering owns the canonical BOM. Other groups generate their own BOM Reports without touching the source.
- Clean data: The canonical BOM contains only what’s universally true: quantities, part numbers, hierarchy.
- Reduced errors: No one is left wondering which BOM is right.
- Multiple perspectives, one truth: Instead of managing multiple “BOMs,” you memorialize one canonical BOM that feeds dozens of views
Now let's take a look at the most common types of BOM Reports and best practices for each.
.png)
BOM Report #1: The Quote BOM
This is usually one of the first BOM Reports created. Its purpose is to obtain prices and availability for components or assemblies.
Must Have Fields
These are essential for suppliers to provide an accurate and timely quote:
- Quantity Required per assembly or total buy
- Description somewhat optional, but best practice is to include. Think generic component descriptions, e.g., “Resistor 10kΩ 1% 0603”
- Manufacturer Name
- Manufacturer Part Number (MPN)
- Approved Alternate MPNs if multi-sourcing is permitted
Optional Fields
Not required, but some of these are helpful to the supplier, and some indicated information you would like returned with the quote.
- Reference Designators to confirm usage and quantities
- Required Delivery Date for bid-to-buy quotes
- Internal Part Number (IPN) if your organization uses them (it should!)
- Lifecycle Status e.g., Active, NRND, Obsolete
- Estimated Annual Usage important for budgetary quotes or to establish standard cost. Omitting this is a common and crucial error when establishing standard cost.
- RoHS/REACH Compliance Flags
- Manufacturer Datasheet Links
- HTS Codes and Tariff Rates
Do Not Include Fields
Avoid sending data that is unnecessary or may cause confusion.
- Phantom items such as test points, fiducials, mechanical placeholders, or assembly notes that aren’t purchased parts
- Do Not Populate items DNP, a very common source of questions and quoting errors
- 0 Quantity items usually an alt way of designating DNP
- Firmware revisions unless necessary for quoting programming
- Duplicate MPNs each MPN should only be on one line item
- Unapproved alternates or experimental parts
More Best Practices
To be a good customer and get quality results back faster consider:
- BOM Scrub purge bad MPNs, obsoletes, and NRND before quoting
- Ref Des = Qty Per Verify the count of reference designators equals the Qty Per
Read More: How I Learned to Stop Worrying and Love the BOM Scrub
BOM Report #2: The Materials BOM
AKA the Costed BOM. If you are managing operations with spreadsheets you will need a system to maintain the current version of your costed Materials BOM. If you are using other software like ERP, S2P, PLM, or MES skip to BOM Report #3 Import BOM.
The best practice for a Materials BOM in a spreadsheet environment is to mirror the Quote BOM. In essence, your Materials BOM is a master version of the Quote BOM that holds the best data returned from the quote process.
Spreadsheet environments are highly vulnerable to data error, too many possibilities to detail here. Three best practices are:
- File Names: Agree on a file naming convention that includes revision and date.
- Limit Access: Limit access via passwords or file folder authorization. Allow read only access to most users and limit edit privileges.
- BOM Compare: Develop a process, as automated as possible, to compare and verify your Materials BOM to the canonical BOM.
BOM Report #3: The Import BOM
This BOM Report is used to import your BOM data, likely gathered from your Quote BOM, into systems like ERP, S2P, PLM, and other procurement and manufacturing software. In most cases the Import BOM will be designed around import templates provided by the target software. But there is a crucial best practice common to all Import BOMs.
Revision Control
As you start to utilize software tools, revision control is basically a prerequisite. This is because without clear rev control it will quickly become difficult to know if the BOM in your support software is aligned with the canonical BOM.
- Pre-release Rev control: It is common for NPI processes to have a method for naming revisions prior to releasing them into a formal doc control systems. One common method is Rev X. This is a way to refer to BOM Reports produced before the product is fully released. BOM files typically have Rev X1, X2, etc. in the file name. Such BOMs are not subject to the full revision control system or engineering change orders (ECOs).
- Released Rev control: Once released the product is now subject to formal rev control processes including ECOs.
Importing to Procurement Software
Importing your BOM into Procurement Software is usually very easy and intuitive. For example importing into Cofactr involves a single template file using a simple, easy to use interface.
Importing to ERP
ERP systems are built on relational databases, so importing a BOM means importing data into each of the related tables that comprise the database. Each table may have its own import template, and import requirements and templates are provided by the ERP vendor. Common tables that need to populated:
- Item Master: The individual items with attributes like whether it’s purchased (buy) or built in-house (make).
- Item Cost: Holds the standard cost of each part.
- BOM Header and BOM Lines: The header will hold descriptive information like name, description, manufacturing lead time, etc. The BOM Lines will have the line items (the parts that go into it). The items must be in the Item Master first.
- Routing Header and Routing Steps: Similar to the BOM, except the Routing contains labor information.
Exporting Additional BOM Reports
Now that your BOM is imported, it will become the source of future BOM Reports acting as a bridge between the canonical BOM and practical, everyday uses. Depending on your environment, you might generate a costed BOM from your ERP, or a sourcing BOM with preferred vendors from your procurement software.
System of Record
If you are using multiple supporting services like ERP, S2P, MES, or PLM then best practice is to designate one as the System of Record. Then insure the other systems are aligned to the System of Record.
Read More: Cofactr BOM Upload Requirements
Final Thoughts
Most of the industry treats EBOMs and MBOMs as different BOMs. That’s wrong. They’re reports. Once you make the distinction between the canonical BOM and BOM Reports, everything gets clearer.
Want to make this easy? Schedule a free, no obligation Cofactr demo to see how we can help you automate price evaluation, component swaps, and much more.
.png)
Frequently Asked Questions
What is a Bill of Materials (BOM)?
A BOM is a structured list of items and the quantity of each needed to build a product. For a PCBA, the essential fields are just the manufacturer part number (MPN) and quantity per assembly; everything else is supplemental report data.
What’s the difference between a BOM and a BOM Report?
Think of the BOM as the minimal truth (MPN + Qty Per), and “EBOM/MBOM/Quote BOM/etc.” as different reports or views derived from that truth for specific purposes like quoting, costing, or importing to systems.
Why does it matter to separate the canonical BOM from BOM Reports?
Clear ownership, cleaner data, fewer errors, and consistent alignment across teams. One canonical BOM feeds many report views, avoiding the “which BOM is right?” problem.
Who owns the canonical BOM?
Design Engineering owns it, since the schematic in CAD is the ground truth from which reports are generated.
Where does the canonical BOM live?
In practice, it’s the CAD schematic. Most organizations treat CAD-generated BOM reports as nearly canonical, but recognize enrichment links (PLM/ERP fields, alternates) can introduce errors.
How are BOMs created from CAD tools like Altium and KiCad?
Both generate BOM reports from the schematic and component parameters, optionally enriching with external/custom fields (e.g., alternates, manufacturer, description).
How to build a “Quote BOM” that suppliers can price quickly and accurately?
Include: quantity required, clear generic descriptions, manufacturer name, MPNs, and approved alternates. Optionally add reference designators, required delivery date, internal part numbers, lifecycle status, EAU, compliance flags, datasheet links, and HTS/tariff info. Exclude phantoms, DNP/0-qty lines, firmware revs (unless necessary), duplicate MPNs, and unapproved alternates.
How to avoid common quoting errors?
Scrub the BOM for bad/obsolete MPNs before sending and verify RefDes counts equal Qty Per for each line.
What is a “Materials BOM” (Costed BOM) and when should I use it?
It’s your master, costed version of the Quote BOM—often maintained in spreadsheets if you’re not yet using ERP/S2P/PLM/MES. It stores the best supplier data returned from quoting.
Best practices for managing a Materials BOM in spreadsheets?
Use a strict file-naming convention with revision and date, limit edit access, and routinely compare the Materials BOM against the canonical BOM via an automated BOM-compare process.
What is an “Import BOM” and why do I need it?
It’s a report formatted to load your BOM data into systems like ERP, S2P, PLM, or MES—typically matching each system’s import template. Solid revision control is a prerequisite to keep those systems aligned with the canonical BOM.
When does revision control start, and how should I label pre-release BOMs?
During NPI, use pre-release revs (e.g., Rev X1, X2) on files not yet under formal ECO control. After release, follow your formal rev process with ECOs.
What tables typically need to be populated when importing to ERP?
Item Master, Item Cost, BOM Header & Lines, and Routing Header & Steps (labor). Items must exist in the Item Master before they can appear on BOM Lines.
Where to centralize truth if we use multiple systems (ERP, S2P, PLM, MES)?
Designate a single System of Record and ensure all other systems are synchronized to it.
Can I include DNP or phantom items in a Quote BOM?
No. Exclude DNP/0-qty lines and phantom items like test points, fiducials, placeholders, and notes—they cause confusion and pricing errors.
Is EBOM vs. MBOM a real difference?
Not in the way many teams use them; they’re better understood as distinct report views derived from the same canonical BOM rather than different BOMs.
Do I need internal part numbers (IPNs)?
It’s recommended. If your PLM/ERP flow uses IPNs, include them in reports (e.g., Quote/Import BOMs) to improve traceability and reduce ambiguity with suppliers.
When does a “costed BOM” come from ERP instead of spreadsheets?
Once your BOM is imported and governed in ERP/related systems, you can export costed or sourcing-focused reports directly from those tools—reducing spreadsheet risk.
What’s the fastest way to keep procurement aligned with design?
Keep the schematic as the sole canonical BOM, enforce revision control, use report templates (Quote/Import/Materials BOMs), and automate BOM-compare checks between systems.

