KiCad is a EDA for designing PCBs. It is free, cross-platform and open source!
Getting startet with KiCad: External.
Take a look at this (https://github.com/SchrodingersGat/KiBoM)
Take a look at this (https://forum.kicad.info/t/protip-nicer-via-stitching/1103)
In the Eeschema go to Preferences-> Schematic Editor Options-> Template Field Names-> Add. Then write in what you want.