Sep 16, 2014

Unit of Measure: The key decision in ERP Implementation

Note: This post is on the importance of UOM in an ERP Implementation. See a related post from my blog HERE

Ravi was looking gloomy.

Ravi is my friend.. He works as an ERP consultant in an IT Company. Somestimes he comes to me seeking advice and guidance.

"Why are you looking sad?", I asked.

"I am having some problem with configuring Unit of Measure for my implementation.", replied Ravi

"What exactly is the problem?", I asked.

"The main problem is that users are making too many mistakes in entering the Unit of Measure. Most of my time is spent on rectifying UOM errors. These errors are causing havoc with my profitability figures and my peace of mind. Sometimes it feels as if I am spending my entire life resolving issues related to UOM.", responded a distraught Ravi, a trifle melodramatically, I thought.

"Tell me about it", I said.

"Before I start telling about my problems, I want to know what is the difference between UOM Classes, Base UOM, Primary UOM (Stocking UOM) and Transaction UOM (Selling UOM). Also tell me something about UOM Conversions?", Ravi asked

Before answering the question, I drew the following diagram on the flip chart.

"The three main concepts in UOM are, UOM Classes, Units of Measure and UOM Conversions", I started.

"UOM Classes refer to a collection of UOMs with similar characteristics. For example 'Weight' is a UOM Class containing Kilogram, Pound, Tonne, Gram etc as the Units of Measures under the 'Weight' class. The classes that are normally used, like Weight, Number, Volume etc are predefined in any ERP. You can define your own UOM Class to handle Organization Specific Requirements."

"A UOM Class cannot exist without at least one unit of measure. The unit of measure attached to a UOM Class is called 'Base UOM'. Normally this is the lowest Unit in that specific UOM Class which can be used to convert different UOMs in the same class. For example, for the 'Weight' class, 'Kilogram' is normally used as the Base UOM."

"Primary UOM is also known as Stocking UOM. This is the UOM by which you track the stock of inventory in the system. For example, if you receive in KG and Sell in Tonnes, your Primary UOM should be KG." 

"The problem is that many consultants confuse between Base UOM and Primary UOM. They think, for example, that if you have KG as a base UOM for the 'Weight' class, the Primary UOM should always be KG. What happens here? You will be stocking items in Tonnes or Quintals and still you maintain your Primary UOM as KG. This causes two issues. One is that the quantity in stock shows abnormally high number and causes confusion. The other issue is that the Organization spends huge amount of time and resources while doing transactions just to handle this UOM Confusion"

"Perhaps this is one of the issues that your organization is facing", I told Ravi.

Ravi had the odd expression of someone who has seen light. He nodded.

"The third UOM is Transaction UOM, also known as Selling UOM. This is the UOM used while creating sales orders. For example, if you always sell in Tonnes, you will have your selling UOM as Tonnes. Most of the time, Primary UOM (Stocking UOM) is the same as Selling UOM. But you have to be clear of the relation. The area where this has the maximum impact is in Pricing. If you always sell the products in Tonnes, but your Selling UOM is KG, you will have to enter price in KG and system will calculate the Price in actual Selling UOM which is Tonnes. System will do all the required conversions and maintain its integrity, no doubt. But it will waste precious system resources in doing this conversion. Transactions may become slow and counter intuitive. Perhaps, this is another challenge that you are facing in your Organization", I said.

Ravi agreed that this was another problem that his Organization is facing. 

"Final part of this conceptual discussion is relating to UOM Conversions. Here you have three types of Conversions. First is the Standard Conversion. Standard conversion is always within the same UOM Class. We all know that One Kilogram is Thousand Grams and One Tonne is Thousand Kilograms. Standard Conversions are applicable to all items."

"Conversion from one UOM to another UOM within the same UOM Class is called 'Intra-Class Conversion'. For example, in the UOM Class, 'Number', One Gross (144) is converted as 12 Dozens. This is an example of Intra-Class Conversion. A conversion between Pound and Tonne (One Tonne = 2204.62 Pounds) is another example of Intra-Class Conversion in the UOM Class 'Weight'."

 "The third category of Conversion is the 'Inter Class Conversion'. This is always Item Specific. The most famous Conversion of this type is exemplified by the formula Mass = Volume * Density. We are using the conversion factor 'density' to convert from 'Volume' UOM Class to 'Mass' UOM Class."

"As we can see, the configuration of UOM in ERP is very flexible. As if this flexibility were not enough, you can also define your own UOM Classes and Units of Measures and use them in Transactions and Conversions. For example, nothing prevents a Logistics company to have a UOM called 'Pallet' for their ERP Implementation. The challenge is more when you use your own UOM. For example, what is the UOM Class of 'Pallet'? Is it Number? When a logistics company says that 'We moved 1000 Pallets last month', there is an implicit understanding that they are 'Full Pallets'. The concept of 'Fullness' is not captured if you create 'Pallet' under the UOM Class 'Number'. So the question will be since a Pallet can hold (lets say) 100 KG of Material, shouldn't the UOM of Pallet be KG?. I don't have answer yet, I am only sensitizing you the challenges when implementing UOM".

Lets summarize our understanding.

1. UOM Class is a group of UOMs. Each Class has a Base UOM
2. Primary UOM is the Stocking UOM
3. Consultants tend to confuse between Base UOM and Primary UOM and use them interchangeably. This can cause lot of confusion in the Organization
4. You can also have Selling UOM which is different from Primary UOM.
5. A sub-optimal configuration of UOM can impact system performance and transaction speeds.
6. Most ERPs allow you to create UOM Classes and UOM specific to their Organization and Business.

"UOM sounds simple from Outside. Badly configured UOM is like a festering wound. It will not stop you from performing your normal duties, but it will impact your optimum performance", I concluded.


Bhupinder Sohal said...

What will the complexity & calculations if we include secondary UOM in discussion?

Ramaswamy V Krishnamurti said...

Hello Bhupinder
Secondary UOM will be both simple and complex. It will be simple since your flexibility is improved. It will be complex since it is adding one more UOM. Normally stocking UOM is the primary UOM and selling UOM is the secondary UOM.

B.Ozkir said...

Hi Ramaswamy,
I produce flour in kg and pack it 1kg 2kg 5kg etc.

Whats the best primary UOM for end item?

Each or Kg?

V K Ramaswamy said...

I think, Primary UOM should be KG in this case and there should be item specific conversion for between Each and KG. I am telling this based on what I had done for another customer. You can mail me at for details. Pl. note that in your case situation may be different.

George Joseph said...

Finding the time and actual effort to create a superb article like this is great thing. I’ll learn many new stuff right here! Good luck for the next post buddy.

I will bookmark your site and check again here often. I’m quite sure :)