Support Team
Feedback:
support@nextpcb.comAmong all the files you submit for a PCBA order — Gerbers, CPL, stackup notes — the Bill of Materials causes the most delays. Not because it's the hardest to create, but because it's the easiest to get wrong in ways that aren't obvious until a sourcing engineer flags your order.
A missing Manufacturer Part Number means the factory has to guess what you intended. Inconsistent footprint naming means they might order the right part in the wrong package. An ungrouped BOM with 150 individual rows instead of 40 grouped ones wastes review time and introduces transcription errors during kitting. In each case, the result is a "BOM hold" — your order sits in limbo while you exchange emails to clarify what you meant.
The practical cost of a poor BOM isn't just time. Rework from wrong components, expedited shipping for missed parts, and engineering hours chasing substitutes all add up fast. A correct BOM is not just a list of components — it's a manufacturing document, and it should be treated as one from the first prototype run.
This guide walks through exactly how to build one that won't get held. If you're new to the overall set of files required for a PCBA order, start with our guide on How to Prepare PCB Files for Assembly first, then return here for a deep dive on the BOM.
A Bill of Materials (BOM) is a structured spreadsheet that lists every component that goes onto your board — what it is, how many are needed, which reference designators it corresponds to, and (critically) its exact Manufacturer Part Number.
It's worth distinguishing the BOM from the two other files in a standard PCBA package:
| File | What it defines | Who uses it |
|---|---|---|
| Gerber files | Board geometry — copper layers, drill holes, solder mask, silkscreen | PCB fabrication |
| BOM | What components to source and in what quantities | Procurement & kitting |
| CPL / Pick & Place | Where each component goes on the board (X/Y coordinates, rotation) | SMT placement machines |
The BOM and CPL are linked through reference designators. If R3 in your BOM calls for a 10kΩ 0402 resistor, the CPL must have a row for R3 with the correct centroid coordinates. Any mismatch between these two files is caught during engineering review — and causes a hold.
The authoritative source for your BOM is the schematic, not the PCB layout. The layout tells you where components sit; the schematic tells you what they are and why. When you export a BOM from your CAD tool, it should pull data that was entered at the schematic stage — component value, footprint assignment, and reference designator.
Before you export anything, confirm every schematic symbol has three things filled in:
If any component is missing one of these, fix it in the schematic before exporting. Trying to patch a BOM after export by hand is how errors get introduced.
The MPN is the single most important field in any BOM intended for manufacturing. It's the unambiguous identifier that tells procurement exactly what to buy — and it eliminates any interpretation on the factory's end.
A value like "10kΩ 1% 0402" describes a resistor, but it doesn't specify a part. Hundreds of manufacturers make that resistor. Without an MPN, the factory either picks one themselves (which may not match your tolerance, temperature coefficient, or qualification tier) or they hold your order and ask. Neither outcome is good.
The correct approach: include the full MPN from the component's datasheet. For example:
If you don't have MPNs for all parts yet — common early in a design — flag those rows explicitly. A cell that says "TBD" is better than one that's left blank, because it signals an intentional gap rather than an accidental omission.
Every component that shares the same value, footprint, and MPN belongs in a single BOM row. Group the reference designators together in one cell, and sum the quantity.
| Correct (grouped) | Incorrect (ungrouped) |
|---|---|
| R1, R2, R3 | Qty: 3 | 10kΩ | 0402 | RC0402FR-0710KL | R1 | Qty: 1 | 10kΩ | 0402 | RC0402FR-0710KL |
| R2 | Qty: 1 | 10kΩ | 0402 | RC0402FR-0710KL | |
| R3 | Qty: 1 | 10kΩ | 0402 | RC0402FR-0710KL |
An ungrouped BOM is harder to review, more prone to quantity errors, and slower to kit. Most CAD tools can group components automatically during export — use that feature. If you're cleaning up a manually created BOM, sort by MPN first, then consolidate.
A complete BOM for PCBA manufacturing needs these six fields at a minimum:
| Field | Example | Notes |
|---|---|---|
| Reference Designator | R1, R2, R3 | Must match PCB silkscreen exactly |
| Quantity | 3 | Per board, not per panel |
| Value | 10kΩ | Use consistent units throughout |
| Footprint / Package | 0402 | Must match PCB land pattern |
| Manufacturer Part Number (MPN) | RC0402FR-0710KL | Full MPN, no abbreviations |
| Description | Thick Film Resistor 10kΩ 1% 0402 | Human-readable summary for review |
The Manufacturer Name column is often optional but useful — especially when the same MPN root is used by multiple manufacturers. Pairing the MPN with the manufacturer name eliminates any ambiguity.
Depending on your order type and design complexity, these fields can save significant back-and-forth:
All major EDA tools can generate a BOM automatically. The output quality varies, but using the native exporter is always better than building a BOM by hand.
KiCad: In Eeschema, go to Tools → Generate BOM. KiCad uses Python-based BOM plugins — the built-in "bom_csv_grouped_by_value" plugin exports a grouped CSV sorted by value, which is a solid starting point. If your schematic has MPN fields populated (add them as custom properties in the symbol editor), they'll appear in the output.
Altium Designer: Reports → Bill of Materials opens the BOM dialog. You can configure which columns to include and export to Excel or CSV. Altium's ActiveBOM feature adds live inventory data and pricing directly in the BOM environment, which is useful for sourcing validation before you submit.
EasyEDA: In the schematic editor, go to Fabrication → BOM. EasyEDA exports a CSV with reference, value, footprint, and LCSC part number (if you used LCSC library parts). NextPCB's system fully supports EasyEDA outputs and can automatically cross-reference LCSC part numbers to our global supply chain, making this output nearly ready to submit.
Regardless of tool, the exported file is a starting point. Plan to review and clean it before submission.
>> Recommend reading: Top 10 Free PCB Design Software (2026)
Raw CAD exports rarely come out submission-ready. Before you send the file, go through these cleanup steps:
Normalize units. A BOM where some resistors are "10k", some are "10K", and one is "10000Ω" will confuse anyone reviewing it manually. Pick one convention and apply it throughout. Standard practice: use engineering notation (10kΩ, 100nF, 4.7µH) rather than raw SI values.
Verify footprint consistency. Cross-check the footprint field against the actual PCB land patterns. An 0603 resistor listed in the BOM but placed on an 0402 pad is a sourcing error waiting to happen. Your CAD tool's netlist or BOM-to-layout cross-check feature can catch these mismatches.
Remove empty rows and duplicate entries. Empty rows from partial exports and duplicate component rows from library merge issues are common. Sort by reference designator and scan for anything that doesn't look right.
Check the reference designator list for gaps. If your board has R1 through R25, but R14 doesn't appear in the BOM, either R14 is intentionally DNP (mark it as such) or it was accidentally omitted. Either way, it needs to be addressed.
Use a consistent file format. Most manufacturers accept .xlsx or .csv. Avoid .ods or proprietary formats. If using Excel, don't put the BOM data inside a formatted table with merged header cells — plain rows and columns are easier to parse programmatically.
The final step before uploading is a deliberate review against the PCB layout and schematic. Specifically:
Many manufacturers, including NextPCB, offer an online BOM checker that cross-references your MPNs against distributor stock in real time. Running your BOM through one of these tools before submitting can surface availability issues before they become production holds.
For complete peace of mind, we highly recommend running your files through NextPCB's free HQDFM software. It automatically cross-references your Gerber, BOM, and CPL files in a 3D environment, highlighting footprint mismatches, missing MPNs, and rotation errors before you even upload them to the site.
Below is a representative example of a well-formatted BOM ready for PCBA submission. Reference designators are grouped, all rows have MPNs, DNP components are explicitly marked, and units are consistent throughout.
| Designator | Qty | Value | Package | Manufacturer | MPN | Description | DNP |
|---|---|---|---|---|---|---|---|
| R1, R2, R3 | 3 | 10kΩ | 0402 | Yageo | RC0402FR-0710KL | Thick Film Resistor, 10kΩ, 1%, 0.1W | |
| R4, R5 | 2 | 100Ω | 0402 | Yageo | RC0402FR-07100RL | Thick Film Resistor, 100Ω, 1%, 0.1W | |
| C1, C2, C3, C4 | 4 | 100nF | 0402 | Murata | GRM155R71C104KA88D | MLCC Capacitor, 100nF, 16V, X7R, 0402 | |
| C5, C6 | 2 | 10µF | 0805 | Murata | GRM21BR61A106KE18L | MLCC Capacitor, 10µF, 10V, X5R, 0805 | |
| U1 | 1 | STM32F103C8T6 | LQFP-48 | STMicroelectronics | STM32F103C8T6 | 32-bit MCU, ARM Cortex-M3, 64KB Flash | |
| L1 | 1 | 10µH | 0805 | TDK | MLZ2012M100WT000 | Power Inductor, 10µH, 0.8A, 0805 | |
| R6, R7 | 2 | 0Ω | 0402 | Yageo | RC0402JR-070RL | Jumper Resistor, 0Ω, 0402 | DNP |
A few things to note in this example: R6 and R7 are DNP jumpers present in the design for a variant option — they're included in the BOM with their MPN, but clearly marked DNP so they won't be placed or sourced. Note: Even if quantities are listed for DNP parts, our system will automatically exclude them from your final component cost. Every row has a complete MPN, and the unit formatting (kΩ, nF, µF, µH) is consistent throughout.
If you're starting from scratch or need a clean, manufacturer-ready format, the NextPCB BOM template below includes all required and recommended fields, pre-labeled column headers, sample data rows you can replace, and a built-in instructions sheet explaining what each field means and how to fill it.
The template is formatted as .xlsx — the format most PCBA manufacturers, including NextPCB, accept directly. Save your completed BOM in either .xlsx or .csv before uploading.
Download NextPCB BOM Template (.xlsx) Use NextPCB BOM Tool
If you already have a BOM but aren't sure whether your part numbers are current and in stock, NextPCB's BOM sourcing service can cross-reference your MPNs against live distributor inventory, suggest alternatives for out-of-stock components, and flag obsolete parts — before your order enters the queue.
This is the most frequent cause of BOM holds. A description like "N-Channel MOSFET, 30V, SOT-23" could match dozens of parts across multiple manufacturers. Without an MPN, procurement has to stop and ask — and your order waits.
Impact: 1–3 day delay minimum, plus risk of wrong component substitution if the factory makes a judgment call without checking.
The footprint field in your BOM might say "0402", but the MPN you listed is for an 0603 package. Or you listed a SOIC-8 part but the PCB has an MSOP-8 footprint. This happens when components are swapped late in the design process without updating all related fields.
Impact: Components arrive that physically don't fit the pads. Either the order is held for a corrected BOM, or — worse — the wrong part gets assembled and passes visual inspection but fails electrically.
When the same nominal value appears as "10k", "10K", "10,000", and "10kΩ" across different rows, it creates unnecessary review work and can cause grouping errors if the BOM is processed programmatically. Manufacturers who use BOM-matching software will treat these as different parts.
Impact: Duplicated sourcing effort, potential for ordering different parts at the same value due to automated mismatch.
Leaving DNP components out of the BOM entirely is not the same as marking them DNP. If a reference designator appears in the CPL file but not in the BOM, the factory doesn't know whether it's intentionally absent or was accidentally omitted. They'll hold the order to ask.
Impact: Engineering hold, delayed production start.
A BOM where each reference designator is its own row — even when the same MPN is used across 20 resistors — is harder to review and more likely to have quantity errors. It also gives the factory less information about how components are distributed across the board.
Impact: Slower review, higher chance of kitting errors on the factory floor.
If your PCB is panelized (multiple boards per panel), the BOM quantity should reflect one board — not the entire panel. The factory calculates panelization quantities on their end. Submitting panel-level quantities leads to either over-ordering or under-ordering of components.
Impact: Component shortages or excess inventory at the factory, potential production interruption.
Before you upload or email your BOM, run through this checklist. Each item corresponds to a real failure mode that causes assembly delays.
| Check | What to verify |
|---|---|
| ✅ All components have a full MPN | No blank MPN cells, no "TBD" unless flagged intentionally |
| ✅ Reference designators match PCB layout | Cross-check BOM ref list against silkscreen or CPL file |
| ✅ Components are grouped by MPN | No duplicate rows for the same part |
| ✅ DNP parts are explicitly marked | Present in BOM, absent from CPL, labeled "DNP" in DNP column |
| ✅ Quantities are per board, not per panel | If panelized, divide total by panel count |
| ✅ Footprint/package field matches PCB land pattern | Especially important for ICs, connectors, and inductors |
| ✅ Value units are consistent throughout | One convention: 10kΩ, 100nF, 4.7µH — applied to every row |
| ✅ Substitution policy is stated where relevant | "Sub allowed: No" on any part where an equivalent won't work |
| ✅ File format is .xlsx or .csv | Not .ods, .numbers, or an image/PDF of a spreadsheet |
| ✅ No merged cells or formatted tables in the spreadsheet | Plain rows and columns only — no Excel table formatting |
If you're unsure about any of these points before submitting, NextPCB's engineering team reviews every order — but catching issues yourself ahead of time eliminates the back-and-forth that adds days to your lead time.
A PCB assembly order requires three files, and each serves a distinct function in the manufacturing process. Understanding how they relate helps you spot inconsistencies before they reach the factory.
The Gerber files define the physical board: copper traces, drill holes, solder mask openings, and silkscreen. These go to the fabrication side — the bare board manufacturer uses them to produce the PCB substrate. They tell the manufacturer nothing about what components go on the board.
The BOM is the procurement document. It answers the question "what parts do we need to buy, and how many?" The factory's sourcing team uses it to order components, verify stock, and prepare kitting for the assembly line. It references the board only through reference designators.
The CPL (Component Placement List), also called a Pick & Place file, tells the SMT machine exactly where each component goes. It contains X/Y coordinates and rotation angle for every surface-mount component, referenced by designator. It's generated from the PCB layout, not the schematic.
All three files must be internally consistent. If U3 appears in the BOM but not in the CPL, the factory doesn't know whether it's a through-hole part (acceptable) or was forgotten (a problem). If R12 appears in the CPL but not the BOM, there's nothing to source for it. The BOM and CPL are cross-referenced during engineering review — mismatches are caught, and the order is held until resolved.
For a detailed walkthrough of all files in a PCBA submission package — including Gerbers, stackup notes, and assembly drawings — see our guide on How to Prepare PCB Files for Assembly.
NextPCB offers two ordering paths depending on your timeline and order type. Both accept the same BOM format — the difference is how quickly the system processes it and how much manual review is involved.
Rev0 is NextPCB's AI-powered PCBA quoting platform. When you upload your BOM, it cross-references your MPNs against a database of 500M+ component SKUs in real time, flags any issues — missing MPNs, out-of-stock parts, obsolete components — and surfaces alternative matches automatically. The result is a production-ready quote in minutes rather than the 24–48 hour engineering review cycle of a standard order.
Rev0 is particularly suited to prototype runs where speed matters and you want to catch sourcing issues before they interrupt production. The upload flow is straightforward:
For larger production runs, turnkey orders with complex sourcing requirements, or boards with through-hole components that require wave soldering, the standard PCBA quote path gives you direct access to NextPCB's engineering team for pre-production review.
If your BOM has gaps — parts marked TBD, obsolete MPNs you haven't replaced yet, or components you want to cost-optimize — NextPCB's BOM sourcing service handles this before the order is placed. The team checks availability across authorized distributors, identifies drop-in alternatives, and returns a sourced BOM ready for submission. This step is optional but useful for production-scale orders where a single out-of-stock line item can delay an entire run.
A BOM that clears engineering review without a hold isn't complicated to produce — it just requires discipline at a few specific points: assigning MPNs in the schematic, grouping components correctly on export, verifying footprint-to-package consistency, and marking DNP parts explicitly. The eight steps in this guide cover all of them.
Most BOM-related delays aren't caused by design complexity. They're caused by omissions that are easy to miss when you're moving quickly. The checklist above catches the common ones before they become email threads.
When you're ready to order, Rev0 validates your BOM automatically on upload — flagging stock issues and missing MPNs in real time, so you get a confirmed quote in minutes rather than days. For larger or more complex runs, the standard PCBA quote path connects you with NextPCB's engineering team for a full pre-production review.
Still, need help? Contact Us: support@nextpcb.com
Need a PCB or PCBA quote? Quote now