Skip to main content

ERP Product UOM (Unit of Measure)

Integration of products from an ERP require an understanding of product uom and other key attributes.

Marc McCall avatar
Written by Marc McCall
Updated over a week ago

Optimizing ERP and E-Commerce: Configuring UOMs and Populating Sales Fields for Simple and Complex Items

In the realm of Enterprise Resource Planning (ERP) and e-commerce, ensuring accurate inventory management, seamless sales processes, and a clear customer experience hinges on properly configuring Units of Measure (UOM) and related fields. For dealers handling both simple UOM type items and more complex products like wire, pipe, and nails, this involves setting up purchasing UOM, selling UOM, and lowest UOM in the ERP, then populating e-commerce fields such as Minimum Order, Maximum Order, Multiples Of, Pack, Pack UOM, and Pack Includes.

Pack Includes

The "pack includes" string, which describes the contents of a pack, is generated on the website using logic that leverages data from the ERP, converting UOM abbreviations to human-readable formats for clarity. This article explores how to align these systems for both simple and complex items, using practical examples and formulas to ensure operational efficiency and customer satisfaction.

Understanding Key UOM Concepts

  • Purchasing UOM (Vendor UOM): The unit in which a dealer buys from suppliers (e.g., "RL" for a roll of 500 feet of wire or "EA" for a simple item like a hammer).

  • Selling UOM (Sales UOM): The unit in which the product is sold to customers (e.g., "RL" for a roll of wire or "EA" for a hammer).

  • Lowest UOM (Base Unit): The smallest trackable unit (e.g., "FT" for wire, "EA" for a hammer).

  • Pack (Pack Quantity): The quantity of lowest UOM units in one selling UOM (e.g., 500 FT per RL, or 1 for a simple item like a hammer).

  • Pack Includes: A descriptive string of the pack’s contents, generated on the website (e.g., "includes 500 feet").

Additional fields like Minimum Order, Maximum Order, and Multiples Of define sales constraints, ensuring orders align with business rules while offering flexibility to customers.

Handling Simple UOM Type Items

Simple UOM type items are products where the purchasing UOM, selling UOM, and lowest UOM are typically the same, requiring minimal configuration for packs or multiples of. These items are often sold as individual units without complex bundling, making their ERP setup straightforward.

  • Example: Hammer:

    • Purchasing UOM (Vendor UOM): EA.

    • Selling UOM (Sales UOM): EA.

    • Lowest UOM (Base Unit): EA.

    • Since the UOMs are all "EA," there’s no need for a "pack includes" description on the website. The ERP tracks each hammer as a single unit, and the e-commerce fields reflect this simplicity.

For simple UOM type items, the focus is on setting basic order rules (e.g., minimum and maximum quantities) rather than complex pack configurations. This contrasts with products like wire or pipe, where UOM conversions and pack descriptions are critical.

The E-Commerce Fields to Populate

The e-commerce system requires the following fields to be populated, pulling data from the ERP:

  • Minimum Order (Min Order Qty): Smallest allowable order quantity.

  • Maximum Order (Max Order Qty): Largest allowable order quantity.

  • Multiples Of (Order Increment): Incremental order quantity.

  • Pack (Pack Quantity): Number of lowest UOM units in a selling UOM.

  • Pack UOM (Pack Unit): The unit of the pack (e.g., "RL").

  • Pack Includes: Description of pack contents, generated on the website (e.g., "includes 500 feet").

For simple UOM type items, fields like Pack and Pack Includes may be set to default values (e.g., 1 and blank), as there’s no need for a detailed pack description.

Configuring the ERP for Accurate Data

