Browse Learn topics

Learn/eCAD/Output

Bill of materials

Updated v2.4.4

At a glance

  • Every line either carries a real orderable part number or is flagged "source yourself" — no discovering at order time that a dozen parts need swapping
  • One line per part, value and footprint variant, with the designators listed and an extended price
  • A multi-unit part is ONE line however many gates were placed — U1A through U1D is one LM324 in the box
  • Export the exact four-column JLCPCB assembly CSV, or a full-detail CSV for a spreadsheet or another house
  • A sourcing report separates what can't be supplied, what's out of stock, and what carries a per-part loading fee
  • Do-not-populate parts get their own line, and a pinned part number is never overridden by an automatic match
  • Set a board quantity and the extended prices and totals follow
  • Power flags, sources and instruments are never on it — they aren't parts you can buy

Open Export BOM from the Output group. The bill of materials is built straight from the schematic — the same connectivity pass the simulator and the rules check read — so it can never disagree with what's on the sheet.

What a line is

One line per part, value and footprint variant. The designators that make it up are listed on the line, with a quantity, a unit price and an extended price.

Three things split a line that would otherwise be one:

  • A pinned part number. Two 10k resistors where one is a specific Yageo and the other is whatever-fits are two order lines.
  • DNP. Lumping a do-not-populate in with fitted parts orders stock nobody is going to solder.
  • The footprint variant, since stock and price are per package.

A multi-unit part contributes one line however many gates were placed. U1A through U1D is one LM324 in the box, and a BOM that said four would have you buying four.

Lines are sorted by designator prefix and number — the order a person builds a board in.

What's not on it

Power flags, ground symbols, voltage sources and instruments never appear. None of them has a footprint, none lands on a board, and none can be ordered. Anything you've marked Exclude from BOM — a mounting hole, a part you already own — is left off too.

Sourcing, resolved before you order

This is the payoff of designing against what's actually stocked. Every line arrives already resolved:

  • A matched line carries the vendor part number, manufacturer, MPN, stock status and price.
  • A pinned line carries what you chose, and is visibly distinct from a match — only one of the two has live stock data behind it.
  • An unresolved line says SOURCE YOURSELF in the part-number column rather than being quietly left blank or matched to something close.

A sourcing report splits out the three lists worth seeing before you order rather than after: what the vendor can't supply at all, what's currently out of stock, and which parts are Extended — orderable, but each unique one carries a loading fee that is real money on a small run.

Switch the vendor between JLCPCB and PCBWay and the whole table re-resolves.

Quantity

Set a board quantity and the extended prices and the totals follow it. Unit prices are quoted at qty-100, which is what the vendor data carries.

Exports

Export JLCPCB CSV… writes the exact four columns their assembly uploader expects — Comment, Designator, Footprint, LCSC Part # — with those exact names. Getting them right is the difference between an upload that just works and an evening spent hand-editing a spreadsheet.

Export full CSV… writes everything: quantity, designators, part, value, footprint, manufacturer, MPN, vendor part number, Basic/Extended class, stock, unit and extended price, and the datasheet URL. That's the one for a spreadsheet, for another assembly house, or for your own records.

If any lines were unresolved when you export, you're told how many went out with an empty part column — so an incomplete BOM is never something you find out about from the vendor.