UNSPSC
UNSPSC (United Nations Standard Products and Services Code) is a global classification system that assigns every product and service an eight-digit code across four levels: Segment, Family, Class, and Commodity. It is maintained by GS1 US and used mainly by procurement teams for spend analysis, catalog search, and supplier reporting. It classifies what a thing is. The code carries no attributes, and unlike a GTIN or MPN it does not identify a specific item.
What the eight digits encode
UNSPSC stands for United Nations Standard Products and Services Code. It is a hierarchical classification maintained by GS1 US, and it covers services as well as physical goods.
Every code is eight digits, read two at a time. Each pair narrows the meaning of the pair before it:
| Level | Digits | What it captures | Where a 3/8-16 Grade 8 hex bolt lands |
|---|---|---|---|
| Segment | 2 (31______) | Broad industry grouping | Manufacturing Components and Supplies |
| Family | 4 (3116____) | Product group inside the segment | Hardware |
| Class | 6 (311615__) | Product type | Bolts |
| Commodity | 8 (31161501) | The specific commodity node | Hex head bolts |
An optional two-digit Business Function Identifier can be appended to distinguish, say, rental from retail sale. Most supplier catalogs never use it. If a buyer wants it, they will tell you.
Two things the code does not do. It does not identify a specific item the way a GTIN or MPN does; every competitor's equivalent bolt shares your code. And it carries no attributes. The code says "bolt." It says nothing about 3/8-16, Grade 8, or zinc plating.
UNSPSC vs. your internal taxonomy
This is the question most people actually arrive with. The two are not competing schemes, and you need both.
| Your internal taxonomy | UNSPSC | |
|---|---|---|
| Who controls it | You | GS1 US, via versioned releases |
| Built for | Site navigation, merchandising, pricing and rebate rules | Spend analysis, procurement reporting, catalog search |
| Depth | Deep where you make money, shallow elsewhere | Uniform four levels everywhere |
| Attributes | Usually drives the attribute set for a category | None. Classification only |
| Fit to your catalog | Exact, by construction | Approximate; some SKUs have no clean home |
| When it changes | When merchandising decides | On the standard's release cycle |
Your taxonomy exists so a buyer can find a product and so your team can run the business. UNSPSC exists so a procurement director can ask "what did we spend on fasteners last quarter" across forty suppliers who all name things differently.
UNSPSC works as an output field, mapped from your internal category and living alongside it. Reorganizing a live catalog around UNSPSC fights the hierarchy: it is too flat where you sell deep and too detailed where you sell nothing.
Where buyers actually demand it
UNSPSC rarely shows up because someone wanted better data hygiene. It shows up because a customer's system will not accept the catalog without it.
- Punchout and hosted catalogs. Loading a catalog into a buyer's procurement platform typically means a required UNSPSC column per line, at a version they specify.
- RFQ and bid responses. Line items come pre-coded, or you are asked to code them back.
- Supplier onboarding. New-vendor forms ask which UNSPSC segments and families you supply.
- Spend cubes. The buyer's analytics roll up on your codes. Wrong codes distort their category reporting, and they will notice.
- Public-sector and regulated bids. Often non-negotiable, down to the commodity level.
The pattern: it arrives as a deadline, attached to a specific account, covering a specific slice of SKUs. That is why it usually gets done in a spreadsheet under pressure and never gets maintained.
How it compares to other classification standards
UNSPSC is one of several schemes a distributor gets asked for, and they are not interchangeable.
| Standard | Primary purpose | Carries attributes? | Typically asked for by |
|---|---|---|---|
| UNSPSC | Procurement spend classification | No | Corporate and public-sector buyers, punchout platforms |
| eCl@ss | Classification plus technical properties | Yes | European industrial and manufacturing buyers |
| ETIM | Technical classification for trade sectors | Yes | Electrical, HVAC, plumbing wholesale |
| GPC | Retail product grouping within GS1 | Brick attributes | GDSN trading partners |
| HS code | Customs and tariff | No | Customs, freight, trade compliance |
In practice, UNSPSC answers "which spend bucket." ETIM and eCl@ss answer "what are this product's technical properties." HS answers "what duty applies." A UL listed 600V wire connector sold across three regions can plausibly need all four, and none of them derives from another.
Why the mapping is harder than a lookup
The naive approach is a lookup from your internal category to a UNSPSC code. That holds for most of a catalog and breaks in two familiar places: where one internal category spans several commodity nodes, and where your SKUs sit at a depth the standard does not recognize.
What separates a mapping that survives from one that gets redone:
- The right level varies by category. Where every SKU in an internal category maps to one code, the category is the unit of decision. Where it splits, the decision belongs at the SKU, driven by the description, MPN pattern, or spec sheet.
- A stored crosswalk is what makes the next version cheap. A versioned mapping from internal category to UNSPSC node turns a standard update into a diff of the handful of nodes that moved, rather than a re-classification of a catalog of any real size.
- The ambiguous SKUs are a known set. Kits, private-label items, and service lines are where auto-classification quietly guesses wrong, and where a human review beats a buyer's audit finding.
- Evidence is what settles disputes. When a customer challenges a code, "the spec sheet says X" ends the conversation. "The model picked it" does not.
A PIM stores the unspsc_code field; deciding what goes in it is enrichment work.
Frequently asked questions
Is UNSPSC the same as an HS code?
No. An HS code is a customs and tariff classification used to calculate duty when goods cross a border. UNSPSC is a commercial classification used inside purchasing systems for spend analysis and catalog search. A single hex bolt SKU needs both, and they are assigned by different logic. Nothing in your HS assignment tells you the right UNSPSC commodity, or the reverse.
Do I have to map every SKU to the eight-digit commodity level?
Not always, but assume yes unless the buyer says otherwise. Some procurement teams accept a class-level code padded with zeros, such as 311615 written as 31161500. Others reject anything that is not a real commodity node. Ask before you build the mapping. Re-mapping a live catalog because you guessed at the required depth is expensive and entirely avoidable.
Who assigns the UNSPSC code, me or my customer?
You do, as the supplier. The buyer specifies which version they run and how deep they want the code, then their system trusts what you send. That is why the mapping is your problem: bad codes land in their spend cube, get flagged in a catalog audit, and come back to you as a correction request weeks after the catalog went live.
Does my PIM handle UNSPSC?
A PIM stores the code. It will hold a UNSPSC field, version it, and pass it downstream with the rest of the record. What it does not do is decide which of several plausible commodity codes a specific SKU belongs to. It also will not tell you when a code you set three releases ago has been retitled or retired underneath you.
What version of UNSPSC should I map to?
The one your buyer runs, which means you have to ask. UNSPSC ships as versioned releases, and large procurement platforms often sit several versions behind the current one. Two customers can want the same hex bolt coded differently because they upgraded at different times. Store the version alongside the code so you know which release a given mapping was made against.