To populate these fields, the ERP must be set up with:

  1. Item Master Data:

    • Purchasing UOM (Vendor UOM): Defines how the product is bought.

    • Selling UOM (Sales UOM): Defines how the product is sold.

    • Lowest UOM (Base Unit): The smallest unit for tracking.

    • Pack (Pack Quantity): The number of lowest UOM units in one selling UOM.

  2. Order Rules:

    • Minimum Order Quantity (MOQ, Min Order Qty): Smallest allowable order.

    • Maximum Order Quantity (Max Order Qty): Largest allowable order.

    • Multiples Of (Order Increment, Order Multiple, Increment Qty): Incremental order quantity, which can be determined as follows:

      • Explicit Field: Use the ERP’s "Multiples Of (Order Increment)" field if available (e.g., set to 2 packs for nails).

      • Infer from MOQ: If no explicit field exists, use the MOQ as the multiples of value, especially if it reflects the smallest incremental unit (e.g., MOQ of 2 packs for nails implies multiples of 2 packs).

      • Pack Size and Selling UOM: For items sold in packs or bundles, set multiples of to 1 in the selling UOM (e.g., 1 RL for wire) to align with packaging.

      • Supplier or Inventory Constraints: Check fields like "Vendor Order Multiple" or "Case Quantity" to ensure alignment with supplier or warehouse requirements.

      • Default to 1: For simple items or unconstrained products, default to 1 in the selling UOM (e.g., 1 EA for hammers).

The ERP provides the raw data (e.g., pack size, selling UOM, lowest UOM, multiples of) to the middleware, which processes this data to generate the "pack includes" string before passing it to the e-commerce platform for display.

UOM Conversion Table: Abbreviations to Human-Readable Format

To ensure the "pack includes" string is customer-friendly, the website converts UOM abbreviations (e.g., "FT") to human-readable formats (e.g., "feet"). Below is a table of common UOM conversions:

UOM Abbreviation

Human-Readable Format

EA

each

RL

roll

FT

feet

IN

inches

YD

yards

M

meters

CM

centimeters

LB

pounds

KG

kilograms

OZ

ounces

BX

box

PK

pack

CS

case

PL

pallet

BT

bottle

CT

carton

DZ

dozen

PR

pair

SET

set

GAL

gallons

L

liters

This table is used by the website to map UOM abbreviations to their display-friendly equivalents when generating the "pack includes" string.

Generating "Pack Includes" in the Middleware

The "pack includes" string is generated by the middleware integration software using data from the ERP. The middleware uses the following approach:

  • Formula: Pack Includes = Selling UOM Quantity ÷ Lowest UOM (e.g., 500 FT ÷ 1 FT = 500 FT per RL).

  • Logic (implemented in the middleware):

if selling_uom <> lowest_uom then
if pack > 1 then
if lowest_uom <> "EA" then
lowest_uom_label = lookup(lowest_uom, uom_conversion_table) // e.g., "FT" → "feet"
pack_includes = "includes " + pack + " " + lowest_uom_label
else
pack_includes = "includes " + pack
end if
else if pack = 1 then
lowest_uom_label = lookup(lowest_uom, uom_conversion_table) // e.g., "FT" → "feet"
pack_includes = "includes " + pack + " " + lowest_uom_label
else
pack_includes = "" // Invalid pack size
end if
else
pack_includes = "" // Selling UOM = Lowest UOM

  • The `lookup` function uses the UOM conversion table to map the lowest UOM abbreviation (e.g., "FT") to its human-readable format (e.g., "feet") for the generated string..

This logic ensures the middleware generates a clear, customer-friendly description of the pack contents for complex items (e.g., "includes 500 feet" instead of "includes 500 FT"), which is then passed to the website for display. Simple UOM type items typically result in an empty `pack_includes` string.

Populating Fields with Examples

Let’s apply this setup to a simple UOM type item (hammer) and three complex products: wire, pipe, and nails, determining the "multiples of" value based on ERP fields.

