Glossary

What is an ECLASS IRDI? Format, Structure, and Validation

An ECLASS IRDI is a globally unique identifier following the pattern 0173-1#XX-AAA999#999. The prefix 0173-1 identifies ECLASS as the issuing organization. The two-digit type code (01 for classes, 02 for properties, 05 for units, 07 for values) tells you what kind of object it references. The three letters and three digits form the item code. The final three digits are the version number.

What IRDI stands for

IRDI stands for International Registration Data Identifier, defined in ISO 29002. It is a standard way to uniquely identify objects in a classification system. ECLASS uses IRDIs to identify every class, property, unit, and enumeration value in its hierarchy.

When you see a code like 0173-1#02-AAB325#008 in a BMEcat file, that is an ECLASS property IRDI. It points to a specific property definition (in this case, "rated voltage") at a specific version.

If you are building or validating ECLASS-classified product data in BMEcat, run your file through the ECLASS BMEcat validator to confirm every IRDI is well-formed and matches the ECLASS 16.0 reference data.

The IRDI format

Every ECLASS IRDI follows the same structure: 0173-1#XX-AAANNN#VVV

Breaking it down:

SegmentValueMeaning
0173-1FixedECLASS organization identifier
#SeparatorDelimits the organization from the type
XX01, 02, 05, 07Object type code
-SeparatorDelimits type from item
AAAThree uppercase lettersItem code (alpha part)
NNNThree digitsItem code (numeric part)
#SeparatorDelimits item from version
VVVThree digitsVersion number

The type codes are:

  • 01 = Class (product category)
  • 02 = Property (technical attribute)
  • 05 = Unit of measure
  • 07 = Value (enumeration entry)

Real examples

Here are actual ECLASS IRDIs from electrical product classification:

IRDITypeMeaning
0173-1#01-ACH237#013ClassLow-voltage fuse
0173-1#02-AAB325#008PropertyRated voltage
0173-1#02-AAB326#008PropertyRated current
0173-1#05-AAA480#003UnitVolt (V)
0173-1#07-AAA226#001Value"yes" (boolean true)

Each IRDI is version-specific. Property 0173-1#02-AAB325#008 is version 008 of rated voltage. When ECLASS releases a new version and the property definition changes, the version number increments. This matters for interoperability: if your trading partner expects ECLASS 16.0, the version numbers in your IRDIs should match that release.

How IRDIs appear in BMEcat XML

In a BMEcat 2005 file with ECLASS classification, IRDIs appear in the PRODUCT_FEATURES block:

<PRODUCT_FEATURES>
  <REFERENCE_FEATURE_SYSTEM_NAME>ECLASS-16.0</REFERENCE_FEATURE_SYSTEM_NAME>
  <REFERENCE_FEATURE_GROUP_ID>0173-1#01-ACH237#013</REFERENCE_FEATURE_GROUP_ID>
  <FEATURE>
    <FNAME>0173-1#02-AAB325#008</FNAME>
    <FVALUE>230</FVALUE>
    <FUNIT>0173-1#05-AAA480#003</FUNIT>
  </FEATURE>
  <FEATURE>
    <FNAME>0173-1#02-AAB326#008</FNAME>
    <FVALUE>16</FVALUE>
    <FUNIT>0173-1#05-AAA128#003</FUNIT>
  </FEATURE>
</PRODUCT_FEATURES>

REFERENCE_FEATURE_GROUP_ID contains the class IRDI (type 01). This tells the receiver what type of product it is.

FNAME contains the property IRDI (type 02). This identifies which technical attribute the feature represents.

FUNIT contains the unit IRDI (type 05). This identifies the unit of measure for numeric values.

FVALUE contains either a literal value (a number, a string) or a value IRDI (type 07) for enumeration properties.

Common IRDI validation errors

When you validate your ECLASS BMEcat file, these are the most frequent IRDI-related errors:

Malformed IRDI format. The IRDI does not match the 0173-1#XX-AAA999#999 pattern. Missing separators, wrong number of characters, or lowercase letters.

Error: FNAME "0173-102-AAB325#008" has invalid ECLASS property IRDI format
Fix: Missing # separator. Should be "0173-1#02-AAB325#008"

IRDI not found in reference. The IRDI is well-formed but does not exist in the ECLASS 16.0 reference data. This happens when using IRDIs from a different ECLASS version or when the IRDI was mistyped.

Warning: FNAME "0173-1#02-ZZZ999#001" not found in ECLASS 16.0 properties reference
Fix: Look up the correct property IRDI for ECLASS 16.0

Wrong type code. Using a class IRDI (01) where a property IRDI (02) is expected, or a property IRDI in the unit field.

Error: FUNIT "0173-1#02-AAB325#008" has invalid ECLASS unit IRDI format
Fix: The unit field should use type 05, not type 02

Unit mismatch. The unit IRDI does not match the expected unit for the property.

Warning: FUNIT "0173-1#05-AAA128#003" for property "Rated voltage" does not match expected unit "0173-1#05-AAA480#003"
Fix: Use the unit IRDI specified in the ECLASS property definition

IRDI vs. ETIM codes

ETIM uses simple codes like EC001049, EF000007, and EV000052. ECLASS uses IRDIs that are longer but carry more information. Each IRDI embeds the issuing organization, the object type, the item code, and the version.

The trade-off: ECLASS IRDIs are self-describing and globally unique across all classification systems. ETIM codes are shorter and simpler to work with. Both serve the same purpose of uniquely identifying classification objects. For a deeper comparison, see ECLASS vs ETIM for distributors.

Building an IRDI validation check

If you are writing custom validation code, here are the regex patterns for each IRDI type:

TypePattern
Class^0173-1#01-[A-Z]{3}\d{3}#\d{3}$
Property^0173-1#02-[A-Z]{3}\d{3}#\d{3}$
Unit^0173-1#05-[A-Z]{3}\d{3}#\d{3}$
Value^0173-1#07-[A-Z]{3}\d{3}#\d{3}$

Format validation is the first check. The second check is verifying that the IRDI exists in the reference data for the ECLASS version declared in REFERENCE_FEATURE_SYSTEM_NAME. A well-formed IRDI that does not map to a real object is still an error.

The ECLASS BMEcat validator performs both checks: format validation against the regex patterns, and existence validation against the full ECLASS 16.0 reference (48,283 classes, 570 properties).

Related tools and guides

ECLASSIRDIproduct classificationBMEcatISO 29002