Skip to main content
Back to Glossary
General

CPV Code

Unified classification system for public contracts in the EU for categorizing products and services.

At a Glance
  • CPV code (Common Procurement Vocabulary) is the EU's classification system for public contracts.
  • Structure: 9 digits (8-digit hierarchical tree + 1 check digit separated by hyphen).
  • Mandatory in all EU-wide notices on TED under Regulation (EC) No 2195/2002.
  • Examples: 45000000 construction, 33000000 medical devices, 72000000 IT services, 79000000 business services.
  • Official source and search tool: simap.ted.europa.eu/web/simap/cpv, free, available in all 24 EU languages.

What does CPV Code mean?

The CPV Code (Common Procurement Vocabulary) is the European Union's unified classification system for describing the subject matter of public tenders. It assigns every supply, service or works contract a unique numeric code, enabling language-independent classification across all EU Member States and 24 official languages. A bidder from Lisbon can use the same code to find a German contract notice as a bidder from Berlin, purely via the numeric identifier, without translation losses.

The system was introduced by Regulation (EC) No 2195/2002 of the European Parliament and Council and revised multiple times (most substantially by Regulation (EC) No 213/2008). It replaced the previously used UN CPC classification and today serves as the binding standard for all contracts above the EU thresholds.

Structure: A Nine-Digit Tree

Every CPV code consists of eight hierarchically organised digits plus a check digit, separated by a hyphen. The structure follows strict tree logic:

  • Digits 1-2 (Division): Main category, e.g. 45 = Construction, 33 = Medical Devices, 72 = IT Services.
  • Digit 3 (Group): Subdivision within the division.
  • Digit 4 (Class): Further refinement.
  • Digit 5 (Category): Specific service or product category.
  • Digits 6-8 (Subcategories): Finest specification of the subject matter.
  • Digit 9 (Check digit): Validation digit after the hyphen, purely for syntactic checks.

Concrete construction example:

45000000-7  Construction work
45200000-9  Works for complete or part construction and civil engineering work
45210000-2  Building construction work
45213000-3  Construction work for commercial buildings, warehouses and industrial buildings

The deeper in the tree, the more specific the code. Contracting authorities should always choose the most precise code available to enable accurate filtering for bidders.

Main CPV Divisions

With over 9,400 codes, CPV covers virtually every procurable service. The most important divisions:

  • 03000000 Agricultural, farming, fishing, forestry products
  • 09000000 Petroleum products, fuel, electricity, other energy sources
  • 15000000 Food, beverages, tobacco
  • 30000000 Office and computing machinery, equipment and supplies
  • 33000000 Medical equipment, pharmaceuticals and personal care products
  • 34000000 Transport equipment
  • 45000000 Construction work
  • 48000000 Software packages and information systems
  • 50000000 Repair and maintenance services
  • 71000000 Architectural, construction, engineering and inspection services
  • 72000000 IT services: consulting, software development, internet, support
  • 79000000 Business services: law, marketing, consulting, recruitment
  • 85000000 Health and social work services
  • 90000000 Sewage, refuse, cleaning, environmental services

A contracting authority can assign multiple CPV codes per contract: one main code (mandatory) plus any number of supplementary codes for ancillary services. This multi-classification is important for bidders, because they can find contracts even when the main code does not match their portfolio, while a supplementary code does.

Legal Framework & Obligations

The obligation to use CPV codes derives from multiple layers of European and national procurement law:

EU level. The legal basis is Regulation (EC) No 2195/2002 of the European Parliament and Council on the Common Procurement Vocabulary. The regulation applies directly in all Member States and stipulates that every contracting authority must describe the subject matter of EU-wide notices exclusively using CPV. The most recent substantial update came via Regulation (EC) No 213/2008. The EU Procurement Directive 2014/24/EU repeatedly references CPV in Annexes II and V, making it the mandatory classification for all procedures above EU thresholds.

National level (Germany). Section 37 of the VgV and Section 11 EU of VOB/A require CPV codes in contract notices. The same applies to the utilities sector (Section 36 SektVO) and concessions (Section 19 KonzVgV). For TED (Tenders Electronic Daily) notices, the code is mandatory in the eForms standard form; no notice can be published without it.

Below-threshold range. Below EU thresholds, CPV is not legally mandatory but is required by virtually all German procurement platforms (DTVP, Vergabe24, evergabe-online.de) so that bidders can configure CPV-based alerts. The UVgO recommends CPV as the de facto national standard.

