Quick answer
If you have ever searched for public procurement opportunities in Europe, you have likely encountered CPV codes. These eight-digit numbers appear on almost every tender notice published on [TED (Tenders Electronic Daily)](https://ted.europa.eu/), [Find a Tender](/blog/uk-tenders-find-a-tender-contracts-finder), and national procurement portals across Europe and the UK.
Understanding CPV codes (and using them correctly) can dramatically improve the quality of your tender searches. Instead of wading through hundreds of irrelevant results, you can zero in on exactly the opportunities that match your products or services.
This guide explains what CPV codes are, how they are structured, and how to use them practically in your tender discovery workflow.
What Are CPV Codes?
CPV stands for Common Procurement Vocabulary. It is a standardised classification system created by the European Commission to describe the subject matter of public procurement contracts. Every public tender published under EU procurement directives (and most UK tenders) is assigned one or more CPV codes that describe what is being purchased.
The current version, CPV 2008, was established by Regulation (EC) No 213/2008 and contains over 9,000 individual codes organised into a hierarchical structure.
Why Do CPV Codes Exist?
CPV codes solve a practical problem: procurement terminology varies enormously across languages and industries. A "cleaning services" contract in the UK might be described as "services de nettoyage" in France or "Reinigungsdienste" in Germany. CPV codes provide a language-neutral way to classify these contracts so that suppliers across Europe can find relevant opportunities regardless of the language in which the tender notice is published.
This is particularly important for cross-border procurement, where a Danish supplier might want to bid for a contract advertised in Italian.
The Structure of CPV Codes
CPV codes follow a logical hierarchy that moves from broad categories to specific items. Understanding this structure helps you search at the right level of detail.
Format: XX XXXXXX-X
A complete CPV code has eight digits plus a check digit, written in the format:
XX XXXXXX-X
For example: 72000000-5 (IT services: consulting, software development, Internet and support)
The Hierarchy
The digits break down as follows:
| Level | Digits | Description | Example |
|---|---|---|---|
| Division | First 2 digits | Broadest category | 72 = IT services |
| Group | First 3 digits | Narrower category within the division | 722 = Software-related services |
| Class | First 4 digits | More specific area | 7221 = Systems and technical consulting |
| Category | First 5 digits | Specific subject | 72210 = Programming services of packaged software |
| Subcategory | Digits 6-8 | Most specific level | 72212000 = Programming services of application software |
| Check digit | After the hyphen | Validation digit | -5 |
Supplementary Vocabulary
In addition to the main CPV code, there is a supplementary vocabulary that adds further detail through alphanumeric codes. For example, a main code for construction works might have supplementary codes indicating the specific materials or purpose (e.g., "for hospitals" or "using steel"). In practice, the supplementary vocabulary is used less frequently than the main codes.
The Major CPV Divisions
The CPV system is organised into 45 main divisions, covering everything from agricultural products to research services. Here are the divisions most commonly seen in European procurement:
| Division | Description | Common Sectors |
|---|---|---|
| 30 | Office and computing machinery | IT hardware |
| 33 | Medical equipment, pharmaceuticals | Healthcare |
| 45 | Construction work | Building, civil engineering |
| 48 | Software packages and information systems | Software, SaaS |
| 50 | Repair and maintenance services | FM, engineering |
| 71 | Architectural, engineering, and planning services | Built environment |
| 72 | IT services | Technology, consulting |
| 79 | Business services | Consulting, marketing, legal |
| 85 | Health and social work services | Healthcare, social care |
| 90 | Sewage, refuse, and environmental services | Waste, environment |
The full CPV vocabulary contains 45 divisions. You can browse the complete list on the European Commission's SIMAP portal.
How to Find Your CPV Codes: A Step-by-Step Guide
Finding the right CPV codes for your business is one of the most important things you can do to improve your tender discovery. Here is a practical process:
Step 1: Start with the Official CPV Search Tool
The European Commission maintains a CPV code search tool where you can search by keyword or browse the hierarchy. Enter a description of your products or services in English (or any EU language) and the tool will suggest matching codes.
Example: If you provide translation services, searching "translation" returns:
- 79530000-8 - Translation services
- 79540000-1 - Interpretation services
- 79500000-9 - Office-support services (parent category, too broad)
Step 2: Check the Hierarchy Above and Below
Once you find a relevant code, explore both the parent category (broader) and any child categories (more specific). This helps you understand where your services sit in the classification and ensures you do not miss related codes.
For the translation example:
- 79500000-9 (parent) - Office-support services ← probably too broad
- 79530000-8 - Translation services ← good match
- 79531000-5 - Translation of written texts ← more specific
- 79540000-1 - Interpretation services ← relevant if you also offer interpreting
Step 3: Identify Three to Five Core Codes
Most businesses need between three and five CPV codes to cover their main offerings. List these as your "primary" codes. You might also maintain a longer list of "secondary" codes for niche services you can provide but do not actively market.
Example for an IT consultancy:
- 72000000-5 - IT services (broad, for comprehensive searches)
- 72220000-3 - Systems and technical consulting
- 72212000-4 - Programming services of application software
- 72224000-1 - Project management consulting
- 48000000-8 - Software packages and information systems
Step 4: Validate Against Real Tenders
Search for your chosen CPV codes on TED and Find a Tender and review the results. Are the tenders that come back relevant to your business? If they are mostly irrelevant, you may need to adjust your codes. If you are not seeing opportunities you know exist, you might need to add codes you had not considered.
Step 5: Review and Update Regularly
Your CPV codes should evolve as your business does. Review them at least annually, especially if you have expanded your service offerings or entered new markets.
Using CPV Codes to Search for Tenders
Searching on TED
TED's search interface allows you to filter by CPV code. You can:
- Enter the code directly in the CPV field
- Use the hierarchical browser to select codes
- Combine CPV codes with other filters (country, contract type, publication date)
Pro tip: Searching at the division level (first two digits) casts a wide net. Searching at the category level (five digits or more) is more precise. Start broad if you are exploring a new market, then narrow down once you understand the landscape.
Searching on Find a Tender
The UK's Find a Tender Service also supports CPV code searches. The approach is similar: enter your CPV codes alongside keywords to get targeted results.
Searching on National Portals
Most EU member state portals support CPV code searches, though the interface varies. In Germany's TED-eSender system, Italy's Servizio Contratti Pubblici, and France's BOAMP, CPV codes are standard filter fields.
Using Bidovate for CPV-Based Discovery
One of the challenges with CPV codes is that you often need to search multiple codes across multiple portals. Bidovate's tender intelligence platform simplifies this by allowing you to set up CPV-based search profiles that run automatically across 1,000+ sources in 28 European countries. When a tender matching your CPV codes is published anywhere in our network, you receive an alert, no manual searching required.
Common Mistakes with CPV Codes
Mistake 1: Searching Too Narrowly
Using only very specific codes (six or more digits) means you miss tenders classified under slightly different but equally relevant codes. A contracting authority might classify a software development contract under 72212000 (programming of application software) or 72230000 (custom software development). If you only search one, you miss the other.
Solution: Search at multiple levels. Include both your specific codes and their parent categories.
Mistake 2: Searching Too Broadly
Searching only at the division level (two digits) returns thousands of results, most of which will be irrelevant. Division 72 (IT services), for example, covers everything from data entry to satellite system design.
Solution: Use division-level searches for market research, but use class or category-level codes for your daily opportunity monitoring.
Mistake 3: Relying on CPV Codes Alone
CPV codes are assigned by the contracting authority, and they sometimes get it wrong. A procurement officer might classify a cybersecurity consultancy contract under 72000000 (IT services) instead of the more specific 72246000 (systems security consulting). If you only search the specific code, you miss the opportunity.
Solution: Combine CPV code searches with keyword searches. The two approaches complement each other: CPV codes catch opportunities regardless of language, while keywords catch opportunities with imprecise CPV coding.
Mistake 4: Ignoring Supplementary CPV Codes
Some tenders list additional CPV codes in the supplementary fields that give useful context. A construction tender might have a main code of 45000000 (construction works) but supplementary codes indicating it involves hospital construction or sustainable building methods.
Solution: Where available, check the supplementary codes to better understand the scope before deciding whether to pursue an opportunity.
Mistake 5: Not Updating Your Codes
If your business evolves (adding new services, entering new sectors, or pivoting your focus) but your CPV codes stay the same, you will miss relevant opportunities in your new areas and continue receiving alerts for your old ones.
Solution: Review and update your CPV code list at least once a year, or whenever your business offering changes significantly.
CPV Codes vs NAICS Codes
If you are familiar with NAICS (North American Industry Classification System) codes, the key difference is that CPV codes describe what is being bought, while NAICS codes describe what industry the supplier operates in. CPV codes are used in EU/UK procurement, managed by the European Commission, and contain over 9,000 codes in a multilingual system. A software company (NAICS 541511) might bid for tenders under CPV codes 48000000 (software packages), 72000000 (IT services), or 80533100 (computer training).
If you are exploring European procurement from North America, mapping your NAICS codes to CPV equivalents is an important first step. There is no official crosswalk, but the descriptions are usually clear enough to identify correspondences.
Practical Tips for CPV Code Mastery
- Build a CPV code reference sheet listing your primary codes (3-5), secondary codes (5-10), parent divisions, and a brief description of tenders each code captures. Share it with your bid team.
- Use CPV codes for competitive intelligence. Search award notices by CPV code to see who wins in your space, at what values. Bidovate's competitive analytics automates this.
- Combine CPV codes with location filters to avoid wasting time on tenders in regions where you cannot compete.
- Set up automated alerts on TED, Find a Tender, and national portals. For cross-portal monitoring with AI relevance scoring, Bidovate's alert system scans over 1,000 sources daily.
The Future of CPV Codes
The CPV system has not been substantially updated since 2008, and there is growing recognition that it needs modernisation. Several developments are worth watching:
eForms and Structured Data
The EU's transition to eForms, the new standard for publishing procurement notices, maintains CPV codes as a core classification element but enables more structured, machine-readable data overall. This will make it easier for platforms like Bidovate to deliver precise, automated matching.
Possible Revision
The European Commission has periodically discussed updating the CPV vocabulary to reflect modern economic activities better. Cloud computing, artificial intelligence, cybersecurity, and other digital services are inadequately covered by the current structure, which was designed almost two decades ago.
AI-Powered Classification
Increasingly, AI tools can analyse tender documents and suggest relevant CPV codes, even when the contracting authority has misclassified the procurement. Bidovate's AI reads tender documents and matches them to your business profile using natural language understanding, complementing the structured CPV approach.
Frequently Asked Questions
1. What is a CPV code, and why does it matter for finding tenders?
A CPV (Common Procurement Vocabulary) code is an eight-digit classification number used across EU and UK public procurement to describe the subject matter of a contract. CPV codes matter because they are the primary way procurement portals like TED and Find a Tender categorise tenders. Searching by the correct CPV codes ensures you find relevant opportunities efficiently, regardless of the language in which the tender is published.
2. How many CPV codes should I use when searching for tenders?
Most businesses should maintain three to five primary CPV codes and five to ten secondary codes. Using too few means you miss relevant opportunities; using too many creates noise and alert fatigue. Start with your most specific codes, validate them against real tender results, and adjust as needed.
3. Can I search TED and Find a Tender using CPV codes?
Yes. Both TED (the EU's procurement portal) and Find a Tender (the UK's portal) support CPV code searches. You can enter codes directly into the search filters, browse the CPV hierarchy, and create saved searches with email alerts based on your chosen codes.
4. What is the difference between CPV codes and NAICS codes?
CPV codes are used in European procurement and describe what is being purchased. NAICS codes are used in North America and describe the industry of the supplier. A single company might map to several CPV codes depending on what it sells. There is no official crosswalk between the two systems, but the descriptions are usually similar enough to identify correspondences.
5. How does Bidovate use CPV codes to help suppliers find tenders?
Bidovate allows you to set up search profiles based on your CPV codes, which are then matched against tenders from over 1,000 sources across 28 European countries. Unlike searching individual portals manually, Bidovate aggregates results into a single dashboard and applies AI-powered relevance scoring, so you see the most relevant opportunities first, even if the contracting authority has used slightly different CPV codes or descriptions.
Ready to win more tenders?
Bidovate scans 1000+ procurement portals and matches opportunities to your company profile.