Yep... BatchProcess. You can customize absolutely any part of a BOM way past just indented numbering. Include parent information (custom properties, configuration, file size, types), windows usernames, custom properties, multiple tables, headers, user input (combo-boxes, text boxes) version history kept for all reports saved out and printed , and much more.

Inside of SolidWorks... doubt it - I created the Assembly Reporter purely for the reason of not being able to do detailed indexes in SW.