CPV codes are the universal language of EU procurement. When a contracting authority publishes a tender, the CPV code tells suppliers what is being bought — without requiring them to read the full notice in the authority's language.
Structure
A CPV code is 8 digits + 1 check digit:
72000000-5
│││ └─ check digit
││└──────── subcategory (more specific)
│└───────── group
└────────── division (broadest level)
Example breakdown:
72000000— IT services (division)72200000— Software programming and consultancy (group)72212000— Programming services of application software (subcategory)
Why they matter
For buyers: CPV codes determine which suppliers see your notice. A mislabeled CPV means the right suppliers never find your tender.
For suppliers: CPV codes are how you set up alerts. If you sell cybersecurity services, you monitor 72212500 (security software development) and 72310000 (data processing services), not just the broad 72000000.
For threshold calculation: The CPV code's division level determines which procurement threshold applies (supplies/services vs. works).
Main vs. supplementary codes
Every notice has at least one main CPV code describing the primary subject. Additional supplementary codes can describe secondary aspects. For example, a building renovation might have:
- Main:
45000000(Construction work) - Supplementary:
71200000(Architectural services) if design is included
Common pitfalls
Too broad: Using 72000000 (IT services) when you mean 72212000 (application software) makes your tender invisible to specialist suppliers.
Too narrow: An overly specific code may not match how suppliers categorize themselves, reducing competition.
Wrong division: Misclassifying services as supplies (or vice versa) can trigger incorrect threshold rules and procedure requirements.