BOM Import

PartsBox imports a Bill of Materials from any CAD tool that exports CSV or TSV — which is effectively all of them. Map the columns once, save the mapping for next time, and PartsBox matches each line to a part, turning your design into a project ready to price, purchase, and build.

Any CAD tool that exports CSV

PartsBox needs no plugin and no particular export format. Any program that can save a BOM as CSV or TSV works, which in practice means every CAD tool. Customers import from Altium Designer, KiCad, OrCAD, Cadence Allegro, Mentor PADS, Proteus, EAGLE (now part of Autodesk Fusion), DipTrace, EasyEDA, and gEDA, among others.

Importing and mapping columns

Import from the Projects section and upload the file your CAD tool exported, into a new project or an existing one. PartsBox parses it and shows the first few rows. Set the field separator and the character encoding until the preview reads correctly, and set whether the first line holds column names.

Then map each column in the file to a BOM field. The Guess button makes a best-effort match from the column headings, but review it — a wrong mapping is easy to make and easy to miss. The imported BOM appears below the mapping once the required columns are set, so you see the result before you commit. Save the mapping as a preset to reuse it on the next import from the same tool.

A column can map to any of these BOM fields:

  • Quantity — the quantity for the line. When the matched part has a unit of measure, this can be a fractional amount in that unit; otherwise it is a whole number of pieces.
  • Part — the MPN, or a name that describes the part, such as 330R.
  • Designators — one or more reference designators, such as C1. For parts counted in pieces, the number of designators should match the quantity.
  • Comments — notes that help explain the BOM. For information only.
  • Footprint/Package — the footprint as your CAD tool understands it. For information only.
  • Part ID Anything™ code — matches the line to a part by its ID Anything™ code.
  • Part CAD Key — matches the line to a part by CAD key.
  • Do Not Populate (DNP) — when this column is not empty, the line is flagged DNP.
  • Custom Field — imports the column as a custom field on the entry.
  • Ignore — excludes the column from the import.

Matching lines to parts

Every line that stands for a part has to point at a part that already exists in your database. PartsBox never creates parts during an import: two parts can share a name, and a wrong automatic match is expensive to undo. Instead it matches against your existing parts in three passes, in order:

  1. ID Anything™ code — if you imported the Part ID Anything™ column and the code names a part in your database, the line matches it.
  2. CAD key — if you imported the Part CAD Key column and it matches a CAD key on one of your parts, the line matches.
  3. Part name — if the Part column matches the name or the MPN of exactly one part, the line matches. When several parts share the name but exactly one is a meta-part, PartsBox picks the meta-part.

For quick and precise matching, store an ID Anything™ code or a CAD key on each part in your CAD library and export it in the BOM. Name matching works, but an exact key never guesses wrong.

PartsBox highlights every line it could not match. For those, create the missing parts and match again, or open a line and match it by hand, creating the part in the process if you need to. Select any set of lines and use the Selected menu's Match entries option to retry them all at once; the same option unmatches lines you matched wrong.

Custom fields from your CAD data

A BOM usually carries more than quantity, part, and designators — a value, a tolerance, a placement note, an internal alternative number. Keep those columns instead of discarding them. Map a column to Custom Field, then pick an existing custom field name or type a new one, and PartsBox imports the values onto each entry alongside the standard fields.

An imported custom field behaves like any other: it shows as a column in project tables, filters and searches, exports to CSV and PDF, and prints on labels. Use it for assembly notes tied to one component, alternative part numbers, placement data, test requirements, or any other per-entry data your process carries. Custom field names and values have a length limit, and empty values are removed during import.

Services, labor, and other non-part lines

A BOM line does not have to be a matched part. Add a service or labor line — PCB fabrication, assembly, testing, packaging — and it takes offers exactly as a part does, so a quote covers the whole job and not only the components. Those offers support price breaks, minimum order quantities, expiration dates, and any supported currency, the same as a part's offers.

Error checking

PartsBox checks each entry as it imports, so mistakes surface early and structural edits such as merging entries stay reliable. When an entry has reference designators, the quantity has to match the number of designators: a quantity of 2 with designators C1 and C2 is correct, but a quantity of 2 with only C1 is probably wrong. PartsBox flags the mismatch and will not merge entries that carry it. Entries without designators are not checked, so a BOM that does not use them produces no warnings — normal for a measured part, where a length of wire is entered without a designator.

PartsBox also checks each quantity against the matched part's unit. A part with no unit of measure is counted in whole pieces, so a fractional quantity matched to it is probably an error: PartsBox warns and offers to round the quantity to a whole number, or to unmatch the part.

BOM import is in every plan, including the free Maker plan. Pricing the BOM, with price breaks and multiple currencies, starts on the Essentials plan.

Control your inventory, ordering and production

Try the demo

Plans & pricing