CPV Codes Explained
CPV (Common Procurement Vocabulary) codes are the official classification system used across all EU and EEA public procurement. Established by EUR-Lex Regulation (EC) No 2195/2002 and maintained by the European Commission, the vocabulary assigns a unique numeric code to every type of goods, services, and works that a public authority can purchase. Every tender notice published on TED (Tenders Electronic Daily) carries at least one CPV code, and understanding this system is essential for any company pursuing European public contracts.
Key takeaway
A CPV code is an 8-digit number (plus a check digit) from the Common Procurement Vocabulary that classifies the subject of an EU public contract. Contracting authorities assign CPV codes to every notice published on TED, and suppliers use them to filter thousands of opportunities down to their specific domain—regardless of the language the notice was published in.
| Division | Description | Example code | Example description |
|---|---|---|---|
| 03 | Agricultural and farming products | 03111000-2 | Seeds |
| 33 | Medical equipment and pharmaceuticals | 33141000-0 | Non-chemical medical consumables |
| 34 | Transport equipment | 34110000-1 | Passenger cars |
| 35 | Security and defence equipment | 35113400-3 | Protective clothing |
| 44 | Construction materials | 44111000-1 | Building materials |
| 45 | Construction work | 45210000-2 | Building construction |
| 48 | Software packages | 48000000-8 | Software packages and information systems |
| 50 | Repair and maintenance | 50312000-5 | Maintenance of computer equipment |
| 71 | Architectural and engineering services | 71320000-7 | Engineering design services |
| 72 | IT services and consulting | 72212517-6 | IT software development services |
| 79 | Business services | 79411000-8 | General management consultancy |
| 85 | Health and social work | 85110000-3 | Hospital and related services |
What are CPV codes and why do they exist?
The Common Procurement Vocabulary was created to solve a fundamental problem in cross-border procurement: how do you help a Finnish software company find a relevant tender published in Portuguese by a Lisbon municipality? Language barriers made keyword searching unreliable, so the European Commission developed a single numeric taxonomy that works identically across all 24 official EU languages.
CPV was first introduced in 1996, substantially revised by Regulation (EC) No 2195/2002, and most recently updated in 2008 by Regulation (EC) No 213/2008. The vocabulary is published and maintained on the SIMAP (Information System for European Public Procurement) portal. Under EU Procurement Directives 2014/24/EU (public sector) and 2014/25/EU (utilities), contracting authorities are legally required to assign at least one CPV code to every contract notice they publish on TED.
Beyond TED, many national e-procurement platforms—including Contracts Finder (UK), BOAMP (France), DTVP (Germany), and TenderNed (Netherlands)—also use CPV codes, making them the single most important classification system for European public procurement.
9,454
Unique codes in the main CPV vocabulary
24
Official EU languages supported by CPV
The 8-digit CPV structure explained
Every CPV code consists of eight digits followed by a hyphen and a single check digit (e.g., 72212517-6). The eight main digits form a hierarchical tree that moves from broad category to narrow specification:
• Digits 1–2 — Division: the broadest level, with values from 03 to 98. For example, division 45 covers construction work, division 72 covers IT services, and division 33 covers medical equipment and pharmaceuticals.
• Digit 3 — Group: subdivides the division. Within division 72 (IT services), group 722 identifies software-related services.
• Digit 4 — Class: further narrows the group. Class 7221 covers software consultancy services.
• Digit 5 — Category: adds another layer of specificity. Category 72212 is software development services.
• Digits 6–8 — Subcategories: provide the most granular detail. Code 72212517 specifically refers to IT software development services for workflow management.
• Check digit (after the hyphen) — A single digit calculated from the preceding eight for data integrity validation.
When searching for tenders, you can use partial codes to search at broader levels. Entering just '72' will return all IT-related notices, while '72212517' targets only workflow management software development. This flexibility lets you cast a wide net or focus on a precise niche—matching the approach described in our manual vs automated monitoring comparison.
Main vocabulary vs supplementary vocabulary
The CPV system actually comprises two distinct vocabularies:
Main Vocabulary — The primary classification containing 9,454 codes organised into 45 divisions. Every contract notice must include at least one main vocabulary code that describes the core subject of the procurement. Contracting authorities typically list one primary code and may add additional main vocabulary codes if the contract covers multiple domains (e.g., a building project that includes both construction work under division 45 and architectural services under division 71).
Supplementary Vocabulary — An additional layer of approximately 800 codes that describe the nature or destination of the goods/services rather than the goods/services themselves. Supplementary codes use a letter-digit format (e.g., MA02 for automotive use, IA01 for medical use). They are optional and appear far less frequently in practice, but they can add valuable context—for instance, distinguishing software developed for healthcare from software developed for defence.
For most procurement searches, focusing on the main vocabulary is sufficient. The supplementary vocabulary is primarily useful when you need to distinguish between identical products destined for different sectors, or when you are building highly specialised notification profiles in tools like Jorpex.
Ready to see it in action?
Set up in minutes. 14-day free trial.
Common CPV divisions by sector
Understanding the top-level divisions helps you quickly identify where your business fits within the CPV hierarchy. Below are some of the most frequently used divisions across European e-procurement.
Construction companies should start with division 45 (Construction work) but also monitor division 71 (Architectural, construction, engineering, and inspection services) and division 44 (Construction structures and materials). For detailed guidance, see our CPV codes for construction guide.
IT consulting firms will find their primary opportunities under division 72 (IT services and consulting), with related work under division 48 (Software packages and information systems) and division 64 (Telecommunications services). Our CPV for IT services guide provides a complete walkthrough.
Healthcare and pharmaceutical suppliers should focus on division 33 (Medical equipment, pharmaceuticals, and personal care products) and division 85 (Health and social work services). Defence contractors work primarily with division 35 (Security, fire-fighting, police, and defence equipment).
Knowing your core divisions also helps when configuring notification profiles. You can combine CPV division-level filters with keyword matching and NUTS codes for geographic targeting to build a precise, low-noise opportunity feed.
How to find the right CPV code for your business
Selecting the correct CPV codes is critical for effective tender monitoring. Here is a practical step-by-step approach:
1. Use the SIMAP search tool — The SIMAP portal provides an official CPV code lookup with keyword search across all 24 EU languages. Enter a description of your product or service in your preferred language and browse the results.
2. Browse the hierarchy — Start from your 2-digit division and drill down through each level. Reading the official descriptions at each level helps you distinguish between similar codes. For example, division 72 (IT services) and division 48 (Software packages) overlap conceptually, but they serve different procurement contexts.
3. Analyse past TED notices — Search TED for contracts similar to what you supply and note which CPV codes the contracting authorities used. This reveals how buyers actually classify your type of work, which may differ from your own assumptions.
4. List primary and secondary codes — Most businesses map to one primary CPV code and two to five secondary codes. A cybersecurity firm might use 72212730 (Security software development) as the primary code, with 72220000 (Systems and technical consultancy) and 72246000 (Systems consultancy) as secondary codes.
5. Review periodically — While CPV is updated less frequently than NAICS codes, the way contracting authorities apply codes evolves over time. Review your code selections annually by checking recent notices on TED to ensure your filters still capture your target opportunities.
Getting your codes right from the start ensures that automated monitoring tools deliver relevant results rather than noise.
45
Divisions in the main CPV vocabulary
~800
Supplementary vocabulary codes available
How CPV codes are used on TED
When a contracting authority publishes a notice on TED, the CPV code appears in the structured data of the notice and directly influences how the opportunity is indexed, searched, and matched.
Every notice type—whether a prior information notice, a contract notice, or a contract award—includes a CPV field. The primary CPV code determines which category the notice falls into on TED's search interface. Additional CPV codes (both main and supplementary) are listed when the contract spans multiple domains.
TED's search engine supports CPV-based filtering at any level of the hierarchy. Searching by the first two digits (division level) returns all notices in that sector, while a full 8-digit code returns only exact matches. For procurement above the EU thresholds, publication on TED is mandatory, meaning CPV codes effectively catalogue the entire above-threshold procurement market across 31 countries (27 EU members plus Norway, Iceland, Liechtenstein, and Switzerland).
Jorpex ingests and indexes every CPV code from TED notices, enabling you to combine CPV-based filtering with AI-powered keyword matching, geographic targeting via NUTS codes, and contract value thresholds—all from a single notification profile.
CPV vs NAICS vs UNSPSC: classification systems compared
Companies pursuing public contracts in multiple countries will encounter several classification systems. Understanding how they differ helps you search the right portals effectively.
CPV vs NAICS — NAICS codes (North American Industry Classification System) are used in US, Canadian, and Mexican procurement, primarily on SAM.gov. NAICS classifies the vendor's industry using 2-to-6-digit codes, whereas CPV classifies the subject of the contract using 8-digit codes. There is no official crosswalk between the two systems. A company classified under NAICS 541512 (Computer Systems Design Services) might bid on CPV 72210000 (Programming services of packaged software products) in Europe—the systems describe the same work from different angles.
CPV vs UNSPSC — UNSPSC (United Nations Standard Products and Services Code) is a global 8-digit classification maintained by GS1 US under a UN mandate. While UNSPSC has broader geographic reach, CPV remains the legally mandated system for EU procurement. Some international development banks and UN agencies use UNSPSC, so contractors in the aid and development sector may need familiarity with both.
CPV vs eCl@ss and GPC — These classification systems are used in specific industry contexts (industrial components and retail/consumer goods respectively) and rarely appear in public procurement. For government contracting purposes, CPV (Europe) and NAICS (North America) are the two systems that matter most.
Jorpex normalises across both CPV and NAICS taxonomies, so you can monitor TED and SAM.gov opportunities from a single dashboard without manually translating codes between systems. See our manual vs automated monitoring comparison for how this saves procurement teams significant time each week.
Filtering tenders by CPV code with Jorpex
Manually browsing TED and filtering by CPV code each day is possible, but with over 700,000 notices published annually, it is easy to miss relevant opportunities or waste time on irrelevant ones. Automated monitoring transforms CPV codes from a search filter into a strategic advantage.
Jorpex lets you include specific CPV codes—at any level of the hierarchy—as criteria in your notification profiles. When a new notice matching your codes appears on TED or any of our 50+ e-procurement sources, you receive an alert via Slack, email, or Microsoft Teams. You can combine CPV filtering with plain-language keywords, NUTS codes for geographic targeting, contract value ranges, and disqualifying terms to build a feed that surfaces only actionable opportunities.
For IT consulting firms, this might mean monitoring CPV codes 72000000 through 72999999 (all IT services) combined with keywords like 'cloud migration' or 'cybersecurity audit'. For construction companies, monitoring division 45 with NUTS codes for specific regions ensures you see relevant local building contracts without being overwhelmed by opportunities across all of Europe.
Because Jorpex uses AI-powered matching alongside structured CPV filters, you also catch opportunities where the contracting authority assigned an unusual or overly broad CPV code but described exactly your type of work in the notice text—a common occurrence that pure CPV filtering alone would miss.