Changing part UOM Conversion Factor

This might be a stupid question but does anyone know of a way to change the part UOM Conversion Factor on a part that already has a part transaction in the system? When the part originally got put in the system it was put in with the wrong conversion factor and now I am trying to fix this issue so the jobs will reflect the correct amount but I haven’t found a way to change it yet.

1 Like

Pretty sure you are screwed, unless you make a new part or something. Will be interested to hear if otherwise…

3 Likes

Ditto.

Might have to make a new UOM and mark the current one as inactive. On the plus side, UOM’s have both and ID and as “Symbol”. So your new UOM could have the same symbol printed on documents.

Ex: Old UOM with:

  • ID IN
  • Symbol: IN
  • Of class Length
  • Factor of 13 IN = 1 FT (FT being your default UOM of class Length)

New UOM:

  • ID INCH
  • Symbol: IN
  • Of class Length
  • Factor of 12 IN = 1 FT

You’ll have to jump through hoops to get the old UOM to be disabled.

@ckrusen I don’t think that will work because we have custom code in several reports that goes based off the UOM ID also this UOM is LB and it is part specific I don’t know if that would matter but I figured I should mention it just in case. Before I posted this topic I was thinking the only way to change it was to change the part number the reason I made the post to begin with is to make sure there wasn’t another way because we have used these part numbers for years and some how when we switched to Epicor the conversions(unit net weight in our old system) got changed during the switch.

There are many issues with UOM’s in E10. Some bugs, most by design.

The biggest one (which is by design), is that any references to the UOM have been made, changing it is nearly impossible. I think this is because the UOM conversions are expected to be fixed and never change. Transactions that used the non-default UOM for the Class, look up the conversion instead of storing it with the transaction. So if the conversion changes at some later date, all those old transactions now represent different qty’s.

Kind of like how a packer only knows the CustNum, not the actual address. If you change the address of a customer and then re-print an old packer, you see the new address. Not what the address was when it was shipped.

Can you detail exactly what you have, and what you would want it to be?

Like…
Part XYZ-123 is UOM Class WEIGHT, IUM is in LB, and PUM is in YD1.
Where 100,000 YD1 = 1 LB

And the conversion for YD1 needs to be 110,000 YD1 = LB

@ckrusen yes I can do that but first let me point out that we might inventory a part in EA and then sale it in either EA or in LB. with that said, here is an example of one part:

Part: XYZ-123 is UOM Class is Other, IUM is in EA, PUM(we manufacture the part) is in EA, and the SalesUM is in EA as well.
Where 120 LB = 1 EA

And the conversion for LB needs to be 435 LB = 1 EA

The job will always be in EA because that is the way inventory is however if they sale it by LB and say the amount is 870 LB on the order the job will say it needs 8 EA when it should just be 2 EA.

Did you say this is a Part Specific UOM conversion? Or does Class OTHER have a conversion from EA to LB ?

@ckrusen it is a part specific UOM (each part has its own conversion from EA to LB).

We have the same problem and are in need of a solution. You used to be able to unhide some fields in Part Maintenance to override and save a new conversion but they’ve taken that away.

I have noticed in a couple versions that several ‘Conv Factor’ fields showing up in tables around the database, so hopefully they are working on saving the factor with the transaction. This should allow UOM Conversions to be updated.

Mostly the issue revolves around how you value the parts financially. You can’t say that on one week a part is 120 LB to the EA and then another week that same part is 435 LB to the EA… your finance people could end up going to jail (remember Enron?). If this is for multiple part numbers, then the Part Specific UOM designation will save you… but for a single part number you can’t do that.

2 Likes

You are going to have to:

  1. Make a new part specific UOM for Class OTHER, and add it to Part’s UOM list.
  2. Set the Conversion OTHER.LB to inactive.
  3. Update the Reports that use the UOM. Preferably change them to use the Symbol.

What is the exact error message you get when trying to change the conversion factor?

@Jonathan where you specify the UOM Conversion Factor is grayed out so i can’t change it.

So you mean below fields are disabled? I enabled this by marking the Part Specific box on the UOM Class.
I will check if there is any other validation to disable the ConvFactor besides this.

image

image

@Jonathan this is what it looks like for me.

Found it, looks like these fields are disabled when PartUOM.HasBeenUsed is true.
There is also a field UOMConv.HasBeenUsed but that is more general.

You can update this to false at your own risk. As mentioned before the factor is pulled from the setup when a transaction needs it so there is a risk of data corruption.

However there could be a case where there are no new transactions for this part and everything active has been closed so no conversion would be needed. Then it is possible the change would not have any unwanted side effects.

Keep in mind I don’t work much with Parts or UOMs so this is only me guessing.

@Jonathan thanks but with how many different parts that are messed up @ckrusen way seems like it will work but there will be alot of code changing to get it to work. it does however seem like the best solution.

Before yopu dive into the really hard way, make sure there is zero QOH of the part before trying to change that Part Specific UOM conversion. A half-assed test I did showed that those are disabled when there QOH. And they re-enabled when the QOH went to zero.

1 Like