Qualified Manufacturer Per Assembly Per Part

We are trying to setup a way for qualified manufacturer per assembly per part. Is there an advance or 3rd party module that is able to accomplish this? Or even with BPMs that someone has tried and achieved. It seems like there should be an easy way to do this. However, I have not been able to find this in Epicor, at least with our modules.

Here is a scenario to explain it better:
Customer Dalton wants assy 520144 that includes part #102 in the BOM. Part #102 has 3 qualified manufacturers Samsung, Panasonic & TI.
Customer Dalton only wants the product made with Samsung & TI manufacturers.
Customer Acme wants assy # 226145 which also includes part#102, but they only want product with Panasonic & TI.
The question is how to tie part#102 in engineering workbench to use the appropriate manufacturer in each of those assemblies.

I have seen suggestions for different internal part numbers for each manufacturer to be used as alternate parts on the BOM. Which does not work correctly for purchasing and pick-list.


Amin Varghai

This would be a great integration. We have multiple parts with alternatives per product and customer. In the end we just make a separate part number, but this does not help inventory levels when you have similar parts as the cross referencing is almost impossible.

can i clarify few points in your case:

  1. Is it possible to have one assy# requested by two different customers?
  2. who or when these rules defined i.e. is it when creating the customer profile? is it defined at assy level ?
  3. does it vary with time or is it fixed with customer/ assy?

We found out the same thing about inventory control if we have different internal P/N for similar manufacturers.
I am thinking Engineering workbench customization with UDs and BPMs. I’ll post here if I get an answer.


  1. The assy# are custom to each customer. Not possible to share assy#.
  2. The parts used are defined by customer when they order an assembly. It does change sometime per assy.
  3. If the customer redesigns their assembly or aren’t happy with a part they may change, delete or add manufactures.



is this across all thier assy#, or is it different with each assy#, i.e. Customer Dalton only deals with Samsung & TI for any of there assy’s or each of thier assy# is differnt?

That was just an example. On some assemblies they don’t care which manufacturer was used. On some the customer specifies the manufacturer. It can be any combination.

Could you use the alternate parts list, and add a UD field for customer requirements that you could use in a BPM while getting details on the job? You would have to have different part numbers per manufacturer, but you could change out the part numbers on get details in the job. That would work when the manufacturer is specific. I think you could also add some logic that looks at inventory levels and makes a best choice when the manufacturer isn’t specific. You would still have to make manual changes on the job though if you didn’t use what the job called for (the detriment of automation, you have to do what it says)

based on your answers, your case is (assy#=Part) specific, and this is not an easy tackle, as a general idea i would solve this issue as the following:

  1. ‘Lot Tracked’ at part level should be used (i’m assuming you already using it), then (BPM to control this when creating assy#=Parts may needed), so no assy# or lower level part material can be created without it.

  2. add UD fields on ECOMtl, synchronizes with OperMtl -to be used for this specific conditions when building assy# -i.e. approved manufacturer for each BOM for each assy#.( User will have to specify this so BPM to remind or/ and force users may be needed).

  3. add UD filed in Lot Entry, so when booking material in (for purchased material) or booking to stock (for manufactured parts) BPM to remind or/and force users to enter the manufacturer ID for the lot.

  4. at issue material to jobs, BPM to compare each material Lot manufacturer ID and the assy# approved manufacturer list on the assy#=part level (using JobHead.PartNum, and RevisionNum), to validate and allow only if Material lot manufacturer ID is one of the approved manufacturer list.

we have been using internal part numbers per manufacturer. But some similar parts have up to 10 manufacturers. The problem is adding logic to handle inventory levels and relying on humans is error prone as we are experiencing.
I am leaning toward UD fields in the Engineering Workbench that adds the manufacturer to the part for that assembly and then printing on the picklist and some how exposing it to purchasing.
I’ll post it when I get something working.

sound like a good suggestion. I’ll integrate it with a similar solution I had in mind. I’ll post here how it goes.



Do you guys buy direct to the job? If that’s the case, I can see this working, but if you’re not, purchasing would get suggestions to inventory. If you do consolidate to one part number, it can be tough for purchasing to know which manufacturer’s stuff is in stock.

Do you guys use lot tracking? (we don’t so I won’t be much help) but that me be a good way to keep track of manufacturer. Just a thought, and since I don’t use it, I have no idea on the limitations of this approach.

we do use it, my posted solution is based on it

Sorry, I should have read your response before responding.

We are sort of buying per job. It’s not consistent, but I know we cannot use suggestions or MRP for purchasing for variety of reasons.

I did manage to resolve the issue for us. I added a UD field in the Engineering Workbench in material detail. A list of manufacturers and Mfg Part Numbers is added to this UD. I add the UD field to the PickList and to another report the buyers can access.

It’s not a perfect system but it works for us. Unfortunately, it won’t really work correctly with MRP or purchasing suggestions.