Blog

What Is a CPV Code? Supplier Guide

19 April 2026 · 7 min read

What Is a CPV Code? Supplier Guide

CPV codes are the classification system used across UK and EU public procurement. Here's what you need to know.

What is a CPV code?

A CPV code, short for Common Procurement Vocabulary code, is a standardised classification number that UK public-sector buyers attach to every contract notice they publish. The system was created by the European Commission and adopted across the UK public sector before Brexit; the UK retained CPV codes on Find a Tender (FTS) and most sub-threshold portals because the practical alternative would have made searching for contracts harder for everyone.

In plain terms, a CPV code is a shared language that lets a hospital in Edinburgh, a council in Cardiff and a housing association in Birmingham all describe the same type of purchase in an identical way. Without it, buyers would use their own terminology, and a landscaping company would have to guess every synonym its customers might use: grounds maintenance, green space management, parks services. CPV codes collapse that variation into a single reference number.

Why buyers use CPV codes

Contracting authorities are required by the Procurement Act 2023 to classify notices using CPV codes before publication on Find a Tender. The requirement serves two purposes. First, it makes procurement auditable: a regulator or Freedom of Information requestor can pull all contracts in a given category and compare prices or award patterns across buyers. Second, it makes the market more competitive. When suppliers can search a well-labelled database, more of them bid, which drives down cost and improves quality for taxpayers.

From a supplier perspective, CPV codes matter because most tender portals allow you to filter alerts by code. Set the filter too narrowly and you miss relevant contracts; set it too broadly and you are buried in irrelevant ones.

How CPV codes are structured

Every CPV code is a nine-character string: eight digits followed by a hyphen and a single check digit. The eight digits encode a hierarchy of four levels, read from left to right:

  • Division (first two digits): the broadest grouping, such as 45 for Construction Work.
  • Group (first three digits): a narrower cluster within the division, such as 452 for General Construction Work for Buildings.
  • Class (first four digits): a specific trade or service area, such as 4521 for General Building Construction.
  • Category (first five digits): the most granular level in the main vocabulary, such as 45213 for Construction Work for Commercial Buildings, Warehouses and Industrial Buildings.

The remaining three digits (positions six to eight) allow buyers to sub-divide further when the standard categories do not quite fit their requirement. A check digit is then appended automatically to guard against transcription errors.

Below is a short table showing how the hierarchy looks across a few common sectors:

Division Description Example class Example category
45 Construction Work 4521 General Building Construction 45211000 Construction Work for Multi-Dwelling Buildings
72 IT Services 7220 Software Programming and Consultancy 72212000 Programming Services of Application Software
85 Health and Social Work Services 8511 Hospital Services 85111000 Hospital Services
79 Business Services 7934 Event Services 79952000 Events Management Services
60 Transport Services 6012 Taxi Services 60120000 Taxi Services

How to find the right CPV codes for your business

The official CPV lookup is the TED CPV search at simap.ted.europa.eu, which remains freely accessible to UK suppliers. The UK Cabinet Office also publishes the full vocabulary as a spreadsheet on GOV.UK.

Think about what a buyer would write in a tender description rather than what you would write on your own website. Buyers are typically procurement officers rather than technical specialists, so they reach for generic category language. A cybersecurity consultancy is more likely to appear under 72220000 (Systems and Technical Consultancy Services) or 72600000 (Computer Support and Consultancy Services) than under a narrower code.

Three steps that work well in practice:

  • Search TED for two or three keywords that describe your service. Note every code that returns results.
  • Browse up one level: look at the full class and division those codes belong to, and check whether neighbouring codes describe work you could plausibly bid for.
  • Cross-reference against real notices. Pull the last 20 contract awards in your sector and note which CPV codes buyers actually applied. Awards are published on FTS and are free to view without an account.

Using CPV codes strategically

Most suppliers set a CPV alert, receive a feed, and leave it at that. That approach misses a significant share of relevant opportunities for three reasons.

Buyers classify imperfectly. A council procuring a digital inclusion programme might file it under 80000000 (Education and Training Services) or under 72000000 (IT Services), depending on which officer raised the notice. Both are defensible. If you only watch one code, you miss the other.

Adjacent codes carry real opportunity. If your core code is 71311000 (Civil Engineering Consultancy Services), the adjacent code 71312000 (Structural Engineering Consultancy Services) will surface contracts where the buyer wants both disciplines but lumped them under one notice. Monitoring a small cluster of codes around your primary one costs nothing and routinely surfaces work that a narrow filter would exclude.

The CPV code is a starting signal, not the full picture. A notice under 45000000 (Construction Work) at an NHS trust is a very different commercial proposition from the same code at a local authority. The buyer type, contract value, location and closing date all matter as much as the code itself. Treat CPV as the first filter in a chain, not the only one.

A sound setup for most SMEs is three to six codes covering your core service and immediately adjacent activities, combined with keyword alerts for terms buyers commonly use in notice titles. Review every quarter by checking whether recent award notices in your sector carry codes outside your current set.

Worked example: a commercial cleaning company

Suppose you run a commercial cleaning business targeting public-sector contracts across England. The obvious code is 90910000 (Cleaning Services). But a well-run monitoring strategy would also include:

  • 90911000 Accommodation, Building and Window Cleaning Services
  • 90911200 Building Cleaning Services
  • 90919000 Office, School and Office Equipment Cleaning Services
  • 90920000 Premises-Related Services (where buyers bundle cleaning with other facilities contracts)
  • 79993000 Building and Facilities Management Services (for integrated FM contracts where cleaning is a significant lot)

In practice, a single NHS foundation trust might use 90910000 for its routine cleaning contract and 79993000 for a five-year facilities management tender covering cleaning, portering and waste management. Both are relevant to you. An alert on only the first code means you never see the second, which is almost certainly the larger opportunity. The strategic move is to bid for the FM contract as a prime or as a named subcontractor to a larger facilities company, something you can only do if you knew the contract existed.

How TenderSignal handles CPV codes

TenderSignal aggregates tender notices from over 145 sources across the UK and Ireland, including Find a Tender, Public Contracts Scotland and Sell2Wales. Every notice carries its original CPV codes, and TenderSignal maps those codes to plain-English sector labels so you can filter by sector without memorising a single code.

When you set up your profile, you describe your business in everyday language and choose the sectors and buyer types you care about. TenderSignal translates that into a CPV-aware filter, covering not just the exact code but adjacent codes in the same class and division. Your daily or weekly digest surfaces opportunities you would otherwise miss, including from portals that do not appear in a standard FTS search.

You can still drill into the raw CPV codes on any notice if you want to. For most users, the practical benefit is the reverse: you never need to open a CPV spreadsheet to get a reliable, broad-enough set of results.

To see how many live contracts exist in your sector right now, create a free TenderSignal account. Setup takes under five minutes and your first personalised digest arrives the next morning.

Ready to find relevant tenders?

TenderSignal monitors UK public sector feeds and sends you matched opportunities by email.