BOMParser

Guide

BOM formats for PCB assembly: the columns assemblers expect

An assembly BOM needs, for every line, a quantity per board, the reference designators, a manufacturer and manufacturer part number, a description or package, and a do-not-populate flag. Send one row per distinct part unless your assembler asks for one row per designator. Check that each quantity equals its designator count before you send it.

By BOMParser. Published

Checklist

Build the file in six steps

  1. One row per distinct part

    Group lines that share a manufacturer part number, footprint and fitted state. Quantity is the count for one board.

  2. Fixed columns, one header row

    Use line, qty, ref_des, part_number, manufacturer, mpn, description, footprint, dnp, notes, in that order. No merged cells, logos or blank rows.

  3. Designators expanded in one cell

    Write R5,R6,R7,R8, never R5-R8, in one quoted cell, so a spreadsheet can count them.

  4. Mark unfitted parts

    Keep do-not-populate lines with Y in the dnp column. Do not delete them.

  5. Save as CSV or XLSX

    UTF-8, comma-delimited CSV loads almost anywhere. In XLSX, check that part numbers such as 1E5 stayed text.

  6. Prove the count

    On every line that lists designators, qty must equal their number. Fix a mismatch in the source, not in the export.

Layouts

Consolidated or one row per designator

A consolidated BOM has one row per distinct part, carrying the quantity for one board and every designator that uses it. Purchasing and quoting teams read this layout: rows are lines to source, and each row is one thing to buy.

A per-designator BOM, sometimes called flat or exploded, has one row per placed component, each with a quantity of 1. It suits placement data, rework tracking and some PLM imports. It is easy to make from a consolidated BOM by splitting the designator cell; the reverse needs a grouping key of MPN, footprint and fitted state.

Consolidated: one row per part
line,qty,ref_des,mpn,footprint,dnp
1,2,"C1,C2",GRM155R71C104KA88D,C_0402,N

Per designator: one row per placement
ref_des,mpn,footprint,dnp
C1,GRM155R71C104KA88D,C_0402,N
C2,GRM155R71C104KA88D,C_0402,N

Send the consolidated layout unless told otherwise, and keep one master. If a per-designator file is requested, generate it from the master. Merging lines with the same MPN is covered in BOM consolidation and duplicate lines.

File rules

Rules that survive an import

Importers read a file literally; most failures come from the file, not the parts.

  • One header row, first in the sheet. No title block above it, no totals row below.
  • No colour as data. Fill colours do not survive CSV, and import tools ignore them.
  • UTF-8 and commas, with any cell that holds a comma in double quotes. A designator cell always does.
  • Part numbers stored as text, so Excel cannot turn 1E5 into 100000 or drop a leading zero.
  • Headers that say what the column holds. Keep order quantities out of qty; see quantity per board vs order quantity.

The ten columns BOMParser writes are defined on the BOM template page. Use them as a target even when you retype a BOM yourself.

Reference

Columns an assembly BOM carries

ColumnSettlesTypical headersIf missing
Quantity per boardHow many to buy and placeQty, QuantityNothing can be priced
Reference designatorsWhere each part goesDesignator, Ref DesThe count cannot be checked
ManufacturerWhose part it isManufacturer, MfrThe MPN may be ambiguous
MPNThe exact part to buyMPN, Mfr PNThe assembler guesses or asks
DescriptionValue and rating, for peopleDescription, ValueReview is slow
Footprint or packageSize and mounting styleFootprint, PackageSet-up is estimated
DNPWhich lines are not fittedDNP, FittedWrong parts get placed
Internal part numberYour own identifierPart NumberMatching to your ERP is manual

Header names vary by tool and by assembler. Check your assembler's instructions before renaming anything.

Pitfalls

What goes wrong

  • Ranges instead of lists. A spreadsheet sees R5-R8 as one entry, so the designator count says 1 where the quantity says 4.
  • A quantity column with two meanings. If Qty holds per-board counts on some rows and order counts on others, every extension is wrong.
  • Rows that are not parts. A title block, totals row or note across columns loads as lines.
  • Excel edits. 1E5 becomes a number, leading zeros vanish, and a micro or ohm sign can show wrongly when a CSV without a byte-order mark is opened by double-click in some versions of Excel.
  • Deleted DNP rows. The footprint is still on the board, so the next reader wonders what was left out. See DNP in a BOM.
  • Descriptions in place of part numbers. A line that says 10K 0402 is priced as a guess.

The tool

How BOMParser helps

BOMParser reads a BOM that arrives as a PDF and writes the consolidated layout above: one row per BOM line, ten fixed columns, designators expanded into one quoted cell, quantity checked against the designator count. It shows lines as printed or merged by MPN, and does not write one row per designator. Convert a file on the BOM to CSV page; pricing lists the plans. Free: 1 file per day, up to 10 pages, no account. Files over 10 pages are converted up to page 10 on the free allowance; a page code converts the whole file, up to 150 pages.

FAQ

BOM format questions

What columns does a PCB assembly BOM need?

Quantity per board, reference designators, manufacturer, manufacturer part number, a description or package, and a do-not-populate flag. An internal part number and notes help. Your assembler's instructions override this list.

Should a BOM be consolidated or one row per designator?

Consolidated, unless the assembler asks otherwise. A per-designator file can be generated from it by splitting the designator cell.

Is CSV or Excel better for sending a BOM?

Either works if the layout is clean. CSV loads almost anywhere; XLSX keeps text formatting. Check that part numbers stayed text and that every row is a BOM line.

Do I still need a footprint column with a placement file?

Usually. The placement file gives positions and rotations; the package column says what size and mounting style each line is. Ask what your assembler expects.

How should designators be written in the BOM?

Expanded and comma-separated in one cell: R5,R6,R7,R8. A range such as R5-R8 counts as one entry in a spreadsheet.

Where do alternate parts go?

Not on extra rows that repeat the designators. Put them in a notes field as alt: maker and part number, or in an approved-alternates table.

Keep reading

Related guides

BOM for assembly quotes

What a quoting team needs to price a build.

MPN vs internal part number

Why a BOM needs both, and how to keep a mapping table.

KiCad and Altium BOM export columns

Typical export fields, and how they map to a clean BOM.