Skip to content
TenderGraph
3 min read

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'.

How a CPV code narrows, using construction as the example
CodeLevelMeans
45000000DivisionConstruction work — the whole division
45200000GroupWorks for complete constructions
45210000ClassBuilding construction work
45214000CategoryConstruction work for buildings relating to education
45214200Sub-categorySchool 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

  1. Start from contracts you have already won. Look up the notices and record every code the buyers used. This is evidence, not guesswork.
  2. Add the division above each one. If you won under 45214200, monitor 4521 at least.
  3. Add adjacent codes for work you could do but have not yet — this is where growth comes from.
  4. Add the codes your competitors win under. Their award notices are public and their code sets are visible.
  5. 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

Divisions that carry most UK public sector opportunity
DivisionCovers
45Construction work
50Repair and maintenance services
71Architectural, engineering and inspection services
72IT services
79Business and management services
80Education and training
85Health and social work
90Sewage, 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. 1. Common Procurement Vocabulary (Regulation (EC) No 2195/2002) ↗The regulation establishing the CPV classification.
  2. 2. Find a Tender ↗Where CPV codes are applied to UK notices in practice.