A bill of materials (BOM) sourcing system includes one or more data storage locations
that store BOM sourcing criteria. The system also includes a sourcing engine that
receives a BOM that includes a plurality of part identifiers. The sourcing engine
identifies one or more part identifiers included in the BOM and searches supplier
data to obtain pricing information associated with the identified parts. Furthermore,
the sourcing engine receives sourcing criteria and determines which supplier should
be used to supply each identified part based on the pricing information and the
sourcing criteria. In addition, the system includes a transaction execution module
that receives from the sourcing engine a part identifier for each identified part
and the identity of the supplier to be used to supply each identified part. The
transaction execution module generates one or more transaction documents based
on this information and communicates the one or more transaction documents to the
associated suppliers.