eForms standard. Since 25 October 2023, CPV must be transmitted in the structured eForms format (Implementing Regulation (EU) 2019/1780). This adds technical validations: TED checks whether the supplied code is current, complete, and carries the correct check digit. Invalid or obsolete codes lead to automatic rejection of the notice by TED.

Case law. German procurement chambers and the Vergabesenat have repeatedly clarified that a grossly incorrect CPV code can violate the transparency principle. A tender published under 71000000 (architectural services) but actually procuring IT consulting risks a successful challenge and possibly cancellation in a review procedure. The deciding factor is whether potential bidders would have found the contract under correct classification.

Real-World Example

A German university hospital publishes a framework agreement for endoscopy equipment including maintenance and training. Estimated value: EUR 4.5 million, above the EU threshold for supply contracts, hence EU-wide tender via TED.

The contracting authority must enter CPV codes in the notice. A clean classification looks like this:

  • Main CPV: 33168000-5 (Endoscopy, endosurgery devices), describes the core of the contract.
  • Supplementary CPV 1: 50421000-2 (Repair and maintenance services of medical equipment), for the maintenance share.
  • Supplementary CPV 2: 80561000-4 (Health training services), for the user training.

Effect on bidders: A specialised medical device supplier from Tuttlingen finds the tender immediately because its Patterno Hit search profile has "33168000" as a trigger. A provider focused only on training also sees the notice, via the supplementary code 80561000.

Had the authority instead used the overly broad 33000000 ("Medical equipment, pharmaceuticals and personal care products"), thousands of irrelevant bidders would have received an alert, and the specialised endoscopy supplier would have been lost in the noise.

The CPV choice is particularly relevant in the pharma space (see pharma industry page): codes such as 33600000 (Pharmaceutical products), 33610000 (Medicinal products for the alimentary tract and metabolism) or 33651000 (General anti-infectives for systemic use) determine whether a generics manufacturer sees a rebate contract opportunity at all. With Patterno you can monitor specific CPV codes, or entire code families, automatically across all 180+ German procurement platforms.

Common Mistakes

Both contracting authorities and bidders repeatedly make the same mistakes around CPV codes. The five most common ones:

  • Code too generic. Authorities often pick the next higher tree node instead of a precise sub-category, for instance 72000000 (IT services) instead of 72611000 (Technical computer support services). Result: thousands of false positives, low bidder quality, high clarification effort.
  • Outdated code. The CPV list is revised periodically. Codes copied from old templates may have become invalid or renamed. The TED eForms system automatically rejects obsolete codes.
  • Wrong check digit. The ninth digit is a calculated check digit. Typing a code manually and guessing the check digit risks technical rejection of the notice.
  • Main code without supplementary codes. For combined contracts (e.g. supply + installation + training) authorities often enter only the main code. Bidders whose focus is an ancillary service then miss the tender. Best practice: always include all relevant supplementary codes.
  • Bidders searching keywords instead of CPV. Anyone searching procurement platforms with full-text "endoscopy" misses tenders whose title is "medical diagnostics" but whose CPV is 33168000. CPV-based searching is far more precise than keyword search.
  • Confusing CPV with eClass or UNSPSC. Private-sector procurement uses eClass (Germany) or UNSPSC (international). These classifications are not identical to CPV. For public procurement, only CPV is legally binding.

Best Practices

Clean CPV usage delivers measurable efficiency gains on both sides. Six recommendations from practice:

  • Use the official CPV search tool. The EU provides a free search at simap.ted.europa.eu/web/simap/cpv, working in all 24 EU languages. Verify codes there rather than copying from old templates.
  • Choose the most precise code. Descend as deep into the tree as possible. An 8-digit code with concrete reference to the subject matter attracts far better-qualified bidders than a 4-digit umbrella term.
  • Be generous with supplementary codes. Every relevant aspect of the contract, core service, ancillary services, maintenance, training, licenses, deserves its own CPV code. This maximises visibility for all relevant bidder groups.
  • Bidders should subscribe to code families. Instead of single codes (e.g. 33651000), bidders should monitor entire families (33600000ff.) in their search profiles. Otherwise minor reclassifications by the authority lead to missed tenders.
  • Maintain a CPV mapping internally. Build an in-house mapping between your products/services and the matching CPV codes. This simplifies later search profiles, sales campaigns and briefing of bid teams.
  • Challenge suspected misclassification. If as a bidder you only stumble across a tender by chance because it was published under a wrong CPV code, that is a possible breach of the transparency principle. A timely challenge can force the authority to correct the classification and extend deadlines.

