Every public procurement notice published in the European Union carries a set of codes that classify what is being purchased. These are CPV codes — the Common Procurement Vocabulary — and they are the universal language of EU procurement classification. Whether a municipality in Germany is buying office furniture or a French ministry is procuring cybersecurity services, CPV codes provide the standardized taxonomy that makes the opportunity discoverable.
For suppliers, CPV codes are the primary mechanism for finding relevant opportunities. Understanding how they work — their structure, how to search them, which codes apply to your business, and how they interact with other classification systems — is fundamental to an effective B2G strategy.
What are CPV codes?
The Common Procurement Vocabulary (CPV) is a standardized classification system used to describe the subject of public procurement contracts across the European Union. Established by Regulation (EC) No 2195/2002 and updated by Regulation (EC) No 213/2008, CPV provides a single coding system that all EU contracting authorities must use when publishing procurement notices on TED.
CPV serves two main purposes:
- Classification — Every procurement notice must include at least one CPV code describing what is being purchased
- Search — Suppliers use CPV codes to filter and find relevant procurement opportunities on TED and national platforms
The vocabulary consists of a main vocabulary (approximately 9,454 codes) covering goods, services, and works, and a supplementary vocabulary (approximately 900 codes) for additional attributes like material, purpose, or equipment type.
How CPV codes are structured
CPV codes follow a hierarchical structure using an eight-digit numbering system plus a check digit, formatted as XXXXXXXX-X.
The hierarchy
| Level | Digits | Example | Description |
|---|---|---|---|
| Division | First 2 | 72000000-5 | IT services |
| Group | First 3 | 72200000-7 | Software and IT consulting |
| Class | First 4 | 72210000-0 | IT consulting |
| Category | First 5 | 72211000-7 | Programming services of systems and user software |
| Subcategory | Digits 6-8 | 72211100-7 | Industrial-specific software development |
| Check digit | After hyphen | 72211100-7 | Validation digit |
The hierarchy works like a tree. Each level adds specificity:
72000000-5 IT and related services (Division)
├── 72200000-7 Software programming and consultancy (Group)
│ ├── 72210000-0 Programming services of packaged software (Class)
│ │ ├── 72211000-7 Programming services of systems and user software (Category)
│ │ │ ├── 72211100-7 Industrial specific software development
│ │ │ └── 72211200-8 Tailor-made software development
│ │ └── 72212000-4 Programming services of application software
│ └── 72220000-3 Systems and technical consultancy
├── 72300000-8 Data services (Group)
└── 72400000-4 Internet services (Group)
Reading a CPV code
Take 72212000-4 (Programming services of application software):
- 72 — Division: IT and related services
- 722 — Group: Software programming and consultancy
- 7221 — Class: Programming services of packaged software
- 72212 — Category: Programming services of application software
- 72212000 — Full code (zeros indicate no further subcategory)
- -4 — Check digit
The trailing zeros are significant. A code like 72000000-5 refers to the entire IT services division. A code like 72212000-4 is a specific category. When searching for opportunities, broader codes (more trailing zeros) return more results; narrower codes return more precise results.
The 45 divisions
CPV is organized into 45 main divisions. Here are the key ones suppliers encounter most:
Products (Divisions 03-44)
| Division | Code Range | Description |
|---|---|---|
| 09 | 09000000 | Petroleum products, fuel, electricity, energy |
| 15 | 15000000 | Food, beverages, tobacco |
| 22 | 22000000 | Printed matter and related products |
| 30 | 30000000 | Office and computing machinery, equipment |
| 31 | 31000000 | Electrical machinery and equipment |
| 33 | 33000000 | Medical equipment, pharmaceuticals |
| 34 | 34000000 | Transport equipment and auxiliary products |
| 35 | 35000000 | Security and defence equipment |
| 38 | 38000000 | Laboratory and measuring equipment |
| 39 | 39000000 | Furniture, furnishings, household appliances |
| 42 | 42000000 | Industrial machinery |
| 44 | 44000000 | Construction structures and materials |
Services (Divisions 50-98)
| Division | Code Range | Description |
|---|---|---|
| 50 | 50000000 | Repair and maintenance services |
| 55 | 55000000 | Hotel, restaurant, catering services |
| 60 | 60000000 | Transport services (except waste) |
| 64 | 64000000 | Postal and telecommunications services |
| 66 | 66000000 | Financial and insurance services |
| 70 | 70000000 | Real estate services |
| 71 | 71000000 | Architectural, engineering, planning services |
| 72 | 72000000 | IT and related services |
| 73 | 73000000 | Research and development services |
| 75 | 75000000 | Administration and defence services |
| 79 | 79000000 | Business services (legal, marketing, consulting) |
| 80 | 80000000 | Education and training services |
| 85 | 85000000 | Health and social work services |
| 90 | 90000000 | Sewage, refuse, cleaning, environmental services |
| 92 | 92000000 | Recreational, cultural, sporting services |
| 98 | 98000000 | Other community, social, personal services |
Works (Division 45)
| Division | Code Range | Description |
|---|---|---|
| 45 | 45000000 | Construction work |
Division 45 covers all construction works, from demolition to specialized installations. It is consistently one of the largest divisions by contract value.
The supplementary vocabulary
Beyond the main vocabulary, CPV includes a supplementary vocabulary that provides additional attributes using a separate coding scheme. Supplementary codes use the format XXXX-X (four alphanumeric characters plus a check digit) and describe:
- Section I (AA to FF) — Material (e.g., AA: iron, AB: steel, AC: aluminum)
- Section II (GA to JA) — Equipment type (e.g., GA: for adults, GB: for children)
- Section III (KA to PA) — Purpose (e.g., KA: for airports, KB: for railways)
- Section IV (QA to VA) — Other attributes (e.g., QA: for outdoor use, RA: leasing)
Supplementary codes are used alongside main CPV codes. For example, a notice for office furniture (39130000-2) might include supplementary code MA03 (for offices) to clarify the intended environment.
In practice, supplementary codes are used less consistently than main codes. Their value for search and filtering is limited compared to the main vocabulary.
How to search using CPV codes
Strategy 1: Start broad, then narrow
If you sell IT consulting services, start with Division 72 (IT and related services) to understand the full range of opportunity. Then narrow to specific groups and classes as you refine your search:
- 72000000 — All IT services (thousands of notices)
- 72200000 — Software and consulting (hundreds of notices)
- 72220000 — Systems and technical consultancy (dozens of notices)
Strategy 2: Use multiple codes
Your business likely spans multiple CPV codes. An IT services company might track:
- 72210000 — Programming services of packaged software
- 72220000 — Systems and technical consultancy
- 72300000 — Data services
- 48000000 — Software packages and information systems
Setting up alerts on multiple codes ensures you catch opportunities regardless of how the contracting authority chose to classify them.
Strategy 3: Account for classification inconsistency
Different contracting authorities may classify similar requirements under different CPV codes. A cloud infrastructure project might appear under:
- 72000000 — IT and related services
- 72310000 — Data processing services
- 72400000 — Internet services
- 48000000 — Software packages
This inconsistency means that relying on a single CPV code will miss relevant opportunities. Effective searching requires monitoring a cluster of related codes.
Strategy 4: Check both main and additional CPV codes
Procurement notices have a main CPV code and optionally additional CPV codes. A procurement for hospital management software might have:
- Main CPV: 48000000 (Software packages)
- Additional CPV: 72000000 (IT services), 85000000 (Health services)
Searching only on the main code would miss this if you were tracking healthcare or IT services.
Common CPV codes by sector
IT and technology
| Code | Description |
|---|---|
| 72000000-5 | IT services and related services |
| 72200000-7 | Software programming and consultancy |
| 72300000-8 | Data services |
| 72400000-4 | Internet services |
| 48000000-8 | Software packages and information systems |
| 30200000-1 | Computer equipment and supplies |
| 64200000-8 | Telecommunications services |
Construction and engineering
| Code | Description |
|---|---|
| 45000000-7 | Construction work |
| 45200000-9 | Works for complete or part construction |
| 45300000-0 | Building installation work |
| 71000000-8 | Architectural, engineering services |
| 71300000-1 | Hydraulic engineering services |
| 71500000-3 | Construction-related services |
Professional services
| Code | Description |
|---|---|
| 79000000-4 | Business services (legal, marketing, consulting) |
| 79100000-5 | Legal services |
| 79200000-6 | Accounting, auditing services |
| 79400000-8 | Business and management consultancy |
| 79800000-2 | Printing and reproduction services |
| 73000000-2 | Research and development services |
Healthcare
| Code | Description |
|---|---|
| 33000000-0 | Medical equipment, pharmaceuticals |
| 33100000-1 | Medical equipment |
| 33600000-6 | Pharmaceutical products |
| 85000000-9 | Health and social work services |
| 85100000-0 | Health services |
CPV and other classification systems
CPV vs NAICS
The North American Industry Classification System (NAICS) is the standard classification system used in US and Canadian procurement, including on SAM.gov. CPV and NAICS differ fundamentally:
| Aspect | CPV | NAICS |
|---|---|---|
| Region | European Union | US, Canada, Mexico |
| Classifies | What is purchased | Supplier's industry |
| Codes | ~9,454 | 1,057 |
| Structure | 8 digits + check | 6 digits |
| Focus | Product/service/works | Economic activity sector |
| Updated | Irregularly | Every 5 years |
Cross-referencing CPV and NAICS is necessary for companies operating in both EU and US procurement markets. Crosswalk mappings exist but are imperfect because the systems classify different things — CPV classifies the purchase, NAICS classifies the supplier.
CPV vs UNSPSC
The United Nations Standard Products and Services Code (UNSPSC) is another procurement classification system used globally. UNSPSC has a similar hierarchical structure to CPV but uses a different coding scheme and is maintained by the UN Development Programme. Some national procurement systems outside the EU use UNSPSC rather than CPV.
CPV vs national classifications
Some EU member states maintain national classification systems alongside CPV. Germany historically used its own classification for below-threshold procurement, though CPV dominates for above-threshold notices. The eForms standard has further entrenched CPV as the universal EU classification.
When you will encounter CPV codes
Searching for opportunities
CPV codes are the primary search mechanism on TED and most national procurement platforms. When you set up searches or alerts, you define them by CPV code (along with geography, value range, and other filters).
Reading contract notices
Every contract notice includes at least one CPV code. The main code tells you the primary classification of the procurement. Additional codes indicate secondary requirements. Understanding CPV codes helps you quickly assess whether a notice is relevant without reading the full description.
Tender submissions
Some tenders ask suppliers to indicate their CPV codes as part of qualification. Dynamic purchasing systems and framework agreements often organize their categories around CPV divisions or groups.
Market analysis
CPV codes enable systematic analysis of procurement spending by sector. By aggregating contract award values by CPV code, you can map the market landscape — which sectors attract the most spending, how spending is distributed geographically, and how it changes over time.
Practical implications for suppliers
Build your CPV code portfolio
Every B2G company should maintain a list of CPV codes that map to their products and services. This portfolio should include:
- Primary codes — The codes that most precisely describe your core offering
- Adjacent codes — Related codes where your capabilities are relevant
- Broad codes — Division-level codes for market scanning
Review your portfolio periodically as your business evolves and as you learn which codes contracting authorities actually use for your type of work.
Accept imperfect classification
CPV codes were last substantially updated in 2008. The technology, services, and market categories of 2026 do not always map neatly to an 18-year-old classification system. Cloud computing, AI services, cybersecurity, and many other modern categories must be shoehorned into codes designed for an earlier era.
This means you will sometimes find relevant opportunities under unexpected codes. A cybersecurity services procurement might appear under 72000000 (IT services), 79710000 (security services), or 72300000 (data services). Flexibility in your search strategy is essential.
CPV codes are necessary but not sufficient
While CPV codes are the starting point for opportunity discovery, they are a classification tool, not a matching tool. A code like 72000000 covers everything from desktop support to enterprise architecture consulting. The code gets you to the neighborhood; the notice description tells you if you are at the right address.
Common misconceptions
"There is one correct CPV code for every product or service." Many products and services legitimately fall under multiple CPV codes. Classification depends on the contracting authority's perspective — the same cloud platform might be classified as software (48000000), IT services (72000000), or data services (72300000).
"CPV codes are updated regularly." The main CPV vocabulary has not been substantially revised since Regulation (EC) No 213/2008. While there have been discussions about a major update, the current classification is almost two decades old. Modern products and services are mapped to the closest existing codes.
"If a notice does not match my CPV codes, it is not relevant." Contracting authorities sometimes misclassify procurements. A procurement that should be under 72000000 (IT services) might be published under 48000000 (software) or even 79000000 (business services). Supplementing CPV-based searches with keyword searches catches these misclassifications.
"Supplementary CPV codes are widely used." In practice, supplementary vocabulary codes are used inconsistently. Many contracting authorities omit them entirely. They are a useful supplemental tool but should not be relied upon for search or filtering.
How Duke helps
CPV code complexity is one of the most common barriers suppliers face in procurement monitoring. Tracking the right codes, accounting for classification inconsistencies, and staying current as contracting authority practices evolve is a continuous challenge.
Duke addresses this by:
- Intelligent code mapping — Analyzing your business profile and suggesting relevant CPV codes, including adjacent codes you might miss
- Cross-platform normalization — Mapping CPV codes from TED, German platforms, French platforms, and other national sources into a consistent taxonomy
- Fuzzy matching — Surfacing opportunities that match your profile even when the CPV classification is imprecise
- Spending analytics — Visualizing procurement spending by CPV code, geography, and buyer to help you understand market structure
For companies operating across multiple European markets, having a platform that handles CPV complexity — including the inconsistencies, the outdated codes, and the cross-platform variations — removes a significant operational burden from your business development team.
Conclusion
CPV codes are the lingua franca of European procurement classification. They are imperfect — last updated in 2008, inconsistently applied, and sometimes too broad to be useful at face value. But they remain the fundamental building block of procurement search, analysis, and market intelligence across the EU.
For suppliers, mastering CPV codes is not about memorizing a taxonomy. It is about understanding how the system works, building a portfolio of relevant codes, accepting that classification is imprecise, and using CPV as a starting point rather than the complete answer. Companies that combine smart CPV strategies with keyword search, market knowledge, and structured monitoring tools consistently find more opportunities than those who rely on a single code and hope for the best.
Related resources
- How to Use CPV Codes Effectively -- Advanced search strategies and practical tips
- What Are eForms -- How eForms capture CPV codes at lot level
- What Is OJEU -- Where CPV-classified notices are published
- EU Procurement Spending by Sector -- CPV-based spending analysis across Europe
- Why Suppliers Miss 80% of Government Contracts -- How classification gaps cause missed opportunities
Duke maps your capabilities to relevant CPV codes across 30+ European procurement sources. Explore CPV-based sector analysis or see how Duke handles cross-platform classification.