How To

How to Use CPV Codes for Procurement Search

How to Use CPV Codes for Procurement Search

When you search for government contracts on TED or any EU procurement platform, you are searching through hundreds of thousands of notices published across 27 member states in 24 official languages. The CPV classification system provides the standardized vocabulary that cuts through this complexity. Keyword search alone is unreliable — the same service can be described in dozens of different ways across languages and procurement traditions. The OECD recommends using structured classification systems as the primary search mechanism.

CPV codes solve this problem. The Common Procurement Vocabulary is a standardized classification system that tags every public procurement notice with numeric codes describing what is being purchased. A CPV code works the same whether the notice is written in German, French, Polish, or Greek. It is the universal language of European procurement classification.

Yet many companies use CPV codes badly or not at all. They rely on keyword searches, miss relevant opportunities, get buried in noise, and wonder why their hit rate is so low. This guide teaches you how CPV codes actually work, how to build effective search strategies around them, and how to avoid the pitfalls that trip up even experienced procurement professionals.

Understanding the CPV Structure

CPV codes are 8-digit numbers organized in a hierarchical tree. Each level of the hierarchy narrows the scope.

The hierarchy

XX000000-Y  Division    (45 divisions)
XXX00000-Y  Group       (~300 groups)
XXXX0000-Y  Class       (~1,300 classes)
XXXXX000-Y  Category    (~3,000 categories)
XXXXXXX0-Y  Sub-category (most detailed level)

The final digit after the hyphen is a check digit — it is calculated automatically and is not meaningful for classification purposes.

A concrete example

Let us trace the hierarchy for software development services:

Level Code Description
Division 72000000-5 IT services: consulting, software development, Internet and support
Group 72200000-7 Software programming and consultancy services
Class 72210000-0 Programming services of packaged software products
Category 72212000-4 Programming services of application software
Sub-category 72212100-0 Industry-specific software development services

What each level means for searching

  • Division (2 digits): Your broadest net. Searching CPV 72 captures every IT-related procurement. Useful for market sizing and broad monitoring, but generates high volume.
  • Group (3 digits): A focused sector slice. CPV 722 covers software and consulting specifically. Good for setting up primary alerts.
  • Class (4 digits): Your working level. CPV 7221 is software programming services. This is where most day-to-day searching happens.
  • Category (5 digits): Specific match. CPV 72212 is application software programming. Use this for your most targeted alerts.
  • Sub-category (6-8 digits): Very narrow. Useful only when you operate in a very specific niche.

Building Your CPV Code Map

Before you start searching, you need to build your company's CPV code map — the set of codes that correspond to your products and services.

Step 1: Identify your primary divisions

Start by listing your company's main offerings and finding the corresponding CPV divisions. Common mappings:

Business Area Primary Division
IT services and software 72
Telecommunications 64
Construction 45
Consulting and management 79
Medical equipment 33
Vehicles and transport 34
Office supplies 30
Security services 79710000
Cleaning services 90910000
Training and education 80

Step 2: Drill down to your classes

Within your primary divisions, identify the specific classes that match your capabilities. This is where precision matters.

If you are a cybersecurity company, your map might include:

  • 72212100 — Industry-specific software development
  • 72220000 — Systems and technical consultancy services
  • 72260000 — Software-related services
  • 72310000 — Data-processing services
  • 72500000 — Computer-related services
  • 79417000 — Safety consultancy services (for physical security assessments)

Step 3: Identify adjacent codes

CPV classification does not always match how your market thinks about itself. A cloud infrastructure company might need to search:

  • 72400000 — Internet services (primary match)
  • 72310000 — Data-processing services (hosting, processing)
  • 72710000 — Local area network services (if offering network services)
  • 48600000 — Database and operating software packages (if offering software)

This adjacency mapping is critical. Missing one relevant CPV code means missing all opportunities tagged with it.

Step 4: Check with historical data

The best way to validate your CPV code map is to look at past contracts you would have wanted to bid on and check which CPV codes they used. If you use a platform like Duke, you can search by buyer or keyword and note the CPV codes on matching notices. This often reveals codes you would not have identified from the CPV tree alone.

