Most people think of a BOM as a parts list. That's close, but it's not the whole picture.
A bill of materials is every physical thing that goes into building your product: the PCB, the enclosure, the screws, the connectors, and yes, the solder, the glue, the conformal coating, the wire. If it gets assembled into the product, it belongs in the BOM. The goal is a complete record of what your product is made of, specific enough that someone with no prior knowledge of the design could figure out how to source and build it.
How much detail you need depends on one thing: are you building this once, or are you building a product?
One-Off or Product: Settle This First
If you're building something once, your BOM is a shopping list. You need the right parts in the right quantities. You buy them, you build the thing, it's done. Supply chain longevity, manufacturer commitments, lifecycle status: none of that matters much for a one-off.
If you're building a product, the BOM has a different job. It will outlive your current team. It will be handed to a contract manufacturer who has never seen your design. Parts will go obsolete. Engineers will join two years from now and need to understand decisions you made today. A BOM that works for a one-off will quietly fail a product.
The rest of this post covers the product BOM. If you're building a one-off, keep it simple.
The Fields That Give Your BOM Longevity
The fields you include in your BOM determine how useful it is a year from now. Here are the ones that matter.
Internal Part Number (IPN). Your identifier, not the manufacturer's. When you swap a screw from one supplier to another, the spec stays the same but the vendor changes. The IPN stays the same. The manufacturer part number changes. Without an IPN, every vendor substitution breaks your documentation trail.
Manufacturer and Manufacturer Part Number (MPN). These two always go together. The manufacturer is the company that made the part; the MPN is their identifier for it. You need both. A part number without a manufacturer is not a traceable part.
Part Description. A description on top of the MPN is not redundant. When that part goes obsolete, a clear description is how you find a replacement quickly. "10kΩ 0402 1% resistor" gets you to a replacement in minutes. A bare MPN with no context sends you back to a datasheet you may not have saved.
Quantity. Per unit, not per build run. Let your tooling handle the math.
Reference Designators. For PCB components, reference designators (R1, C4, U12) tie the BOM back to your schematic and board layout. Without them, your CM has no way to know which component goes where.
Notes. This field gets skipped more than any other, and it's one of the most valuable. Use it to record manufacturing and assembly context: how a part gets installed, any handling requirements, relevant supplier details, or decisions you made during design. It doesn't need to be exhaustive; a few words per line is enough. The goal is that someone coming in cold can get oriented without having to track you down.
Source Parts Like Your Product Depends on It
Because it does.
Amazon is not a supply chain. You can find nearly any component there, often at a lower price than through distributors. What you cannot find: confidence in who made it, whether it's genuine, or whether you'll be able to source it again in six months. Counterfeit components are a real problem in the spot market, and they tend to surface at the worst possible time: during a production run, not a prototype build. When you're sourcing from Amazon, you often have no idea who the actual manufacturer is. That matters more than the unit price.
For electronic components, go through Digi-Key or Mouser. For mechanical hardware and raw materials, McMaster-Carr. These distributors source from verified manufacturers, provide real lead time data, and give you a paper trail if something goes wrong. The prices are higher than Amazon. The traceability is worth it.
At scale, you will likely move beyond distributors entirely and work directly with the end manufacturer or a franchised distributor they have authorized. That relationship gives you better pricing, more reliable lead times, and direct access to engineering support when a part behaves unexpectedly. For early-stage products, Digi-Key and Mouser get you there; for production volumes, start building those direct relationships early.
When you're selecting parts, check the lifecycle status. Most component manufacturers publish whether a design is active, not recommended for new designs, or end of life. Texas Instruments and Nordic Semiconductor, for example, will often publish a specific production commitment: a guarantee that a given part will remain in production until a stated year. When you can find that commitment, use it. It's the clearest signal that the part will still be available when your second or third production run comes around.
When you can't find a published commitment, volume is your next best signal. On Digi-Key, sort search results by available stock and look at which parts have the highest inventory. A part with hundreds of thousands of units available is a part the manufacturer is producing in serious quantity. That's a reasonable indicator that you'll be able to source it a year from now, and that you won't run into shortfalls mid-production. A part with 200 units in stock is a part you should think twice about designing around.
Parts Go Obsolete. Plan for It Now.
Every component on your BOM has a finite life. Manufacturers discontinue parts, shift production priorities, or get acquired. This is not an edge case; it's a routine part of managing a hardware product over time. If you're building something with a multi-year production window, you will deal with at least one obsolescence event. The question is whether you're ready for it.
Your BOM is your early warning system, but only if it's complete. If you know the manufacturer and MPN for every component, you can monitor lifecycle notices from manufacturer websites and distribution partners and act before a discontinuation becomes a crisis. If your BOM has gaps, you find out about the problem when your CM can't source a part and your production run is already scheduled.
This is also where your part description earns its keep a second time. When a part goes end of life, a clear description tells you exactly what you're looking for in a replacement: the package, the tolerance, the voltage rating. You're not reverse-engineering the spec from a datasheet; you already have it written down.
Some teams add an approved alternates field to their BOM: a secondary MPN that's already been validated as a drop-in replacement. It's extra work upfront. It's much less work than an emergency re-qualification mid-production. For critical components, particularly microcontrollers and power management ICs, it's worth having at least one validated alternate on file before you need it.
A BOM Is Not an Assembly Document
This distinction matters, and it trips up a lot of first-time hardware founders.
Your BOM is the ingredients list. It tells your CM what to order and in what quantities. It does not tell them how to put the product together.
For that, you need assembly documentation: engineering drawings, work instructions, a PCBA placement file, a wiring diagram. The format depends on your product and your CM's process. The point is that it's separate from the BOM. When you hand off to a CM for the first time, expect them to ask for both.
A BOM that tries to double as an assembly document ends up doing neither job well. Keep them separate.
Put It Somewhere It Can Be Versioned
A spreadsheet gets you started. Google Sheets or Excel works for an early product BOM if you're disciplined about it.
The limitation of spreadsheets is that they don't version well, don't control access well, and don't give you a reliable change history. When your BOM lives in a shared Google Sheet and multiple engineers are making edits, you will eventually lose track of what changed and why.
At some point, usually when you're heading into your first production run or adding a second engineer, you want your BOM in a system that treats changes as events rather than just edits. That's what PLM tools are designed for.
If you're not there yet: one BOM file per revision, named clearly, with a change log you actually maintain.
If you want to see what a real hardware BOM looks like field by field, Hardware BOM Example: A Real Bill of Materials walks through an actual IoT sensor BOM in detail.

