The Normalization Engine
3M+ product codes. 98% precision. 100% deterministic.
Why It Matters
No matter how a client writes an RFQ, the Engine reads it, matches it to your catalog, and prepares the quote.
| Tag No. | Pipe Type | Material Grade | OD | Thk | Length (m) |
|---|---|---|---|---|---|
| L-101 | Seamless | A106 Gr.B | 168.3 | 7.11 | 500 |
| L-102 | Welded | A312 TP316L | 60.3 | 3.91 | 120 |
| Line Item | Normalized Code | Normalized Description | Qty | Unit Price | Total Price |
|---|---|---|---|---|---|
| 1 | PIP-7F3A9E2B | PIPE SMLS A106 GR.B 6" SCH40 | 500m | $12.40/m | $6,200 |
| 2 | PIP-4B2C8D1A | PIPE WLD A312 TP316L 2" SCH40S | 120m | $28.60/m | $3,432 |
0
Products
Pipes, fittings, flanges, valves, gaskets, bolts
0
Languages
English, Italian, German, Arabic, Chinese, and more
0
Deterministic
Rule-based. No AI hallucinations. Industry rules behind.
AI Can't Normalize Reliably
LLMs are probabilistic: same input, different output. You'd spend a fortune in API tokens and still not trust the result. Try it: feed an RFQ and your inventory to AI and request a match. Good luck.
- Hallucinations on edge cases
- Different output each run
- "Why?" → "I don't know"
- Can't pass audit
- Traceable: see exactly which rule matched
- Reproducible: same input = same output
- "Why?" → exact rule reference
- Audit-ready documentation
No black boxes. No probabilistic guessing. No unexplainable results.
3 Million Products. Normalized.
The largest piping classification database in the industry.
Engine Backed by Piping Deep-Knowledge
The engine catches technical errors before they become expensive problems.
Weld-neck flanges require bore schedule. Missing = wrong bore diameter = weld defect.
DN 150 x 6.3mm on ASME B36.10 pipe. Standards don't mix. Product doesn't exist.
SCH 5S, 10S, 40S are stainless steel schedules. Carbon steel uses SCH 5, 10, 40.
A105 fittings with A312 pipe? A105 is carbon steel forging, A312 is stainless. Mismatch.
6" SCH 30 doesn't exist in B36.10. Someone invented a schedule that no mill produces.
Class 150 flange mated to PN 40 valve. Different drilling patterns. Won't bolt up.
Under the Hood
Built in Python. Backed by PostgreSQL. 6 years of development time.
0
Lines of code
0
Test coverage
REST API
JSON in, JSON out
<200ms
Per line item
~500,000 Piping Codes. 50+ Years of History.
MESC Started Codes Standardization.
We Finished it.
Shell's MESC pioneered piping product standardization with ~500,000 piping codes. We took that vision further: an open system with 3M+ codes, covering every standard, every material, every size. No licensing restrictions.
Common Questions
Technical questions about the engine.
What does the engine actually do?
Why not use AI or machine learning for normalization?
How does the engine handle messy descriptions?
What happens when the engine can't identify a line item?
How does the engine handle size conversions (metric vs. imperial)?
What is the unique product code?
Built by the Authors of blog.projectmaterials.com
World's #1 Piping Knowledge Base
Companies visiting blog.projectmaterials.com, detected by analytics.