Glossary

UNECE Rec 20 Unit Codes Explained: The Complete Guide for Product Data

UN/CEFACT Recommendation 20 is the international standard for unit of measure codes in electronic data exchange. It defines over 2,100 three-character codes like C62 (piece), MTR (metre), KGM (kilogram), and MMT (millimetre). These codes appear in BMEcat ORDER_UNIT and CONTENT_UNIT fields, EDI messages, and electronic invoices.

What Rec 20 is

Recommendation 20 (Rec 20) is published by the United Nations Centre for Trade Facilitation and Electronic Business (UN/CEFACT). It provides a standardized list of codes for units of measure used in international trade. When a BMEcat file says <ORDER_UNIT>MTR</ORDER_UNIT>, it means the product is ordered by the metre, using the Rec 20 code for metre.

The standard covers length, weight, volume, area, electrical units, time, temperature, and dozens of other measurement categories. For electrical and industrial product data, you encounter a specific subset repeatedly.

To check whether a unit code is valid and find the correct alternative for common mistakes, validate your unit codes against Rec 20.

Most common codes for electrical products

These are the Rec 20 codes you will encounter most often in electrical and industrial product catalogs:

Quantity and packaging

CodeNameUse in product data
C62One (dimensionless unit)Individual pieces. The "each" equivalent.
SETSetProduct sold as a set or kit
PRPairItems sold in pairs (e.g., connectors)
BXBoxBox packaging level
PKPackageGeneral packaging unit
RLReelCable sold on reels
CTCartonCarton packaging level

Length

CodeNameUse in product data
MTRMetreStandard length unit
MMTMillimetreDimensions, conductor size
CMTCentimetreDimensions
KMTKilometreCable drums, long runs
FOTFootImperial length (US market)
INHInchImperial dimensions

Weight and mass

CodeNameUse in product data
KGMKilogramProduct weight, shipping weight
GRMGramSmall component weight
TNETonne (metric ton)Bulk materials
LBRPoundImperial weight (US market)

Electrical

CodeNameUse in product data
AMPAmpereCurrent rating
VLTVoltVoltage rating
WTTWattPower rating
KWTKilowattHigher power ratings
OHMOhmResistance
HTZHertzFrequency
LUMLumenLuminous flux
LUXLuxIlluminance
CDLCandelaLuminous intensity

Area and volume

CodeNameUse in product data
MTKSquare metreSurface coverage
MMKSquare millimetreConductor cross-section
LTRLitreVolume
MTQCubic metreVolume (large)

How Rec 20 codes work in BMEcat

In a BMEcat file, Rec 20 codes appear in several fields:

ORDER_UNIT defines the unit used for ordering. If a customer orders cable by the metre, ORDER_UNIT is MTR. If they order circuit breakers individually, ORDER_UNIT is C62.

CONTENT_UNIT defines the unit of the content inside the order unit. A box of 100 cable ties has ORDER_UNIT BX and CONTENT_UNIT C62 with NO_CU_PER_OU of 100.

PRICE_UNIT defines the unit for which the price applies. A cable priced per metre has PRICE_UNIT MTR.

FUNIT in ETIM and ECLASS features uses Rec 20 codes (or ECLASS unit IRDIs for ECLASS). A rated current feature has FUNIT AMP.

<PRODUCT_ORDER_DETAILS>
  <ORDER_UNIT>MTR</ORDER_UNIT>
  <CONTENT_UNIT>MTR</CONTENT_UNIT>
  <NO_CU_PER_OU>1</NO_CU_PER_OU>
  <PRICE_QUANTITY>1</PRICE_QUANTITY>
  <QUANTITY_MIN>1</QUANTITY_MIN>
  <QUANTITY_INTERVAL>1</QUANTITY_INTERVAL>
</PRODUCT_ORDER_DETAILS>

The piece problem: C62 vs EA vs PCE

The most common unit code confusion in product data is how to encode "each" or "piece". Three codes compete for this role, and only one is correct in most contexts.

C62 is the Rec 20 code for "one" (a dimensionless unit). This is the standard code for individual items. Use this for products sold as individual pieces: a single circuit breaker, one switch, one luminaire.

EA is commonly used in North American EDI but is not a standard Rec 20 code in many contexts. Some systems accept it, others reject it. If your trading partner's system rejects EA, switch to C62.

PCE stands for "piece" and appears in some older systems. It is in the Rec 20 list but C62 is preferred for interoperability.

The safe choice: use C62. It is universally recognized in BMEcat, ETIM, and EDI systems. For a deeper dive into this and other common mistakes, see common Rec 20 mistakes in BMEcat and EDI.

After choosing your codes, validate your unit codes against Rec 20 to confirm they are recognized and correctly formatted.

Codes that look right but are wrong

Some unit abbreviations that seem logical are not valid Rec 20 codes:

You might typeWhy it's wrongCorrect code
MNot a Rec 20 codeMTR (metre)
MMNot a Rec 20 codeMMT (millimetre)
KGNot a Rec 20 codeKGM (kilogram)
GNot a Rec 20 codeGRM (gram)
PCNot standardC62 (one)
EANot universally acceptedC62 (one)
PCSNot a Rec 20 codeC62 (one)
M2Not a Rec 20 codeMTK (square metre)
M3Not a Rec 20 codeMTQ (cubic metre)
LNot a Rec 20 codeLTR (litre)

These errors are easy to make because the wrong codes are human-readable abbreviations that make sense to people. But automated systems need the exact Rec 20 three-character code. A BMEcat file with KG instead of KGM will fail validation.

Finding the right code

When you need a unit code that is not in the common list above, search the full Rec 20 code list. The list contains over 2,100 codes covering highly specific units like:

  • H87 for "piece" (yes, another piece code, used in some EN 16931 e-invoicing contexts)
  • 4L for megabyte
  • SEC for second
  • MIN for minute
  • HUR for hour
  • DAY for day
  • MON for month
  • ANN for year

The unit code validator includes the full Rec 20 code list with search. Enter a code to check if it is valid, or search by description to find the right code.

Rec 20 in electronic invoicing

Rec 20 codes are not just for product catalogs. They appear in electronic invoices (EN 16931, Peppol BIS, ZUGFeRD/Factur-X) and EDI messages (EDIFACT, ANSI X12). Using the wrong unit code in an invoice can delay payment processing.

The European e-invoicing standard EN 16931 references Rec 20 directly. If your product data uses the correct Rec 20 codes in BMEcat, those same codes carry over to invoices without translation.

This is one of the practical benefits of getting unit codes right at the catalog level: the data flows downstream into orders, invoices, and logistics without manual correction at each stage.

Related tools and guides

UNECE Rec 20unit codesBMEcatEDIproduct data