Example 1: Hammer (Simple UOM Type Item)

  • Product Details:

    • Purchasing UOM (Vendor UOM): EA.

    • Selling UOM (Sales UOM): EA.

    • Lowest UOM (Base Unit): EA.

    • Pricing: $5 per hammer.

  • ERP Configuration:

    • Pack (Pack Quantity): 1 (one hammer = 1 EA).

    • Minimum Order Quantity (MOQ, Min Order Qty): 1 EA.

    • Maximum Order Quantity (Max Order Qty): 200 EA.

    • Multiples Of (Order Increment): No explicit field; MOQ is 1 EA, and there are no pack or supplier constraints, so default to 1 EA.

  • E-Commerce Fields:

    • Minimum Order (Min Order Qty): 1 (1 EA).

    • Maximum Order (Max Order Qty): 200 (200 EA).

    • Multiples Of (Order Increment): 1 (increments of 1 EA).

    • Pack (Pack Quantity): 1 (1 EA per unit).

    • Pack UOM (Pack Unit): EA.

    • Pack Includes (Generated by Middleware):

      • Formula: 1 EA ÷ 1 EA = 1 EA.

      • Logic: Selling UOM ("EA") = Lowest UOM ("EA"), so pack_includes = "".

Example 2: Wire (Complex Item)

  • Product Details:

    • Purchasing UOM (Vendor UOM): RL of 500 FT.

    • Selling UOM (Sales UOM): RL of 500 FT.

    • Lowest UOM (Base Unit): FT.

    • Pricing UOM: $0.50 per FT ($250 per RL).

  • ERP Configuration:

    • Pack (Pack Quantity): 500 (one RL = 500 FT).

    • Minimum Order Quantity (MOQ, Min Order Qty): 1 RL.

    • Maximum Order Quantity (Max Order Qty): 50 RL.

    • Multiples Of (Order Increment): No explicit field; selling UOM is "RL," and the product is packaged in whole rolls, so default to 1 RL to ensure orders are in whole rolls.

  • E-Commerce Fields:

    • Minimum Order (Min Order Qty): 1 (1 RL).

    • Maximum Order (Max Order Qty): 50 (50 RL).

    • Multiples Of (Order Increment): 1 (increments of 1 RL).

    • Pack (Pack Quantity): 500 (500 FT per RL).

    • Pack UOM (Pack Unit): RL.

    • Pack Includes (Generated by Middleware):

      • Formula: 500 FT ÷ 1 FT = 500 FT.

      • Logic: Selling UOM ("RL") ≠ Lowest UOM ("FT"), pack > 1, lowest_uom_label = "feet" (from table), so pack_includes = "includes 500 feet".

Example 3: Pipe (Complex Item)

  • Product Details:

    • Purchasing UOM (Vendor UOM): Bundle of ten 20-FT lengths (200 FT total).

    • Selling UOM (Sales UOM): 10-FT or 20-FT lengths.

    • Lowest UOM (Base Unit): FT.

    • Pricing UOM: $2 per FT ($20 for 10 FT, $40 for 20 FT).

  • ERP Configuration:

    • Pack (Pack Quantity): 20 (for 20-FT length) or 10 (for 10-FT length).

    • Minimum Order Quantity (MOQ, Min Order Qty): 1 length.

    • Maximum Order Quantity (Max Order Qty): 100 lengths.

    • Multiples Of (Order Increment): No explicit field; selling UOM is "length," and there are no supplier constraints, so default to 1 length.

  • E-Commerce Fields (20-FT length):

    • Minimum Order (Min Order Qty): 1 (1 length).

    • Maximum Order (Max Order Qty): 100 (100 lengths).

    • Multiples Of (Order Increment): 1 (increments of 1 length).

    • Pack (Pack Quantity): 20 (20 FT per length).

    • Pack UOM (Pack Unit): Length.

    • Pack Includes (Generated by Middleware):

      • Formula: 20 FT ÷ 1 FT = 20 FT.

      • Logic: Selling UOM ("length") ≠ Lowest UOM ("FT"), pack > 1, lowest_uom_label = "feet" (from table), so pack_includes = "includes 20 feet".

  • E-Commerce Fields (10-FT length):

    • Same as above, except:

    • Pack (Pack Quantity): 10 (10 FT per length).

    • Pack Includes (Generated by Middleware):

      • Formula: 10 FT ÷ 1 FT = 10 FT.

      • Logic: pack_includes = "includes 10 feet".

