BOM, Sourcing & Costing
Generate, cost, and ship a bill of materials — interactive HTML BOMs, distributor APIs, JLC-friendly tooling.
Where a hardware design becomes a buyable thing. Pairs with PCB / EDA Suites, Footprint & Symbol Libraries, Datasheet Aggregators, and Hardware CI/CD.
BOM extraction from EDA tools
- ★ KiCad's built-in BOM tool (v8+) — the rebuilt symbol-fields-driven BOM in KiCad 8/9 finally made plugins optional for most projects. CSV / HTML / XML / JSON output.
- ★ InteractiveHTMLBOM (
ibom) — generates a single-file interactive HTML BOM with a clickable PCB image; the assembly worker's best friend. Originally KiCad-only; now supports Eagle and Fusion. MIT. - KiBoM — older, scriptable KiCad BOM exporter. Mostly superseded by built-in v8+ BOM and KiBot.
- bom-ex / kicad-bom-exporter — community Python BOMs.
- Altium / Eagle / Fusion all have BOM exporters in-app; LibrePCB, Horizon EDA also.
Sourcing / pricing aggregators
- ★ Octopart API — Nexar's part-search API (Altium-owned). Free tier with rate limits; paid for production. The reference cross-distributor pricing/availability source.
- DigiKey API — official, free with developer account.
- Mouser API — official, free with key.
- Findchips — older aggregator, still useful for spot pricing checks.
- LCSC / JLCPCB Parts Library — pricing via EasyEDA; not a public API but scrapeable;
easyeda2kicadpulls part-level info. - Arrow / Newark / Avnet — distributor APIs; less commonly automated.
Pricing / multi-distributor BOM tools
- ★ KiCost (KiCad ecosystem) — multi-distributor BOM costing for KiCad / Eagle. Outputs an XLSX with quantity-break pricing across DigiKey, Mouser, Newark, etc. Open source.
- partsbox.com — inventory + BOM tracker; free tier; useful when you re-spin the same product.
- InventTree — open-source self-hosted parts/inventory/BOM management. The "PartKeepr replacement" most people land on. Apache-2.
- PartKeepr — older self-hosted parts inventory; mostly archived now.
JLCPCB-assembly-specific tooling
- ★ jlcparts — searchable mirror of the JLCPCB Parts Library; the de-facto way to know if a part is actually stocked at JLC before designing it in.
- ★ kicad-jlcpcb-tools plugin — KiCad plugin for assigning LCSC numbers, exporting JLC-format BOM and CPL (centroid) files in one click.
- easyeda2kicad — pulls EasyEDA/LCSC parts into KiCad with footprint, 3D model, and LCSC field pre-filled.
- JLC2KiCad-LIB — alternative library-pull pipeline.
- KiBot has a JLCPCB outputs preset; see Hardware CI/CD.
Custom-rule / DfM / DfA
- InteractiveHTMLBOM counts as DfA tooling because it's what assembly houses actually use.
- KiCad's DfM rules + DRC — see PCB / EDA Suites.
- kibot's
dfmoutputs — automated PCB-house-specific manufacturability checks.
Pick this if…
- You're in KiCad in 2026: built-in BOM + InteractiveHTMLBOM is the floor; add KiBot for CI.
- Cross-distributor pricing on a real product: KiCost (FOSS) or Octopart's API (commercial-friendly).
- Self-hosted parts inventory across projects: InventTree.
- Assembling at JLCPCB: kicad-jlcpcb-tools + jlcparts + InteractiveHTMLBOM.
- Need a single API key for everything: Octopart / Nexar.
- You hand the BOM to a paid assembly house: the assembly house's own BOM template usually wins; export plain CSV from your EDA and re-map.