Skip to content

What a CPV code is, and why the wrong one makes a tender invisible

Aaro Angerpuro
Aaro Angerpuro
9 min read

CPV stands for Common Procurement Vocabulary: the EU's classification of what is being bought. It is one field on a notice, and it decides which suppliers ever see that notice at all.

A CPV code is the number a contracting authority puts on a notice to say what it is buying. CPV stands for Common Procurement Vocabulary, and it is the single classification the European Union uses for public procurement across every member state and every language.

The description of a contract is written in the buyer's own language. The code is the part that crosses the border. That is the whole point of it, and it is also why one wrong digit can hide a contract from the companies best placed to win it.

The short version

  • The main vocabulary holds 9 454 codes, arranged as a tree. The first two digits name a division, and each digit after that narrows the subject.
  • A code is mandatory on every notice published in TED. It is not optional metadata.
  • For a buyer it is one administrative field among dozens. For a supplier it is the filter that decides which competitions ever arrive.
  • The expensive failure is rarely a wrong code. It is a code that is defensible and too broad, or defensible and too narrow.

What CPV stands for, and where it comes from

Common Procurement Vocabulary. It was created by Regulation (EC) No 2195/2002 and replaced by the version in force today, adopted by Regulation (EC) No 213/2008 and applied since 17 September 2008. Everyone calls that version CPV 2008.

Every code is translated into each official EU language, and the number stays the same in all of them. A Finnish hospital district and a Portuguese supplier can describe the same patient administration system in two languages and still meet on one number.

Notices above the EU thresholds are published in TED, the Tenders Electronic Daily, which is the online supplement to the Official Journal of the European Union. TED carries tens of thousands of notices. Nobody reads it as a list. It is read through filters, and CPV is the primary one.

9 454
Codes in the main vocabulary
45
Divisions at the top of the tree
9
Digits, the last of which only verifies the other eight
2008
Version in force, applied since 17 September

How a code is built

A CPV code is nine digits. Eight of them classify. The ninth is a check digit that verifies the other eight and carries no meaning of its own, which is why it is written after a hyphen and why you will often see codes quoted without it.

The eight digits that matter read left to right, from general to specific.

DigitsLevelExampleWhat that level names
First 2Division48Software package and information systems
First 3Group488Information systems and servers
First 4Class4881Information systems
All 8Full code48814200Patient-administration system

The fifth digit opens a category inside the class, and the last three digits add further precision within that category. The practical consequence is the part worth remembering: a shorter code is not a different subject, it is the same subject described less precisely. Trailing zeros are not padding. They are a statement about how specific the buyer chose to be.

There is also a supplementary vocabulary, which is alphanumeric rather than numeric: a letter for the section followed by four digits. It exists to add a characteristic the main code cannot express, such as a material or an intended use. It is optional, and in practice most notices go without it.

Where the code actually decides something

On the buyer's side, CPV is a field to be filled in. It rarely changes the procedure and it never changes the award criteria.

On the supplier's side, it is close to everything. Every alerting service, every portal saved search and every market analysis starts from CPV. A supplier who monitors three codes sees the contracts filed under those three codes. Contracts filed one digit away do not arrive, are not missed consciously, and leave no trace of having existed.

This is the asymmetry worth understanding. The party choosing the code bears almost none of the cost of choosing it badly. The party who never sees the notice bears all of it.

Four ways the code goes wrong

Every one of these is a correct code

  1. Too broad

    The buyer files a specialised clinical system under 48000000, the entire software division. The code is not wrong. It puts the contract in a bucket so large that the suppliers who could actually deliver it are looking at narrower filters and never see it.

  2. Too narrow

    The buyer picks a code so specific that it describes one product rather than the need. Suppliers offering a different route to the same outcome are filtered out before anyone reads what they do.

  3. Split across lots without a plan

    A contract divided into lots can carry a different code per lot. Done well this widens the audience. Done carelessly the main notice carries one code and the lot a supplier could win carries another it does not monitor.

  4. Services classified as supplies, or the reverse

    Software licensed as a subscription with implementation and support can land in the software division, the IT services division, or both. Each choice reaches a different set of companies, and the division boundary is where suppliers most often disappear from each other's view.

None of these is a defect a supplier can complain about. There is no legal remedy for a code that is merely unhelpful, which is exactly why it has to be handled on the supplier's side instead.

What a supplier should actually do

Monitor the division, not only the leaf. If your business lives under 48 and 72, watching those two divisions in full produces noise, and the noise is cheaper than the contract you never saw. Narrow later, once you know how a given buyer files things.

Read what your competitors won, not what they say they do. A published contract award notice states the CPV code the buyer used. Award notices for the companies you lose to are the most reliable map of which codes your market is actually filed under, and it costs nothing to read them.

Search by text as well as by code. A subject description carries words a code cannot. Running both filters catches the contracts where the buyer's code choice and the buyer's own description disagree, and those are the ones your competitors are also missing.

If you want to see the tree rather than read about it, our CPV Finder lets you browse and search the classification directly.

Frequently asked questions

Who assigns the CPV code, the buyer or the EU?

The contracting authority. It selects the code when drafting the notice, choosing the one that most closely corresponds to what it intends to buy. Where no code matches exactly, the convention is to fall back to the nearest class, group or division rather than to force a poor fit.

Can a notice carry more than one code?

Yes. A notice has one main CPV code and may carry additional ones, and in a divided contract each lot can have its own. The main code is what most filters key on, so an additional code is a weaker signal than a main one.

Are CPV codes the same everywhere in the EU?

The numbers are. The wording attached to them is translated into each official language, so the same code reads differently in Finnish and in Spanish while pointing to the same thing. That is what makes cross-border monitoring possible at all.

Do CPV codes change?

Rarely, and not on a schedule. CPV 2008 has been in force since 2008. Individual codes are not renumbered casually, because doing so would break every historical notice that used them.

What is the ninth digit for?

Verification only. It is a check digit calculated from the preceding eight, which allows a system to catch a mistyped code. It carries no classification meaning, so 48814200 and 48814200-9 refer to the same thing.

Is a NUTS code the same kind of thing?

Same idea, different axis. CPV classifies what is being bought. NUTS classifies where. Notices carry both, and a supplier filtering on only one of them is looking at half the picture.

What we think

CPV is the least interesting field on a notice and one of the most consequential. It gets chosen in a few seconds by someone whose attention is on the technical specification, and it then determines, silently and permanently, which companies are ever given the chance to bid.

The mistake suppliers make is treating their code list as a setting configured once. It is a hypothesis about how buyers file work like yours, and it is worth testing against what your competitors actually won.

Viran monitors procurement across more than 70 markets and does not rely on a supplier's code list alone: subject descriptions, award histories and adjacent classifications are read together, so a contract filed one division away still reaches the company that could win it.

We find the tender regardless of the CPV code on it. The code is not our starting point at all. A Viran profile describes what a company can actually deliver, and every notice is matched against that profile on its substance rather than on the classification someone attached to it. This bypasses CPV-based search completely, and it is what makes our matching the most accurate and the most extensive available across more than 70 markets worldwide.

See the tenders you could win

We find every open and upcoming sales opportunity across the public sector that is available to you right now, and rank them by fit. In the meeting we go through the list and tell you which are worth bidding for, and why.

Book the 30-minute review (opens our booking calendar in a new tab)