False Raw Material Part Numbers created during quote Entry

  • 11 September 2023
  • 6 replies
  • 95 views

Hello,

 

An ongoing problem that I have been running into is that sometimes our personnel who enter quotes will “create” their own part numbers. They are not actual part numbers that exist in the part master. The problem is that this is an allowed action that, as far as I know, isn’t something that can be disabled.

To summarize a long story, this quote turns into a job which creates a record. I am ordering material after the job is created. This is resulting in unit of measurement conflicts at the purchase order level (I need to order in LBS but we record our material in Inches). If I try to turn the part number that was created at quotation into an actual part number, I am not able to change the unit of measurement class. This is the main issue. My solution as of now is to slightly alter the part number by adding a 0 or some other value so I can add a part number with the correct unit of measurement class. Then, I need to go into the job and change the raw material part # in there as well. 

 

Problems with my solution:

I cannot inactive the part number that was “created” at quotation since it isn’t a real part number… unless I make it a real part number then inactivate it.

We use a standard part number schema for our raw materials(material type - stock type - size). They are using this standard schema at the quotation. So this false part number is being created as a standard part number and used repeatedly as a result.

 

This isn’t a very common issue, but it does occur. Does anyone have any suggestions for a better solution to this problem? Ideally, I would like to stop this problem at its source and prevent them from quoting without a real part number.

 

Thanks!

Austin


6 replies

Userlevel 1

I was pulling my hair out with this last month.  We are working on a BPM to prevent Customer service from entering a sales order with a part that is not in the Part master table. 

 

Another thing I have considered is to make a new “default” UOM class that contains all UOMs.  These part on the fly orders use whatever your default UOM class happens to be.  If we were to do that then I would also have to police the fake default UOM class to make sure that it isn't’ used on a real part master record.  

Hello!

Ironically, we already have an all-encompassing UOM class… I can’t remember why we can’t make it the true default but we tried that and it wouldn’t allow us to make it the true default for some reason… It had something to do with the class type if I recall correctly. I thought about adding the default UOM class to all 5 class types and making that the default for each class type.

 

Luckily I’m already bald so I don’t have any more hair to lose over this. Unfortunately, now it’s my sanity that I’m losing hahaha.

Userlevel 2

A data directive may be placed on QuoteMtl (or is it JobMtl?  I seem to remember that even though a QuoteMtl table was present, when records were added during quoting, they actually went into the JobMtl table; you’ll want to test for that).  The data directive could check for the part number’s presence in the part master and either (1) throw an exception if you want to prevent absolutely any parts on the fly, or (2) pre-check to make sure UOMs are consistent with the part info entered, and change the UOM and UOM class if needed.  When I say “info entered” it may be only the part number, meaning you may need to require certain prefix or suffix for parts on the fly based on the UOMs desired.

 

HTH

Userlevel 1

The QuoteMtl would be the table for the BPM that if the part number doesn’t exist in the Part table stop the user from adding the record to the quote’s engineering by throwing the exception.  This would force the sales team to add the part correctly in the part master before trying to build the quote’s engineering.

The confusing tables are the ECOMtl and PartMtl.  :-)

HTH

A data directive may be placed on QuoteMtl (or is it JobMtl?  I seem to remember that even though a QuoteMtl table was present, when records were added during quoting, they actually went into the JobMtl table; you’ll want to test for that).  The data directive could check for the part number’s presence in the part master and either (1) throw an exception if you want to prevent absolutely any parts on the fly, or (2) pre-check to make sure UOMs are consistent with the part info entered, and change the UOM and UOM class if needed.  When I say “info entered” it may be only the part number, meaning you may need to require certain prefix or suffix for parts on the fly based on the UOMs desired.

 

HTH

Hello,

 

I will run this by my Controller to see what he has to say.

 

Thanks Monty!

Hi, 

I recommend testing Service Security Maintenance. We’re not using quotes, so cannot guarantee this works there too. We have limited the fields that subsidiaries are allowed to update within Part record. This is done with Field Security Maintenance. Due to them having to be able to update Parts we ended up in having accidentally created Parts. 

This was prevented with Service Security Maintenance by adding certain user groups to Disallow Access list. We first had to find with tracing all the methods we wanted to block. One of them was Service bo.Part and the method GetNewPart. We also banned duplicating parts, deleting parts etc. with the same Service Security Maintenance functionality.

 

With this Access query I can easily check which limitations have been applied and to which user groups / users.

SELECT Ice_Security.SecCode, Ice_Security.NoEntryList
FROM Ice_Security
WHERE (((Ice_Security.NoEntryList)<>""));
 

Reply