How to generate a BOM in kicad 5.99?

Hi there I’m trying to generate a BOM off from a schematic in kicad 5.99 (today’s nightly) and it won’t let me load any or generate one with the default script but the generate button is locked and here is the output for all cases with all scripts I tried:

does anyone know of a way to generate a BOM in kicad 5.99 or we’ll just have to wait for the update?

The issue is that the BOM script doesn’t exist where kicad thinks it should.

You should be able to dig around and find the actual path where the script lives, and update the command line at the bottom to the real path. I don’t have a Windows build handy or I’d check what the path should be and tell you. You can try hitting the “+” button and see if that opens a browse window in the right location.

As an experiment, see if clearing your preferences fixes the problem. BOM script paths are saved in your preferences, so if the BOM scripts moved recently but your preferences still point to the old location, there will be an issue. On Windows I think your preferences are in %APPDATA%\kicad - you can backup that folder and then remove it to start with fresh preferences.

If that fixes the issue, make a note of where the BOM script is located, then you can restore your preferences and update the script path in that dialog.

If that doesn’t fix it, it’s probably a bug. Open an issue on gitlab so the bug will get fixed. There won’t be an update to fix this unless someone reports it.

1 Like

Stumbled on this yesterday. Probably has to do with recent changes of the default config directory for KiCad. Deleting config folder did it for me - all BOM plugins are back.

1 Like

Yes, this is because the BOM plugins paths are stored in config unfortunately, which means they are not updated when we move the location.

