CPV codes: how to pick a set that finds your work
Every tender alert you receive is filtered through eight digits somebody else chose. Getting your side of that right is the cheapest improvement available to most suppliers.
The Common Procurement Vocabulary is a European classification with roughly 9,500 codes. Every public notice carries at least one. Every alert you receive, every search you run and every dashboard you have been sold is filtered through them.
Which means your visibility of the market is decided by two things: which codes a buyer chose when they published, and which codes you chose when you set up. You control one of them.
How the code is structured
Eight digits plus a check digit, narrowing left to right. Trailing zeros mean 'this category and everything beneath it'.
| Code | Level | Means |
|---|---|---|
| 45000000 | Division | Construction work — the whole division |
| 45200000 | Group | Works for complete constructions |
| 45210000 | Class | Building construction work |
| 45214000 | Category | Construction work for buildings relating to education |
| 45214200 | Sub-category | School buildings |
Why the wrong codes cost you work
Buyers tag inconsistently
A school extension might be tagged 45214200 (school buildings), 45210000 (building construction) or 45000000 (construction work) depending on who filled the form in. If you have subscribed only to 45214200, you see one of those three.
Notices carry several codes, and the first is arbitrary
A design-and-build contract may carry a construction code and a professional-services code. Which one appears first is a data-entry accident, and any tool that classifies a notice by its first code alone will file that contract under the wrong sector. It is worth asking a vendor how they handle this.
Some work has no code that fits
The vocabulary has not kept pace with services procurement. A lot of genuinely modern work ends up under a generic services code, which is why keyword matching has to sit alongside CPV rather than beneath it.
Building your code set
- Start from contracts you have already won. Look up the notices and record every code the buyers used. This is evidence, not guesswork.
- Add the division above each one. If you won under 45214200, monitor 4521 at least.
- Add adjacent codes for work you could do but have not yet — this is where growth comes from.
- Add the codes your competitors win under. Their award notices are public and their code sets are visible.
- Layer keywords on top for the work that CPV describes badly, and for named accreditations that qualify or disqualify you.
Then measure it. If fewer than one in five alerts is worth opening, your set is too broad. If you are opening everything and still finding work you missed, it is too narrow.
The codes that matter most by sector
| Division | Covers |
|---|---|
| 45 | Construction work |
| 50 | Repair and maintenance services |
| 71 | Architectural, engineering and inspection services |
| 72 | IT services |
| 79 | Business and management services |
| 80 | Education and training |
| 85 | Health and social work |
| 90 | Sewage, refuse, cleaning and environmental services |
TenderGraph reads your website during onboarding and proposes a code set from what it actually finds there, which you then edit — and it files each award under the division most of its codes belong to rather than whichever the buyer happened to type first. You can see the sector split it produces before you sign up to anything.
Common questions
- How many CPV codes should I monitor?
- Most suppliers do well with four to twelve, mixing division-level codes for breadth with a few specific ones. Fewer than four usually means you are missing work; more than twenty usually means you are not reading the alerts.
- Can I search by keyword instead?
- You should do both. CPV catches notices whose titles do not use your vocabulary; keywords catch work the classification describes badly. Either alone leaves a gap.
- What does a code ending in zeros mean?
- It is a broader category and includes everything beneath it. 45000000 is all construction work; 45214200 is school buildings specifically. Searching the broader code returns the narrower ones.
- Do buyers ever use the wrong code?
- Regularly. It is a form field completed under time pressure, and there is no validation of fit. This is the strongest practical argument for monitoring at division level and filtering afterwards, rather than trusting the buyer's precision.
Sources
Every figure and rule above is taken from these. Where a claim rests on guidance rather than the words of the legislation, the post says so.
- 1. Common Procurement Vocabulary (Regulation (EC) No 2195/2002) ↗The regulation establishing the CPV classification.
- 2. Find a Tender ↗Where CPV codes are applied to UK notices in practice.
Read next
- Find a Tender vs Contracts Finder — what is actually on eachTwo official services, overlapping since February 2025, still not interchangeable. Here is what each one holds and what neither of them will show you.
- Your tender alerts are either noise or a blind spotThere is no volume setting that fixes a badly built feed. The failure is usually in the targeting, and it is diagnosable in an afternoon.
- A bid/no-bid decision you can defend on Monday morningWin rate is not the metric that matters. Cost per win is — and the fastest way to improve it is to stop entering competitions you were never going to win.