Product Codes We Normalize

98% ASME and EN Piping Products. Carbon, Alloy, Stainless Steel plus Nickel Alloys and Non-Ferrous.
All Dimensions.

Product Categories Covered by Normalizer

The normalization engine covers pipes, valves, fittings, flanges, gaskets, and bolts across ASME and EN standards. For each MTO line item, it generates a normalized description (human-readable) and an 18-digit unique product code for ERP systems, derived via SHA-256 hashing. Full traceability to manufacturing and dimensional standards.

Filters

Category
All Grades
ASTM and EN material specifications, from carbon steel to exotic alloys
All Sizes
1/8" to 80", NPS and DN, every schedule and wall thickness
3M+ Unique Codes
Each product gets a normalized description and a unique ERP-ready code
Coming next
Structural Steel Joints Pipe Supports Your Requirements?

How codes get normalized

Supplier A (USA) PIPE 6IN SCH40 A106 GR.B SMLS
Supplier B (Italy) TUBO S/S 6" SCH40 A106 GR.B
Supplier C (Germany) NAHTLOS 168.3x7.11 A106B

Any format, any language

Normalizer
Unique Product Code
Descriptive PIPE-SMLS-A106-GRB-6-SCH40-ASMEB36.10
For ERP (SHA-256) PIP-7F3A9E2B1C4D8

Why SHA-256 hashing?

The descriptive code is human-readable but too long for most ERP systems. We hash it with SHA-256 and truncate to 15 hex characters, prefixed by a 3-letter product identifier. This guarantees absolute uniqueness: same product always gets the same code, different products never collide.

Code anatomy
PIP
Product
prefix
-
.
7F3A9E2B1C4D8AB
15-char SHA-256 hash
of full description

Common Questions

Common questions about product normalization and how our codes work.

What are the benefits of product normalization?
When every product has a single, unambiguous code, you eliminate duplicates in your ERP material master, compare supplier quotes on a true like-for-like basis, and catch specification errors before they reach the purchase order. Procurement teams spend less time clarifying descriptions with engineering, suppliers receive clean RFQs with no room for interpretation, and historical price data becomes reliable because the same product is always tracked under the same code.
Are all grades and sizes within a specification covered?
Yes. The table above shows macro-level ASTM/EN specifications, but the engine normalizes down to individual grades, classes, schedules, ratings, and sizes. For example, ASTM A182 covers dozens of grades (F304, F316, F321, F11, F22, F91 and more), each with multiple size and class combinations. All of these are handled as distinct normalized product codes.
What if a product isn't listed in the table above?
The table shows the product families currently covered by the normalization engine. We are actively expanding coverage to structural steel, joints, and pipe supports. If you need a category not listed here, get in touch and we will evaluate adding it to the roadmap.
Does the normalization engine detect errors?
Yes. When engineering uploads MTO descriptions that are inaccurate, reference non-existent products, or have incomplete specifications, the engine flags them automatically. Instead of silently passing bad data downstream, it proposes a default value for review so the procurement team can correct it before issuing the RFQ. This way, MTOs always leave complete and consistent, reducing clarification rounds with suppliers and avoiding costly ordering mistakes.
How does the engine handle messy supplier descriptions?
That's the core of what the engine does. A supplier might write "6in WN RF flge A105", another "FLANGE WN 150# 6" RAISED FACE SA-105". Both map to the same normalized code. The engine parses free-text descriptions against a rules database covering all standard abbreviations, formats, and conventions used across piping procurement. No AI guessing, just deterministic rule-based parsing.
Why do you use SHA-256 to generate the ERP Product Code?
A fully normalized product description can be very long, too long for ERP material code fields. SAP's Material Master (MM), for example, allows a maximum of 18 characters for material numbers in classic configurations. We need a way to compress a full description into a short, fixed-length code while guaranteeing that every unique product gets its own unique code. That's where SHA-256 comes in. It's a cryptographic hash function, the same algorithm used in digital signatures, blockchain, and certificate verification. It takes any input and produces a fixed-length fingerprint that is deterministic: the same product always generates the same code, every time, on any machine. We use a 3-letter product prefix (e.g. PIP, FLG, VLV) followed by 15 hex characters from the hash. Those 15 digits alone give 1615 = 1.15 quintillion possible combinations, more than enough to cover every product variant in the global piping industry with a unique code. As for collisions (two different products generating the same code): with the birthday problem formula, at 3 million product codes the probability is roughly 1 in 256,000. At 10 million codes, about 1 in 23,000. In practice, it is virtually impossible for two different products to end up with the same code.
Why didn't you use MESC (Shell)?
MESC (Material Equipment Standards and Code), developed by Shell, covers only a fraction of the product variants we handle. MESC is also a closed, proprietary system with limited access and licensing restrictions. Our goal is different: we want to offer the industry an open codification standard that any EPC, supplier, or software vendor can adopt freely. Piping procurement today is a tower of Babel where every company uses its own codes, abbreviations, and formats. Instead of relying on MESC Shell's restricted catalog, we built an open, deterministic system that covers all piping product families and that everyone in the industry can speak.

Want to see normalization in action?

Book a 30-min demo and test it on your own MTO data.