Example 4: Nails (Complex Item)

  • Product Details:

    • Purchasing UOM (Vendor UOM): Box of 1,000 nails.

    • Selling UOM (Sales UOM): Pack of 100 nails.

    • Lowest UOM (Base Unit): EA.

    • Pricing UOM: $0.10 per nail ($10 per pack).

  • ERP Configuration:

    • Pack (Pack Quantity): 100 (one pack = 100 nails).

    • Minimum Order Quantity (MOQ, Min Order Qty): 2 packs.

    • Maximum Order Quantity (Max Order Qty): 500 packs.

    • Multiples Of (Order Increment): Explicit field set to 2 packs (based on warehouse efficiency or supplier packaging).

  • E-Commerce Fields:

    • Minimum Order (Min Order Qty): 2 (2 packs).

    • Maximum Order (Max Order Qty): 500 (500 packs).

    • Multiples Of (Order Increment): 2 (increments of 2 packs).

    • Pack (Pack Quantity): 100 (100 nails per pack).

    • Pack UOM (Pack Unit): Pack.

    • Pack Includes (Generated by Middleware):

      • Formula: 100 EA ÷ 1 EA = 100 EA.

      • Logic: Selling UOM ("pack") ≠ Lowest UOM ("EA"), pack > 1, lowest_uom = "EA", so pack_includes = "includes 100".

Testing the Configuration

To ensure accuracy, test the setup with sample transactions:

  • Hammer (Simple Item):

    • Order 3 hammers: Succeeds (multiples of 1), total = 3 EA, price = $15.

    • Inventory: Deducts 3 EA; website displays no "pack includes" (as expected).

  • Wire (Complex Item):

    • Order 3 RL: Succeeds (multiples of 1), total = 1,500 FT, price = $750.

    • Inventory: Deducts 1,500 FT; website displays "includes 500 feet".

  • Pipe (20-FT length, Complex Item):

    • Order 5 lengths: Succeeds, total = 100 FT, price = $200.

    • Inventory: Deducts 100 FT; website displays "includes 20 feet".

  • Nails (Complex Item):

    • Order 3 packs: Fails (multiples of 2), suggests 4 packs.

    • Order 4 packs: Succeeds, total = 400 EA, price = $40.

    • Inventory: Deducts 400 EA; website displays "includes 100".

Ensuring ERP and E-Commerce Integration

The ERP exports the necessary fields to the middleware via API or data sync. The middleware processes the data, generates the "pack includes" string, and passes the following fields to the e-commerce platform:

  • Map ERP "pack (pack quantity)" to e-commerce "Pack".

  • Map ERP "selling UOM (sales UOM)" to e-commerce "Pack UOM".

  • Export ERP "selling UOM (sales UOM)", "lowest UOM (base unit)", "pack (pack quantity)", and "multiples of (order increment)" to the middleware, which generates the "pack includes" string and passes it to the website along with the other fields. The website then displays the pre-generated string (for complex items; simple items may leave this blank).

Conclusion

By configuring the ERP with fields like purchasing UOM (vendor UOM), selling UOM (sales UOM), lowest UOM (base unit), pack (pack quantity), and order rules—including determining the multiples of value from fields like "multiples of (order increment)" or inferred from MOQ and pack size—dealers can provide the e-commerce platform with the data needed to populate fields for both simple UOM type items (like hammers) and complex products (like wire, pipe, and nails). The "pack includes" string, generated by the middleware using the formula **Pack Includes = Selling UOM Quantity ÷ Lowest UOM**, conditional logic, and a UOM conversion table, ensures clarity for customers of complex items by providing human-readable units (e.g., "feet" instead of "FT") for the website to display, while simple items benefit from streamlined configurations. Testing confirms the setup works across scenarios, aligning inventory, sales, and customer experience seamlessly in today’s competitive marketplace.

Did this answer your question?