How can I set a custom form of my Bill of materials in Eagle
You can do that by using the Attribute tool and updating each device you are using in your schematic.

With that tool you can create fields according to the information you want to generate to the BOM.

You also can create a script and run it when you need to create the fields for each device. Here is an example:

ATTRIBUTE MANUFACTURER_NAME variable
ATTRIBUTE MANUFACTURER_PART_NUMBER variable
ATTRIBUTE DATASHEET_URL variable
ATTRIBUTE VENDOR_ID variable
ATTRIBUTE VENDOR_PART_NUMBER variable
ATTRIBUTE REFERENCE_PRICE variable


After doing this you can generate the BOM and have all the columns you want.