Instead of adding fields to the components of the schematics I prefer to keep component values, vendors and product numbers in separate csv files. The script extracts component information from a kicad_pcb file and produce BOM files, The BOM files are the result of the board component details and a master BOM file holding the value, vendor and SKU for each component.
Also, the scripts generate a position/rotation file for programming pick and place machines. The rotation for each component is defined in a master csv file where the rotation angle for each component is given. In this way differences in rotation angle definitions between the Kicad library and assembly house can be compensated for.
Asciidoc is used for the written documentation and scripts collect files and generate html and pdf files.
Clone the git repository https://github.com/oaox/pcbdemo . All files should be present. You can go to the doc directory to check out the html version or to the pcb directory to generate cvs files. You can copy the script directory to your project top and start using them from there.