Solve the AVL/Internal Part Number Problem with Part Spec Groups

Contract Manufacturers take the chaos involved in making physical things, from streamlined production to managing complex supply chains, and provide a smooth, predictable source for those goods for their customers. Core to this service is taking the Customer’s BOM (bill of materials) with its component Parts (often dictated by an OEM further upstream), and modeling these Parts into their own system and process.

A contract manufacturer has to align their purchasing, planning, and production processes to this BOM to meet strict engineering specifications and production schedule, in addition to the common contractual requirement to reserve inventory for that PO/contract. Further, each BOM provided may include a list of ‘alternates’ that can be substituted on the BOM during purchasing or production, based on availability, pricing, inventory, etc. This is especially true in the EMS (electronics manufacturing services) world, where functionally identical components may be manufactured by several companies, differentiated only by manufacturer or packaging - basically identical parts but with different manufacturing part numbers (MPNs).

One of the difficult things this presents is how to manage part numbers. When 3 components have different MPNs (manufacturing part numbers), but perform the same function and are approved for that customer’s BOM, how should an EMS company manage their part numbers on these BOMs? This has far-ranging implications in inventory management, automated production processes with machines, efficient purchasing practices, scheduling production orders, and more.

There are 3 primary ways EMS companies will model this for raw component part numbers nested underneath subassembly and/or top-level finished goods. We will break down the pros and cons of each, along with our recommendations. (Note, below we are referring only to raw component part numbers, not subassembly or top-level part numbers.)

Customer Part Numbers

The Contract Manufacturer simply takes the customer’s provided part numbers to leverage as the internal part numbers for the components.


  • You leverage a customer-provided part number on the BOM, that is easily mapped back to the customer BOM to show compliance.
  • Makes BOM entry/creation in your ERP simple and straightforward, as you do not have to be concerned with creating your own part numbers
  • Preserves that inventory for that customer as each is uniquely defined by the customer


  • Prevents you from leveraging inventory across multiple orders - meaning inventory sits idle when it could be used elsewhere, potentially holding up production
  • Purchasing is significantly less efficient in leveraging cost breaks and other discounts

Internal Part Numbers

The contract manufacturer translates the component part numbers to their own internal part numbering scheme, often creating new part numbers per BOM created in the system.


  • You assign your own internal part numbers on this BOM, giving you control and ensuring uniqueness
  • MPN can be modeled on a separate field (e.g. “OEM Part Number”) on the part record
  • Your machines, via an MES, are tied into this part number - since you can ensure a part number’s uniqueness, automation on the machines can be tied to this part number


  • Similar downsides to the customer part numbers in terms of inventory, warehouse, and purchasing - each internal part number is created uniquely per customer BOM, and thus inhibits the ability to use or purchase inventory across multiple parts
  • Your staff must maintain internal consistency and maintenance around the part numbering scheme

Manufacturing Part Numbers


  • You use the MPN for all part numbers - these are tied to the OEM
  • This is more cost-effective and efficient from a warehouse/inventory management standpoint This allows you to streamline purchasing


  • This might require a change in how you model this data, and get it out of the ERP to not disrupt other processes
  • This might require a shift in warehouse operations and how you pull data for your MES

Any of these solutions can be made to work, and within our customer base, companies successfully use each scheme. However, on the balance, we recommend that people model according to the Manufacturing Part Number model. The ability to purchase in larger quantities provides efficiency as a company grows, and most ERPs can (or should) be able to provide some solution to being able to reserve inventory to a customer without sacrificing your ability to control inventory, both in purchasing and allocation to production. Cetec ERP also provides a tool to suggest and control what possible Component substitutions can be made when shortages occur.

Cetec ERP’s solution: Part Spec Groups

Cetec ERP leverages an object, called Part Spec Groups, that is mapped to the BOM, and defined by the customer-provided part number (your internal part number). For each unique customer part number, you have a Part Spec Group, defined on that specific BOM. That component would be numbered by the MPN, though is not a requirement, and the MPNs are grouped by the Part Spec Group, according to the customer’s provided BOM. For a guide on how to use Part Spec Groups go here.

This gives a list of substitutes for that part that the system can leverage in allocation of materials. This allows purchasing to choose the most cost-effective and available substitute on a PO (considering other orders requiring that MPN). Additionally, the list of substitutes flows through to work order itself, which allows warehouse and production to make the swap real-time in the event of a shortage.

One concern we receive on modeling this data is disrupting machine automation based on the internal part number. Leveraging a “Name” field on this object allows you link the Part Spec Group back to the customer-supplied BOM while also providing the data needed to still maintain integration and automation with your MES and machines on the floor.