What is a CPV code?
A CPV code — Common Procurement Vocabulary — is the numbered label a UK public sector buyer attaches to a contract so suppliers can find it. This guide explains how to read one, where to find them, and why they matter more than the words in the advert. All figures below come from the 386 live renewals ER Monarch currently tracks from official award notices.
Why CPV codes exist in the first place
Public bodies spend public money, and the law requires them to be open about it. For that openness to work, hundreds of different buyers — councils, NHS trusts, central departments — have to describe what they are buying in a way a supplier can search. English alone fails at this: one buyer writes “cleaning services”, another writes “contract cleaning”, a third writes “janitorial”. Search for the wrong phrase and you miss the opportunity entirely.
The CPV code solves that. It is a controlled vocabulary. Cleaning services always carries the same number, whichever council publishes it.
How to read a CPV code
CPV codes are hierarchical. Each one is eight digits, plus a check digit, usually written like 90910000-9. Read them left to right and each pair narrows the meaning:
- 90 — the top level: cleaning and refuse services
- 9091 — the next level: cleaning services
- 90910 — narrower still
- 90910000 — the specific code you would search on
That structure is why a supplier will usually watch a handful of codes at the two-to-four-digit level rather than trying to track every eight-digit variant under their trade.
Where you actually see them
CPV codes appear on the notices themselves: prior information notices, contract notices, contract award notices, and the accompanying award data. On Contracts Finder and Find a Tender, the code is listed alongside the title and the buying organisation. In the open data feeds the code arrives as a plain field, which is what makes automated filtering possible.
Why the code matters more than the keyword
This is the practical heart of it. Two contracts can share almost no wording and still be the same trade — and two contracts can share wording and be completely different buys. Suppose you supply commercial audit services. A buyer advertising a “financial assurance review” may never use the word audit. A search based on your own vocabulary misses it. A filter on the CPV code does not.
It works in reverse too. Searching “consultancy” returns management consultancy, engineering consultancy, legal consultancy, and dozens of others. The code separates them in one step.
What our own data shows
ER Monarch tracks 386 live UK contract renewals across 31 trade categories, all derived from CPV codes on the official award notices. When we map those codes to plain English, the distribution is lopsided — and that shape is itself useful intelligence about where public money is renewing:
| Trade category (derived from CPV) | Live renewals |
|---|---|
| Business Services | 92 |
| Transport & Logistics | 48 |
| IT Services | 39 |
| Engineering | 38 |
| Software & Licences | 34 |
| Construction Works | 31 |
| Research & Development | 14 |
| Health Services | 12 |
Notice what that means for a bidder. If you work in transport and logistics, roughly 48 renewals are on the board right now. If you work in a narrow sub-specialism mapped to one of the small categories, your true count is smaller — which is exactly why it pays to watch your whole parent category rather than a single eight-digit code.
The mistake most suppliers make
They treat the CPV code as a search box afterthought. They search by company-relevant phrases, find two or three notices, conclude that “there is nothing in my sector”, and stop. In practice the notices were published — they were published under codes the supplier never looked at.
The fix costs one afternoon: write down the eight or ten CPV codes that genuinely describe what you sell, then search on those instead of on your own marketing language. Keep the list. Review it once a year, because buyers reclassify things.
One honest limitation
A CPV code is a description, not a guarantee. Buyers occasionally pick a code that is almost right rather than exactly right, and a small number of notices carry a parent-level code where a specific one would fit. That is a data-entry reality, not a flaw in the vocabulary. It is also the reason sensible filtering watches a category band rather than a single code — the same reason ER Monarch maps codes to 31 readable trade categories instead of showing you raw numbers.
Common questions
What does CPV stand for?
Common Procurement Vocabulary. It is the standard classification system used across the UK and the EU to describe what a public contract is buying, using eight-digit codes plus a check digit.
How many digits are in a CPV code?
Eight digits plus a check digit, usually written with a hyphen, for example 90910000-9. The digits are hierarchical, so the first two digits give the broad category and each further pair narrows it.
Do I need to know CPV codes to win public contracts?
Not to write a bid, but yes to find the opportunities reliably. Searching by your own keywords will miss notices that use different wording for the same service. Filtering by CPV category catches them.
Are CPV codes used after Brexit?
Yes. The UK continues to publish and use CPV codes on procurement notices, and they remain the field most automated filtering is built on.
Can one contract have more than one CPV code?
Yes. Notices frequently carry a main code plus supplementary codes, which is one reason a contract can appear under more than one trade heading.
See every live renewal, incumbent and expiry date.
View access options