TABLE OF CONTENTS
- UOM Entities
- Data Load Sequence
- Unit of Measure Entity
- UOM Conversion Entity
- Product-Specific Conversions
- Conversion Behavior
- Validation Rules
- Example Data Load
- Best Practices
Overview
The Unit of Measure (UOM) feature enables the application to convert quantities between different units across planning, replenishment, reporting, and solver processes.
The application supports tenant-specific UOM configurations, allowing each tenant to define the units they use and the valid conversion factors for each product.
For example:
- Liquids may use Litre, Millilitre, and Gallon.
- Solid products may use Each, Pack, and Box.
- Weight-based products may use Kilogram and Gram.
The application performs conversions only when a valid conversion factor exists in the loaded master data.
UOM Entities
The UOM framework consists of two entities.
| Entity | Purpose |
|---|---|
| Unit of Measure | Stores the list of all valid UOM symbols available for the tenant. |
| Unit of Measure Conversion | Stores product-specific conversion factors between UOMs. |
Both entities are required for unit conversion.
Data Load Sequence
The entities must be loaded in the following order:
- Load Unit of Measure --> This works like the UOM master
- Load Unit of Measure Conversion
The conversion entity depends on the UOM master.
If conversion data is loaded before the UOM master, any records referencing unknown UOM symbols are rejected.
Unit of Measure Entity
The Unit of Measure entity acts as the master list of all valid UOM symbols available within the tenant.
Examples:
- kg
- g
- litre
- gallon
- each
- pack
- box
Every successfully loaded symbol becomes available for use throughout the application.
All successfully loaded UOM symbols are automatically stored in the Database.
UOM Conversion Entity
The Unit of Measure Conversion entity stores conversion factors between units for individual products.
Each record consists of:
- Product
- UOM From
- UOM To
- Conversion Factor
Example:
| Product | UOM From | UOM To | Conversion Factor |
|---|---|---|---|
| Pen | Box | Each | 24 |
| Rice | kg | g | 1000 |
| Oil | Gallon | Litre | 3.785 |
Product-Specific Conversions
Different products may support different units.
For example:
Rice
- kg
- g
Pen
- each
- pack
- box
Cooking Oil
- litre
- gallon
The application converts quantities only between units configured for that product.
Conversion Behavior
The application relies entirely on the conversion factors provided in the Unit of Measure Conversion entity.
The application does not:
- infer missing conversions
- derive reverse conversions
- calculate transitive conversions
- generate conversion records automatically
If a conversion is missing, the application cannot perform the conversion.
Example:
Available:
- Box → Each
Missing:
- Each → Box
Result:
The application cannot convert Each → Box unless that conversion is explicitly loaded.
Validation Rules
Valid UOM Symbols
Every UOM From and UOM To value must already exist in the Unit of Measure entity.
If either symbol is missing, the conversion record is rejected.
Example:
UOM Master:
- kg
- g
- each
- pack
Conversion Record:
BOX → each
Result:
Rejected because BOX does not exist in the UOM master.
Conversion Factor Validation
The conversion factor must be a positive numeric value.
Invalid values include:
- Text
- Blank values
- Negative numbers
When validation fails, the record is rejected.
Error Message
Invalid conversion factor. Please provide a numeric value.
Referential Integrity
The application validates every conversion record against the Unit of Measure master.
If either UOM is not defined, the record is rejected.
Error Message
UOM symbol '<value>' is not defined in the Unit of Measure entity. Load it first, then re-run this conversion load.
The application never creates missing UOM symbols from the conversion file.
Typographical Errors
The application does not validate whether a UOM symbol is semantically correct.
If the Unit of Measure entity contains a typo, it is treated as a new Custom UOM.
Example:
Source file:
- kj
Intended value:
- kg
Result:
The application creates a new Custom UOM named kj.
Administrators should therefore review newly loaded Custom UOMs after each data load
Example Data Load
Step 1 – Load Unit of Measure
| UOM | UOM Code | UOM Category |
|---|---|---|
| Kilogram | kg | Weight |
| Gram | g | Weight |
| Each | ea | Weight |
| PACK | pk | Packing |
| BOX | box | Packing |
Result:
All five UOMs are available under Admin → General Settings → Unit of Measure.
Step 2 – Load Conversion Data
| Product | UOM From | UOM To | Conversion Factor | Result |
|---|---|---|---|---|
| Rice | kg | g | 1000 | Loaded |
| Pen | box | ea | 24 | Loaded |
| Pen | pk | ea | 10 | Rejected (PACK not defined if only pack exists;UOM symbols must match exactly.) |
| Rice | kg | g | ABC | Rejected |
| Rice | kg | g | -1000 | Rejected |
Best Practices
- Always load the Unit of Measure entity before loading Unit of Measure Conversion.
- Verify that all required UOM symbols exist in the UOM master before loading conversion data.
- Ensure UOM symbols are consistent and free from typographical errors.
- Provide all required conversion relationships explicitly; the application does not derive missing conversions.
- Review newly created Custom UOMs in Admin → General Settings → Unit of Measure after each master data load to identify accidental or incorrect symbols.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article