KiCad BOM rollup
Turn a KiCad schematic (.kicad_sch with its sub-sheets), XML netlist or BOM CSV into a rollup for N boards: grouped by value and footprint or MPN, plus attrition and spares, checked against your Parts inventory stock, priced at Digi-Key with price breaks, and exported as a Digi-Key order CSV.
Added
Works with
- Electronics parts inventory and BOM manager Electronicschecks the BOM against the stock and supplier API keys kept there
How to use it
How to use it
-
Open the schematic. Choose the root
.kicad_schand its sub-sheet files together, because a sheet used twice gives both sets of references. You can also open KiCad’s XML (kicad-cli sch export netlist --format kicadxml, or the file Eeschema hands to BOM plugins) or a BOM CSV (kicad-cli sch export bom, the legacybom_csv_grouped_by_valueplugin, or a spreadsheet with Reference, Value, Footprint and MPN-like columns). Power symbols, parts excluded from the BOM and the extra units of multi-unit parts are skipped. DNP parts are kept on their own lines and need nothing. The file stays in this browser. -
Group by value + footprint (KiCad’s usual grouping;
10k,10Kand10000group together for resistors, capacitors and inductors), by MPN, or by all three. A line that mixes different MPNs is flagged. Grouping applies when you open a schematic or XML. A CSV keeps the grouping it was exported with. kicad-cli’s grouped CSV puts DNP and fitted parts on one line, so open the schematic itself to keep them apart. -
Set the number of boards, the attrition (extra % for loss in the pick-and-place or on the bench, rounded up per line) and spares per line. Need = quantity per board × boards × (1 + attrition)
spares, as Parts inventory’s build planner calculates it. -
Use my Parts inventory stock reads the Parts inventory in this browser (read-only). It matches parts by Digi-Key part number, MPN, or for passives by value and package and any tolerance, voltage or dielectric the line asks for, and stock used by one line is not counted twice. Each line shows what it matched.
-
Digi-Key prices: Look up prices and stock asks Digi-Key’s Product Information API for every short line with a Digi-Key part number or an MPN, using Parts inventory’s client. It uses the first keys available:
-
the keys stored in the gitwebsite app (pair with ⚡ in the header; lookups go through the app’s relay and the page never sees the keys);
-
the keys Parts inventory remembers on this device;
-
keys you type here, kept in memory for this visit.
Answers are cached for a week and shared with Parts inventory. Each line gets the quantity to buy with the price break applied. With buy up to a cheaper price break ticked, buying 100 can be cheaper than 22; minimum order quantities and Digi-Key’s stock are noted.
-
-
Export: a Digi-Key order CSV for Digi-Key’s BOM Manager (quantity, Digi-Key part number, MPN, manufacturer, customer reference, designators), the whole rollup CSV (every line with need, stock, short, buy and prices), or copy the quick-add list for Digi-Key’s bulk add box.
Share links carry the boards, attrition, spares and grouping, never the BOM, the stock or any key. Load the sample board to try it without a file.
To build from stock and reserve or consume parts, import the same BOM as a project in Parts inventory. This tool only reads the inventory.
Limits
-
Pricing is Digi-Key only, at the site and currency set in Parts inventory (Data & APIs). Mouser, LCSC and Nexar are in Parts inventory.
-
Lines without an MPN or Digi-Key part number (most generic passives) are not looked up. Add an
MPNorDigikeyfield to the symbols in KiCad. -
Part numbers Digi-Key does not know show as errors. The API counts against your daily limit (1000 requests).
-
Variant and assembly-option handling (KiCad 9 design variants) is not modelled. DNP is per part.
-
Reading a schematic needs it to be annotated (no
R?).
Feedback is a gift. Something to improve, a feature to add, or a bug? Tell me.
Runs entirely in your browser — network requests go only to the services named on this page.