Search Strategies That Work

Strategy 1: Tiered alerting

Set up alerts at multiple CPV levels:

  • Tier 1 (weekly, division level): Your primary CPV divisions across all target countries. High volume, used for market sensing and identifying new sub-sectors.
  • Tier 2 (daily, class level): Your core CPV classes in your primary markets (Germany, France, etc.). Medium volume, your main opportunity feed.
  • Tier 3 (immediate, category level): Your most specific CPV categories in your highest-priority markets. Low volume, highest relevance — every match deserves immediate attention.

Strategy 2: CPV + Geography combination

CPV codes combined with NUTS region codes create highly targeted searches. Instead of searching CPV 72 across all of Europe (thousands of results), search CPV 72210 in DE (Germany) and FR (France) for a manageable, relevant feed.

Strategy 3: Main CPV + Supplementary CPV

Contract notices have a main CPV code and supplementary codes. A procurement for a hospital information system might have:

  • Main CPV: 48814000-7 (Medical information systems)
  • Supplementary: 72260000-5 (Software-related services), 72263000-6 (Software implementation)

Searching only by the main CPV code would show this notice. But if your company does software implementation (72263000), searching only that code as a main CPV would miss this notice. When possible, search across both main and supplementary CPV fields.

Strategy 4: Negative filtering

Some CPV codes in your division are definitely not relevant. If you are an IT services company but never do hardware repair, exclude 50300000 (Repair and maintenance of computer machinery). This reduces noise without risking missed opportunities.

Common Pitfalls

Pitfall 1: Searching too narrowly

This is the most common mistake. A company selling project management software searches only CPV 48331000-7 (Project management software package) and misses:

  • 72212000-4 (Programming services of application software) — buyers who describe it as custom development
  • 72268000-1 (Software supply services) — buyers who frame it as a supply
  • 48445000-9 (Customer Relationship Management software) — if the software also handles CRM

Narrow searches have high precision but low recall. You see exactly what you are looking for, but you miss everything described differently.

Pitfall 2: Relying on one code

Buyers do not always choose the most accurate CPV code. A procurement officer in a municipality may tag an IT procurement with a general code (72000000-5) rather than the specific sub-category. If you only search at the sub-category level, you miss these notices.

Pitfall 3: Ignoring supplementary codes

A notice for "construction of a hospital" will have a main CPV code in division 45 (construction). But it may include supplementary codes for medical equipment (33), IT systems (72), or security systems (35). If you sell medical equipment, this notice is relevant to you — but only if you search or filter across supplementary codes.

Pitfall 4: Not accounting for CPV code changes

The CPV vocabulary was last substantially revised in 2008 (Regulation 213/2008). While it has not changed since, some national platforms use supplementary national classification systems alongside CPV. When searching on national platforms, be aware that the CPV code attached may be the buyer's best approximation rather than a precise classification.

Pitfall 5: Assuming cross-border consistency

Different procurement cultures use CPV codes differently. German contracting authorities tend to be precise and use detailed sub-category codes. French contracting authorities may use broader codes. When monitoring multiple markets, adjust your search breadth by country.

Cross-Mapping CPV to NAICS

For companies operating in both European and North American markets, understanding the relationship between CPV and NAICS (North American Industry Classification System) codes is important.

Key mappings

There is no official CPV-NAICS crosswalk, but the primary mappings are well established:

CPV Division Description NAICS Approximate
72 IT services 5415, 5112
45 Construction 236, 237, 238
33 Medical equipment 3391, 4234
79 Business services 5416, 5611
34 Vehicles 3361, 3362
30 Office equipment 3341, 4234
50 Repair/maintenance 8111, 8112
64 Telecommunications 5173, 5174
80 Education/training 6116, 6117

Using crosswalks strategically

If you currently bid on US government contracts using NAICS codes and want to expand into EU procurement above the EU threshold, start by:

  1. Identifying your NAICS codes from your SAM.gov registrations
  2. Finding the approximate CPV equivalents from the table above
  3. Searching TED with those CPV codes to see the volume and nature of matching opportunities
  4. Refining your CPV map based on actual notice content