Frequently Asked Questions

What is a CPV code?+

A CPV code (Common Procurement Vocabulary) is a nine-digit numeric code that the European Union uses to uniformly classify every supply, service or works contract in public procurement. It consists of eight hierarchically organised digits plus a check digit, separated by a hyphen (e.g. 45000000-7 for construction work). The code provides a language-independent description of the contract's subject matter across all 24 official EU languages. The legal basis is Regulation (EC) No 2195/2002. For all EU-wide notices published on TED, at least one main CPV code is mandatory; supplementary codes for ancillary services can be added freely.

How do I find the right CPV code?+

The easiest way is the official EU CPV search tool at simap.ted.europa.eu/web/simap/cpv. There you can search by keyword in any of the 24 EU languages and receive matching codes including their tree position. Many procurement platforms (DTVP, Vergabe24, evergabe-online.de) also offer CPV wizards with hierarchical click navigation. Rule of thumb: go as deep into the tree as possible and choose the most precise code that covers the subject matter. For combined services, assign multiple codes, one main and several supplementary codes. Avoid copying codes from old tender documents, as the list is updated regularly and codes may become invalid.

What is the CPV?+

CPV stands for Common Procurement Vocabulary. It is the European Union's official classification system for uniformly describing the subject matter of public procurement procedures. CPV was introduced by Regulation (EC) No 2195/2002 and last substantially revised by Regulation (EC) No 213/2008. The system comprises roughly 9,400 codes, organised in a strict hierarchical tree of divisions, groups, classes and categories. The goal is to provide an EU-wide, language-independent and machine-readable classification that gives bidders from all Member States easier access to the European procurement market.

Where do I find the CPV code?+

CPV codes appear in several places: In every EU-wide TED notice it is stored as a structured data field, you see it in the notice header next to the contract title. In tender documents it is usually listed on the first page or cover sheet. In the official CPV register you can navigate from code to meaning: simap.ted.europa.eu/web/simap/cpv. In Patterno search profiles you can set CPV codes or entire code families as triggers, so you are alerted automatically whenever a matching tender appears on any of the 180+ procurement platforms.

What structure does a CPV code follow?+

Every CPV code is nine digits long and follows a hierarchical tree structure: the first two digits indicate the division (e.g. 45 = construction work), the third digit the group, the fourth the class, the fifth the category, and digits six to eight further subcategories. The ninth digit is a check digit separated by a hyphen. Example: 45213000-3 = construction work (45) in building construction (452) for commercial buildings (45213). The deeper the position in the tree, the more specific the classification, essential for precise bidder targeting.

Is providing the CPV code mandatory?+

Yes, for all EU-wide notices above the EU thresholds at least one main CPV code is legally mandatory. The basis is Regulation (EC) No 2195/2002, Section 37 VgV and the EU Procurement Directive 2014/24/EU. On TED no notice can be published without a valid CPV code, the eForms system technically blocks it. Below thresholds it is not legally required, but virtually all German procurement platforms ask for it. Supplementary codes for ancillary services are voluntary, but strongly recommended to maximise visibility of the tender across all relevant bidder groups.

What happens if the CPV code is wrong?+

A grossly incorrect CPV code can have significant consequences. Technically the TED eForms system rejects obsolete or syntactically broken codes automatically, the notice cannot even be published. Substantively, a misleading code can be a violation of the transparency principle: if potential bidders fail to find a tender because of misclassification, this can lead to cancellation of the procedure in a review procedure. Procurement chambers have repeatedly clarified that authorities must choose the most precise possible code. Bidders who notice a misclassification should file a timely challenge, this forces the authority to correct the code and possibly extend deadlines.

How does CPV differ from eClass or UNSPSC?+

CPV is the standard exclusively for public procurement in the EU. eClass is a German classification for private B2B procurement, particularly in industrial sectors. UNSPSC (United Nations Standard Products and Services Code) is an international classification used primarily by multinational corporations. The codes are not identical, and only partial mapping tables exist. For EU public procurement, only CPV is binding, other classifications may be used in parallel but do not replace the mandatory CPV designation under Regulation (EC) No 2195/2002.

Relevant for These Industries

Find Matching Tenders

With Patterno you automatically find all tenders where "CPV Code" is relevant, AI-filtered to your profile.

Start for free