Fields from Schematic Don't Transfer to PCBnew

Initially, I carefully creating extra fields for all the parts in my schematic. These were BOM related, like Find Number, Manufacturer, Manufacturer’s P/N, Vendor, Vendor’s Stocking Number. I just realized that these don’t get transferred over to the PCB file.

This caused about 4 hours of extra work the other day, as I had to prepare a file for my manufacturer. It appeared I could have fetched the desired reports almost trivially, if only I was fluent in XML and the xsltproc “language”. Guess that’s next in the queue to learn. I ended up extracting a position report file from the PCB, and manually (semi-automatically) matched things up with the BOM in a spreadsheet to get the information. Live and learn.

Did you add the extra (for you standard) fields in EEschema under Preferences>Schematic Editor Options?

Also did you see this one in EEschema?

If you have no plugin installed it should create you a CSV file with the bare minimums.
But there is plugins, like KiBOM_CLI that allow some customization to the output, from @SchrodingersGat with more info here: KiBoM - Python BOM Generation tool

The EEschema BOM naturally will miss anything that you added on-the-fly in pcbnew etc.

1 Like

Thanks, Sparky. Well, I added the fields in a semi-automated manner using a (python?) program I downloaded ( I can dig it up if you’re interested ). But I know it worked, because the fields I added show up in eeschema, and they show up in the XML file made by the “Generate BOM” tool. I just couldn’t get everything in a csv file. But to be fair, I didn’t try to make a BOM without a plugin file - I didn’t know one could do that.

I really only wanted Find Number. All the other fields I was just playing around with to see what was possible.

Also, you mention adding a field on-the-fly in pcbnew won’t be reflected in eechema… I get that. But I couldn’t find anywhere in pcbnew to even view custom fields, much less enter them. This led me to the conclusion that custom fields stay within the schematic and aren’t transferred to the PCB.

None of this is urgent for me now, I’m focusing on wrapping up the documentation for some prototypes. But I want to revisit it down the road, re-read how others are handling their BOMs, and come up with an approach that works for me without jumping through too many hoops.

I appreciate your feedback, and the feedback from others here on these forums which has been prompt, accurate and helpful.

-Chris

Ah, you’re right. pcbnew only knows val and ref fields… just checked a .kicad_pcb file to get my mind back in there. Sorry.

As for the fields not showing up - thats why I posted that screenshot of the options. Maybe you can check it and look if you got all fields covered you added. I think when I started I forgot that and it didn’t gave me my custom fields in the BOM.

1 Like

Ah… that did the trick! Thanks. It turned out in that preferences screen, I didn’t have any fields listed. I’m not sure what the exact purpose is, perhaps you could specify a subset of your fields to be exported by the Generate BOM scripts tool? Anyway, thanks.

I don’t know either… I just remembered that I had all my parts set up in the libs, but the fields never got applied when importing them to eeschema and I stumbled over those options and after it worked.
:wink:

1 Like

So, I’m having a somewhat related problem. I added some custom fields to some schematic parts. Later, I removed them and made some other custom fields and added them in the preferences. But the old fields still keep showing up when I generate a BOM (using any of the plugins). I checked all of the parts and none of them still have the old custom fields lingering around. But strangely, a few of the parts even have the old custom values associated with those old fields. Am I overlooking something, or is this a bug?

Where? In the library or the schematic? The schematic contains the fields that are associated with a component placed in the schematic. Removing fields from the library definition will not later the schematic.

If the BOM contains fields, then they are in the schematic.

I checked them in the schematic. I checked through eeschema and ran a search on the .sch file in a text editor.