If you don’t want to wipe your whole config:

  1. Find your config files in %APPDATA%\kicad\5.99 (or a quick shortcut is to go to the Color theme preferences, click “Open theme folder” and go up one directory)
  2. Open eeschema.json
  3. Find the section “bom” and delete this section:
  "bom": {
    "plugins": "(plugins  (plugin \"/usr/share/kicad/plugins/bom_csv_grouped_by_value.py\" (cmd \"python \\\"/usr/share/kicad/plugins/bom_csv_grouped_by_value.py\\\" \\\"%I\\\" \\\"%O.csv\\\"\")  (opts \"nickname=bom_csv_grouped_by_value\"))  (plugin \"/usr/share/kicad/plugins/netlist_form_pads-pcb.asc.xsl\" (cmd \"xsltproc -o \\\"%O\\\" \\\"/usr/share/kicad/plugins/netlist_form_pads-pcb.asc.xsl\\\" \\\"%I\\\"\")  (opts \"nickname=netlist_form_pads-pcb.asc\"))  (plugin \"/usr/share/kicad/plugins/bom_with_title_block_2_csv.xsl\" (cmd \"xsltproc -o \\\"%O.csv\\\" \\\"/usr/share/kicad/plugins/bom_with_title_block_2_csv.xsl\\\" \\\"%I\\\"\")  (opts \"nickname=bom_with_title_block_2_csv\"))  (plugin \"/usr/share/kicad/plugins/bom2csv.xsl\" (cmd \"xsltproc -o \\\"%O.csv\\\" \\\"/usr/share/kicad/plugins/bom2csv.xsl\\\" \\\"%I\\\"\")  (opts \"nickname=bom2csv\"))  (plugin \"/usr/share/kicad/plugins/bom_html_grouped_by_value.py\" (cmd \"python \\\"/usr/share/kicad/plugins/bom_html_grouped_by_value.py\\\" \\\"%I\\\" \\\"%O.html\\\"\")  (opts \"nickname=bom_html_grouped_by_value\"))  (plugin \"/usr/share/kicad/plugins/netlist_form_cadstar-RINF.xsl\" (cmd \"xsltproc -o \\\"%O\\\" \\\"/usr/share/kicad/plugins/netlist_form_cadstar-RINF.xsl\\\" \\\"%I\\\"\")  (opts \"nickname=netlist_form_cadstar-RINF\"))  (plugin \"/usr/share/kicad/plugins/netlist_form_cadstar.xsl\" (cmd \"xsltproc -o \\\"%O\\\" \\\"/usr/share/kicad/plugins/netlist_form_cadstar.xsl\\\" \\\"%I\\\"\")  (opts \"nickname=netlist_form_cadstar\"))  (plugin \"/usr/share/kicad/plugins/netlist_form_OrcadPcb2.xsl\" (cmd \"xsltproc -o \\\"%O\\\" \\\"/usr/share/kicad/plugins/netlist_form_OrcadPcb2.xsl\\\" \\\"%I\\\"\")  (opts \"nickname=netlist_form_OrcadPcb2\"))  (plugin \"/usr/share/kicad/plugins/bom_sorted_by_ref.py\" (cmd \"python \\\"/usr/share/kicad/plugins/bom_sorted_by_ref.py\\\" \\\"%I\\\" \\\"%O.txt\\\"\")  (opts \"nickname=bom_sorted_by_ref\"))  (plugin \"/usr/share/kicad/plugins/bom_csv_sorted_by_ref.py\" (cmd \"python \\\"/usr/share/kicad/plugins/bom_csv_sorted_by_ref.py\\\" \\\"%I\\\" \\\"%O.csv\\\"\")  (opts \"nickname=bom_csv_sorted_by_ref\"))  (plugin \"/usr/share/kicad/plugins/kicad_netlist_reader.py\" (cmd \"python \\\"/usr/share/kicad/plugins/kicad_netlist_reader.py\\\" \\\"%I\\\" \\\"%O\\\"\")  (opts \"nickname=kicad_netlist_reader\"))  (plugin \"/usr/share/kicad/plugins/bom_csv_grouped_by_value_with_fp.py\" (cmd \"python \\\"/usr/share/kicad/plugins/bom_csv_grouped_by_value_with_fp.py\\\" \\\"%I\\\" \\\"%O.csv\\\"\")  (opts \"nickname=bom_csv_grouped_by_value_with_fp\"))  (plugin \"/usr/share/kicad/plugins/bom_html_with_advanced_grouping.py\" (cmd \"python \\\"/usr/share/kicad/plugins/bom_html_with_advanced_grouping.py\\\" \\\"%I\\\" \\\"%O.html\\\"\")  (opts \"nickname=bom_html_with_advanced_grouping\"))  (plugin \"/usr/share/kicad/plugins/bom2grouped_csv.xsl\" (cmd \"xsltproc -o \\\"%O.csv\\\" \\\"/usr/share/kicad/plugins/bom2grouped_csv.xsl\\\" \\\"%I\\\"\")  (opts \"nickname=bom2grouped_csv\"))  (plugin \"/usr/local/share/kicad/plugins/bom_csv_grouped_by_value.py\" (cmd \"python \\\"/usr/local/share/kicad/plugins/bom_csv_grouped_by_value.py\\\" \\\"%I\\\" \\\"%O.csv\\\"\")  (opts \"nickname=bom_csv_grouped_by_value\"))  (plugin \"/usr/local/share/kicad/plugins/netlist_form_pads-pcb.asc.xsl\" (cmd \"xsltproc -o \\\"%O\\\" \\\"/usr/local/share/kicad/plugins/netlist_form_pads-pcb.asc.xsl\\\" \\\"%I\\\"\")  (opts \"nickname=netlist_form_pads-pcb.asc\"))  (plugin \"/usr/local/share/kicad/plugins/bom_with_title_block_2_csv.xsl\" (cmd \"xsltproc -o \\\"%O.csv\\\" \\\"/usr/local/share/kicad/plugins/bom_with_title_block_2_csv.xsl\\\" \\\"%I\\\"\")  (opts \"nickname=bom_with_title_block_2_csv\"))  (plugin \"/usr/local/share/kicad/plugins/bom2csv.xsl\" (cmd \"xsltproc -o \\\"%O.csv\\\" \\\"/usr/local/share/kicad/plugins/bom2csv.xsl\\\" \\\"%I\\\"\")  (opts \"nickname=bom2csv\"))  (plugin \"/usr/local/share/kicad/plugins/bom_html_grouped_by_value.py\" (cmd \"python \\\"/usr/local/share/kicad/plugins/bom_html_grouped_by_value.py\\\" \\\"%I\\\" \\\"%O.html\\\"\")  (opts \"nickname=bom_html_grouped_by_value\"))  (plugin \"/usr/local/share/kicad/plugins/netlist_form_cadstar-RINF.xsl\" (cmd \"xsltproc -o \\\"%O\\\" \\\"/usr/local/share/kicad/plugins/netlist_form_cadstar-RINF.xsl\\\" \\\"%I\\\"\")  (opts \"nickname=netlist_form_cadstar-RINF\"))  (plugin \"/usr/local/share/kicad/plugins/netlist_form_cadstar.xsl\" (cmd \"xsltproc -o \\\"%O\\\" \\\"/usr/local/share/kicad/plugins/netlist_form_cadstar.xsl\\\" \\\"%I\\\"\")  (opts \"nickname=netlist_form_cadstar\"))  (plugin \"/usr/local/share/kicad/plugins/netlist_form_OrcadPcb2.xsl\" (cmd \"xsltproc -o \\\"%O\\\" \\\"/usr/local/share/kicad/plugins/netlist_form_OrcadPcb2.xsl\\\" \\\"%I\\\"\")  (opts \"nickname=netlist_form_OrcadPcb2\"))  (plugin \"/usr/local/share/kicad/plugins/bom_sorted_by_ref.py\" (cmd \"python \\\"/usr/local/share/kicad/plugins/bom_sorted_by_ref.py\\\" \\\"%I\\\" \\\"%O.txt\\\"\")  (opts \"nickname=bom_sorted_by_ref\"))  (plugin \"/usr/local/share/kicad/plugins/bom_csv_sorted_by_ref.py\" (cmd \"python \\\"/usr/local/share/kicad/plugins/bom_csv_sorted_by_ref.py\\\" \\\"%I\\\" \\\"%O.csv\\\"\")  (opts \"nickname=bom_csv_sorted_by_ref\"))  (plugin \"/usr/local/share/kicad/plugins/kicad_netlist_reader.py\" (cmd \"python \\\"/usr/local/share/kicad/plugins/kicad_netlist_reader.py\\\" \\\"%I\\\" \\\"%O\\\"\")  (opts \"nickname=kicad_netlist_reader\"))  (plugin \"/usr/local/share/kicad/plugins/bom_csv_grouped_by_value_with_fp.py\" (cmd \"python \\\"/usr/local/share/kicad/plugins/bom_csv_grouped_by_value_with_fp.py\\\" \\\"%I\\\" \\\"%O.csv\\\"\")  (opts \"nickname=bom_csv_grouped_by_value_with_fp\"))  (plugin \"/usr/local/share/kicad/plugins/bom_html_with_advanced_grouping.py\" (cmd \"python \\\"/usr/local/share/kicad/plugins/bom_html_with_advanced_grouping.py\\\" \\\"%I\\\" \\\"%O.html\\\"\")  (opts \"nickname=bom_html_with_advanced_grouping\"))  (plugin \"/usr/local/share/kicad/plugins/bom2grouped_csv.xsl\" (cmd \"xsltproc -o \\\"%O.csv\\\" \\\"/usr/local/share/kicad/plugins/bom2grouped_csv.xsl\\\" \\\"%I\\\"\")  (opts \"nickname=bom2grouped_csv\")))",
    "selected_plugin": "bom_csv_sorted_by_ref"
  },
2 Likes

Thanks that did the job!

Thanks everybody for the help this is settled.