1. A method comprising: receiving a configuration specifying which components and which attributes of components of a first multilevel bill of material and a second multilevel bill of material are to be compared, where a component may include internal items used to manufacture an end part and an association to the internal item, where the association may be manufacturer parts and/or file attachments, and where an attribute is information about a component used to identify whether the components match; comparing, by a computer processor, attributes of one or more internal items of the first and second multilevel bills of material to determine differences between the attributes of one or more internal items in the first multilevel bill of material and attributes of corresponding internal items in the second multilevel bill of material to identify an internal item in the first multilevel bill of material that matches an internal item in the second multilevel bill of material; comparing, by the computer processor, attributes of one or more associations for identified matched internal items of the first and second multilevel bills of material to determine differences between the one or more associations of the identified matched internal item in the first multilevel bill of material and the one or more associations of the identified matched internal item in the second multilevel bill of material; generating a report showing a side-by-side result of comparing the one or more internal items and comparing the one or more associations, wherein the report shows which internal items of the first multilevel bill of material are not matched with internal items of the second multilevel bill of material and shows which of the one or more associations of the identified matched internal item of the first multilevel bill of material are not the same as the one or more associations of the identified matched internal item of the second multilevel bill of material; and outputting the report.