UOM Class in Quoting

When entering a Quote in Epicor, there is not a way to specify the UOM Class, we can only specify the UOM. What we have found is that:

1) If we create the part in part master BEFORE quoting it, we can assign the UOM class correctly (in this case UOMClass=MixedUOM) with UOM of EA. This way when we go to Order Entry and use this part, the UOM Class is correct (UOMClass=MixedUOM instead of UOMClass=Count).

2) If we create the quote first and use UOM=EA in the quote, then when we go to create the part in part master, it will NOT let us change the UOM Class, and it is defaulting to UOMClass=Count class when we want it to be UOMClass=MixedUOM.

My question is, is this operating as designed? Is it supposed to do this, or did we misconfigure something? Are others seeing the same thing?

We see the same exact thing. Happens on Orders and PO’s too.

It’s really only an issue when the PartNum on the quote/order/po is an On The Fly partnum, and then a part master entry is created. When a part master entry is created, it will search to see if the Partnum was used as an OTF part before. If it was, then the related info (class, prod grp, UOM, etc …) from the use as a OTF part are used to populate the part master record.

I have no idea the logic used to determine which QuoteDtl, OrderDtl, PODtl, is used when multiple exist for the same partnum.

1 Like

The behavior would make more sense to me if, when quoting, we could actually assign the UOMClass, since then we would have no issues at all, but I guess that defeats the purpose of “on the fly”.

So you’re saying that you have the UOM EA available in both the COUNT and MixedUOM Classes?

Since COUNT is our default UOM Class, and EA is COUNT's default UOM, the quote line’s UOM defaults to COUNT.EA


When you add an OTF part on a quote line, are any of the the available UOM’s from the MixedUOM Class shown in the list?

Yes, correct. EA is in UOMClass Count, and Count is the system default in our setup too. But EA is also in the MixedUOM class. On the Quote Entry screen, yes we DO see all UOMs available as options in the drop-down, but since EA is in both Count and MixedUOM, we need to manually specify the class when quoting On The Fly parts else it assumes it is Count – but there is no way to assign UOM Class in quoting. It picks Count behind the scenes and doesn’t give me an option.

I did some reading of the UOM documentation and it basically sounds like what I am asking for is simply not possible, that On The Fly parts can only come from the system UOM classes and not from a MixedUOM class (if I am understanding it correctly). I am just kind of surprised that this is the case, since it means we have to create a part record for every part we quote, even if we only get an order on 1 out of every 10 parts. It’s a lot of extra part data in the system just to use MixedUOM.

I tried doing a trace to see if there was a BO on the new part record creation, that you could intercept and change the UOM at the time of new part being created. What I found was that Part.ChangePartNum() is called during part creation in part maintenance. The return parameters show the IUM and UOMClass are being set here:




Maybe make a BPM that detects that the part being created was sourced from a quote (or order or PO), and use a BPM Form to ask which UOMClass it should be.

Also, I’m not 100% positive, but I think the class and UOM isn’t locked in on the part record until there’s been a part transaction with that partnum (like a MFG-CUS on a make to order job for an OTF part, or a PUR-MTL for job material)

Just did a test using the Part.ChangePartNum() methods.

  1. A quote exists for OTF Part E10H-OTF, with UOM EACH - (which is a member of Class COUNT-SN (which is a Class Type of Other), and Class COUNT

  2. After entering the OTF P/N in Patrt Maintenance, and clicking OK to make a new part, I first see:

Then after clearing that message, the Post-Proc message shows:


The part entry created is with COUNT.EA


When the quote line has the UOM GA (a member of Class VOLUME, a system Type of “Volume”)


And the part created has a UOM of VOLUME.GA



I used a couple of Set Field widgets in a Post Proc BPM on Part.ChangePartNum(). I set

  • ttPart.UOMClassID to "COUNT-SN"
  • ttPart.IUM, ttPart.PUM, and ttPart.SalesUM to "EACH"

The part created looks like:


That’s almost right - except that the UOM Class is wrong. It’s showing “Volume” - which is the only
UOMClass with UOM GA (that’s what was on the Quote, as shown in the Post-Proc message above)

But if I click on the dropdown arrow for the UOM class, it instantly changes to “Count for Serial Number”. Or if I make the new part and save it while “Volume” is displayed, it changes to “Count for Serial Number”. So it only looks like it wasn’t set right - must be a UI thing.