The mapping is approximate — CPV and NAICS were designed for different systems with different structures. But it provides a solid starting point for market entry.

Building a CPV-Based Monitoring Workflow

For solo practitioners

  1. Identify your top 5-10 CPV codes at the class level
  2. Set up daily TED alerts for each (see the alert setup guide)
  3. Set up weekly alerts at the division level for market sensing
  4. Review daily alerts every morning, spending no more than 15 minutes
  5. Quarterly, review your CPV code map against actual opportunities you pursued or missed

For teams

  1. Map your company's full product/service portfolio to CPV codes (typically 20-50 codes at the class level)
  2. Assign code groups to team members by expertise area
  3. Set up tiered alerts with routing — specific codes to specific people
  4. Maintain a shared CPV code map document that evolves as your business changes
  5. Use a platform like Duke to centralize alerts, eliminate duplicates, and provide team-wide visibility

Updating your CPV map

Your CPV code map should not be static. Update it when:

  • You launch a new product or service line
  • You discover opportunities in adjacent sectors
  • Award notices show you missed contracts because you were not monitoring the right code
  • A team member identifies a new relevant code through manual browsing
  • Market shifts create new procurement categories (e.g., AI services, green hydrogen)

How Duke Helps

CPV codes are powerful but limited by the inconsistency of how buyers apply them. Duke enhances CPV-based search:

  • Intelligent code expansion — When you set up a scope, Duke automatically includes related CPV codes that are frequently used for the same type of procurement, catching notices where the buyer chose an adjacent code
  • Cross-classification matching — Duke maps between CPV, NAICS, and other classification systems, enabling companies active in multiple markets to use a single set of search criteria
  • Buyer pattern analysis — See which CPV codes specific buyers use most frequently, helping you predict where future opportunities will be tagged
  • Quality scoring — Not all matches are equal. Duke scores opportunities based on how closely they match your profile, so a CPV division-level match ranks lower than a precise class-level match combined with geographic and value alignment

Conclusion

CPV codes are the backbone of procurement search in Europe. Used well, they give you systematic, reliable coverage of your target market. Used poorly — or not at all — they leave you dependent on keyword searches that miss non-English notices, near-matches, and differently described opportunities.

The key principles are simple: build a comprehensive CPV code map for your business, search at multiple levels of the hierarchy, combine CPV with geographic filters, account for supplementary codes, and update your map regularly.

Mastering CPV codes transforms procurement search from an art (guessing the right keywords) into a science (systematically covering your classification space). It is one of the highest-return investments you can make in your EU procurement strategy.


Stop guessing which CPV codes to monitor. Duke automatically expands your search to catch adjacent codes, cross-maps classifications, and scores every opportunity against your profile. Start your free trial today.

Frequently Asked Questions

How many CPV codes exist?

The CPV system contains approximately 9,454 codes organized in a hierarchical tree. There are 45 divisions (2-digit level), about 300 groups (3-digit), 1,300 classes (4-digit), 3,000 categories (5-digit), and 5,000+ sub-categories (6-8 digit). Most procurement professionals work with codes at the 4-digit class or 5-digit category level.

Can a contract notice have multiple CPV codes?

Yes. Every notice has one main CPV code that defines the primary subject, plus optional supplementary CPV codes for additional aspects. In multi-lot tenders, each lot can have its own main CPV code. This is why searching at the division or group level is important — a notice might have supplementary codes you would miss by searching only one narrow code.

Are CPV codes the same as NAICS or UNSPSC codes?

No. CPV (Common Procurement Vocabulary) is the EU-specific classification used on TED and national platforms. NAICS (North American Industry Classification System) is used in the US and Canada. UNSPSC (United Nations Standard Products and Services Code) is used in some international systems. While there is no official crosswalk, approximate mappings exist — for example, CPV division 72 (IT services) broadly maps to NAICS 5415 (Computer Systems Design).

liked this article?

get data-driven procurement insights delivered weekly.

A

Antoine Simon

Founder & CEO at Duke

Building infrastructure for public contracts. Based in Brussels.

LinkedIn

Never miss a winnable contract

Duke monitors public procurement across 16 countries so you don't have to.

Request a demo