Generate Custom External BOM from Assembly

Our company is currently looking to streamline our process of making BOMs. Currently after a job is modeled/detailed in excel we manually enter part numbers, titles, quantities, and weights of all the parts in the top level assembly along with what sub assembly a part belongs to if any. We then have a seperate pages to type in all of the fasteners used both assembled in the shop and in the field. And on top of that we have more pages for buyout items, paint specs, total weight pages, and a dwg index that list just the part numbers, titles, and dates of any revisions on the dwgs.

We are open to reformating how the BOM looks but we would like a way to atleast generate what we can from the solidworks assembly. Does anyone have any suggestions on where to even start with this?

SolidworksBill Of Materials