Nadia runs a small commercial cleaning company. She registers on SEAO to land public contracts. As she sets up her alerts, the system asks her to choose her "UNSPSC codes". She picks the first one that looks like her trade, confirms, and waits. Three weeks later, not a single relevant alert. Meanwhile, two cleaning contracts in her region have been awarded, filed under a code she never checked.
The scenario is common. UNSPSC codes are not a registration formality: they are what silently decide which calls for tenders you see and which ones you never do.
What a UNSPSC code is, and why SEAO depends on it
UNSPSC code
The acronym stands for United Nations Standard Products and Services Code. It's an international classification that gives every product or service a unique numeric identifier. SEAO uses it to classify what public bodies buy, and to show you the notices that match your activity.
A UNSPSC code has 8 digits, organized into four levels of two digits each. You move from the broadest to the most specific: the segment, then the family, then the class, then the commodity or service itself.
Here's a real example drawn from the official list SEAO uses:
| Level | Code | Label |
|---|---|---|
| Segment | 43 00 00 00 | Information technology, broadcasting and telecommunications |
| Family | 43 21 00 00 | Computer equipment and electronic components |
| Class | 43 21 15 00 | Computer |
| Commodity | 43 21 15 15 | Workstation |
The further down you go, the more specific the code. A company that sells computers picks a "class" or "commodity" code (the two lowest levels), not just the segment. A segment on its own is too broad: it covers hundreds of products that have nothing to do with you.
That's the whole principle. For classifying notices and for matching, UNSPSC codes are central, even though SEAO also allows keyword search and other criteria. When a public body publishes a notice, it tags it with one or more UNSPSC codes. When you, the supplier, declare your codes, the system connects the two. That connection is called jumelage (matching).
Why your UNSPSC codes decide which calls for tenders you see
On SEAO, your UNSPSC codes serve three purposes, and each one has a direct impact on your contract pipeline.
1. Matching and your alerts. When you set up your automatic notices (the email jumelage is an optional service, billed by SEAO), the system prioritizes the calls for tenders whose codes match yours. Right codes = the right opportunities land in your inbox. Missing codes = you discover contracts once they're closed, like Nadia.
2. The Supplier Directory. Your codes position you in the directory that public buyers consult when they look for companies to invite, especially for invitation-only calls for tenders and contracts by mutual agreement. If your listing isn't filed under the right codes, you're harder to spot when a buyer looks for your service.
3. Advanced search. You can dig through published notices by code yourself, and above all consult the codes used on comparable contracts. It's a free intelligence tool, which we come back to below.
A bad choice of codes produces no visible error. SEAO will never tell you "you missed a call for tenders". You simply don't see what your codes don't cover. It's a silent blind spot, which is why it matters to choose them well from the start, then revise them.
How to find your UNSPSC codes
SEAO provides a code search tool in its help centre. Three complementary methods, from fastest to most reliable.
Method 1, keyword search. Type the term that describes your activity ("snow removal", "maintenance", "engineering", "software"). The tool displays the codes containing that word. It's the starting point, but be careful: the same word often shows up in several very different codes. Don't stop at the first one. (Notices and the code labels are in French, so search with French keywords: « déneigement » for snow removal, « entretien » for maintenance, « ingénierie » for engineering, « logiciel » for software.)
Method 2, hierarchical browsing. Start from a broad segment, then drill down into families and classes. This method is slower, but it surfaces adjacent codes you wouldn't have thought of, often the ones you were missing.
Method 3, copy your competitors' codes. This is the most powerful. In SEAO's advanced search, find a call for tenders you'd have wanted to see, or a contract already awarded in your sector. Look at which UNSPSC codes the notice was filed under. Those are exactly the codes you need. Your competitors did the classification work for you.
Always combine at least two methods. Start with the keyword to move fast, then check on 3 or 4 real notices (method 3) which codes public buyers actually use for your type of contract. The gap between the two is exactly what makes opportunities slip by.
How many codes to choose
The trick question. Too few codes, you miss contracts. Too many codes, you drown in off-topic alerts and end up ignoring them, which comes to the same thing.
Rule of thumb, not an official SEAO standard but a good practice to adjust: 3 to 5 codes covering your core activity, plus 1 or 2 adjacent codes to catch contracts filed differently from what you expected.
Why do those adjacent codes matter? Because one and the same real service can exist under several distinct UNSPSC codes, and because the classification evolves: codes get added, others withdrawn. A concrete example, drawn from the official list:
| Real service | UNSPSC code | Official label | Status |
|---|---|---|---|
| Snow removal | 72102903 | Snow removal | In force |
| Snow removal | 72102901 | Snow removal services | Obsolete |
| Snow removal | 72191501 | Snow removal | Obsolete |
One trade, but only one code in force: two older versions are flagged "obsolete" in the official list. A company that ticks a withdrawn code, or ignores the current one, misses the notices. The reflex that neutralizes this trap: start from the codes actually used on recent notices (method 3) and check that your codes are still in force, because they change.
Here are realistic starting points by sector, with real codes:
- Commercial cleaning (Nadia's case):
91111601, Janitorial services. Round it out with the codes for the related services you offer. - Building construction:
72120000, Non-residential building construction, rounded out with the codes for the specific trades (e.g.72101510, Plumbing maintenance or repair). - Consulting engineering and architecture:
80111617, Temporary personnel in architecture, or other architectural and engineering services codes depending on your offer. - Information technology:
43230000, Software,43231500, Business function specific software,43211515, Workstation, depending on whether you sell software, hardware, or both.
These codes are starting points, not prescriptions. Your final selection must reflect your actual offer, validated with method 3 (the codes seen on comparable notices).
The link between the UNSPSC code and the SEAO category: two levels of classification
On top of the fine-grained UNSPSC code, SEAO's official list files each contract under a broader category. This is the second level you'll come across in SEAO's filters and in official statistics on public contracts.
The SEAO category
SEAO's official code list ties each UNSPSC code to a contract category, identified by a letter and a number. The letter marks the nature of the contract: C for construction works, G for procurement (goods), S for services. For example: C01, Buildings; S3, Architectural and engineering services; S9, Maintenance, repair and installation of goods and equipment; G8, Computer equipment and software. These categories group purchases for classifying notices and for statistics.
Keep the practical distinction in mind: the UNSPSC code says precisely what is being bought; the SEAO category groups those purchases into broad families. SEAO's official code list links each UNSPSC code to its category (version of March 13, 2025, the one in our possession).
That detail has a useful consequence. The same family of UNSPSC codes can fall into different categories depending on the precise code. A real example: code 80111617 (Temporary personnel in architecture) belongs to the "Human resources services" family in the UNSPSC classification, but SEAO's list ties it to the category S3, Architectural and engineering services, not the human resources one. In other words, the leaf code is more reliable than the family for guessing how a contract will be classified, and therefore found.
For your SME, the practical takeaway is simple: you work with UNSPSC codes for your alerts and your supplier listing. The SEAO category helps when you analyze the volumes of a sector in public data, to decide where to focus your efforts.
Do this now
Before you close this article, do the following:
- List in one sentence what you actually sell to public bodies. Not your company mission, your concrete deliverables.
- Go to seao.gouv.qc.ca, open the UNSPSC code search tool in the help centre, and find 3 to 5 codes that cover those deliverables. The interface can be switched to English, but the code labels and notices are in French, so keep your French keywords handy.
- Open advanced search and consult 3 or 4 recent notices in your sector. Note their codes. Add to your list any code you hadn't seen.
- Enter those codes in your Supplier Directory listing and in your alert profiles (jumelage). Both, not one or the other.
- In a month, if your alerts contain noise, drop the codes that are too broad. If they're empty, widen them.
You've just closed the most common blind spot for first-time tenderers on SEAO: seeing the right calls for tenders arrive, instead of discovering them once they're closed.
To go further: The complete SEAO guide for registration and search, How to bid on a public tender: the 7 steps for what comes next, and analyze the competition before you bid to make use of your competitors' codes.
Frequently asked questions
Sources
- SEAO, Advanced search, Glossary and Help centre (seao.gouv.qc.ca, consulted 2026-05-30).
- SEAO, Official list of UNSPSC codes and their contract category, version of March 13, 2025 (official correspondence file).
- UNSPSC, United Nations Standard Products and Services Code (unspsc.org).
Adjudica
Bidding on a tender right now? The match report shows who usually bids with this buyer, how close comparable contracts were decided, and who else bids in this category. $490 plus taxes, delivered within one business day.
See the match reportNo open notice right now? The assessment covers your last 18 months: $150 CAD + taxes, credited toward your first match report.