Unit of measure Entity & Data Management

Created by Shyam Sayana, Modified on Tue, 21 Jul at 8:51 AM by Shyam Sayana

TABLE OF CONTENTS


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.

EntityPurpose
Unit of MeasureStores the list of all valid UOM symbols available for the tenant.
Unit of Measure ConversionStores 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:

  1. Load Unit of Measure --> This works like the UOM master
  2. 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:


ProductUOM FromUOM ToConversion Factor
PenBoxEach24
Ricekgg1000
OilGallonLitre3.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


UOMUOM CodeUOM Category
Kilogram
kgWeight
GramgWeight
EacheaWeight
PACKpkPacking
BOXboxPacking


Result:

All five UOMs are available under Admin → General Settings → Unit of Measure.


Step 2 – Load Conversion Data


ProductUOM FromUOM ToConversion FactorResult
Ricekgg1000Loaded
Penboxea24Loaded
Penpk
ea10Rejected (PACK not defined if only pack exists;
 UOM symbols must match exactly.)
RicekggABCRejected
Ricekgg-1000Rejected


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

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article