A feature request?

I don’t know if this is a feature request or request for comments, but I would like to have BOM integrated with Schema and PCB.
I checked a problem component and found out that it was hard to remember what is the current BOM file among millions of versions.

Eeschema: Tools>Generate_BOM

PCBnew: File>Fabrication_Output>BOM

Example: an exported CSV yields identical BOM’s

Yes, that the way to create a new BOM, but what about old ones. I have to edit KiCad’s Bom quite a lot to get it well= the way I want it. But somethings are unmodified from SCH to BOM

I guess I don’t understand the Question or, what you’re striving for.

Without knowing what “the way I want” is, I can’t help.

Of course, these are human readable files (TextEdit, Spreadsheet…etc). Thus, you can grab an old BOM and edit it.
You can Rename the BOM files…

See how confused I am about just what you want…

Well, I can’t explain it exactly because I don’t know it exactly myself.
But somekind of link to BOM would be usefull. And an easy way to edit some fields of that file.

Bom file probably contains some unchanged or constant fields. Like Part reference.
Manufacturer and manufacturer’s code could change. (You should not change SO-14 74HC00 to 1N4148)

Ok, I get it. I wrote a Plugin to do exactly ‘what you want’

Difficult to see the Mouse-Click on last plugin Icon



The BOM generators bundled with KiCad are fairly basic but offer a variety of formats. They are also written in Python and amenable to a bit of lightweight hacking to produce the format that you desire.
Alternatively there are a number of third part BOM generators such as KiBom which offers a useful set of configurations and outputs.
Historical BOMs produced by delelopment versions should not clutter your project - they should be overwritten with the latest version.

1 Like

IMO the real issue of LM21 is not any “BOM linking”, but Version control in general.
BOM is just one of the project’s documents. All these (schematic, board, netlist, BOM) are different representations/views of the same thing.
If you change something, you just create new version of your project.
So all your updated documentation should reflect that change.
BOM is the output file, just like GERBER is. You can manipulate BOM, you can manipulate GERBERS but the only proper way to implement changes is to update your source files (schematic, board). Otherwise the risk of screwing things is enormous.

I agree, but internal BOM file could contain more, like full path to footprints and symbols. But there should be an internal BOM file, like SCH and PCB files. Changing BOM should update others. Footprints and schematic symbols could be read only.
I quess part of my request comes from the fact that I’m not happy with the way libraries contain assembly data, like Manufacturer and manufacturers order code…

The “internal BOM file” is the schematic. The schematic data is the source of truth for the BOM. An exported BOM file is just like a PDF plot of the schematic: a snapshot of one point in time.


Sure. It is now, but that data could be more easy to use, and better organized. I can’t find byers data like manufacturer and so on. And the BOM it creates needs editing, like just the manufacturer and manuf. code.

That’s the question of wrong workflow and not wrong tool.
Please see IMPORTING BOM from external Database - #3 by fred4u

Thanks but I really don’t like scripts.

You don’t have to use KiBom although it will be a mistake not to use it.
The trick is to include your databaseID in custom fileds which is done at KiCad level with no scripting.
You can use LO Calc/Excel to do the work (if you don’t mind using the tools, of course).

Sure. It is now, but that data could be more easy to use, and better organized. I can’t find byers data like manufacturer and so on. And the BOM it creates needs editing, like just the manufacturer and manuf. code.

KiCad 7.0 will have database support so you can add additional fields which should be exportable to the BOM? I would not expect it to ever be a core feature of KiCad to overwrite its own data from an external BOM file.

There should be an internal database or bom, which should be editable. The bom for manufacturing is exported from that.

I really don’t know how to respond to the repeated suggestion that the BOM should be the authorative information in a PCB design. A BOM, like gerbers, drill hit files, plot files, etc. is one of the many outputs of the PCB design process.

1 Like

Agreed. Using a part database as input makes sense and this will be coming with KiCad 7.0 (with current versions, you can create your own libraries with the available parts and their properties).

A BOM is telling you how many parts of which type you need. This is clearly an output as you don’t design PCBs with the intention of “I need to use exactly 75 10uF 0402 SMT capacitors” or whatever.

V6.99 is in feature freeze now for V7.0, so no new features to be added until V8 development starts (early next year?)

In the current tight supply chain climate I find I spend a lot of time iterating on the Bill Of Materials. Generally, I get all the parts on order before I finalize the schematic, BOM and layout, just to make sure I can get everything. I’ve never had a problem with the way KiCad generates BOM’s though.