How it works
Where the data comes from, how we arrange it and what it does not show – plus the key terms, explained briefly.
What this register is
Swiss Public Contracts collects the contracts awarded and the tenders that the Confederation, the cantons and the communes publish on simap.ch, and arranges them by company, public buyer, canton and sector. That way you can see who has won which public contracts – a question simap.ch itself does not answer.
The register is a private, independent project. It is not an official publication and has no connection to simap.ch or to any authority. Only the publications on simap.ch are authoritative; every contract and tender page links to the official publication.
Key terms
- Tender: a public buyer asks for offers for a contract. Companies can submit an offer until the submission deadline.
- Submission deadline: the date, often with a time, by which the offer must be submitted. What counts is the date on simap.ch and in the tender documents.
- Award: the decision on which company gets the contract. Here we speak of “contracts awarded”.
- Public buyer (contracting authority): whoever awards the contract – the Confederation, a canton, a commune or a public body such as a hospital or a publicly owned company.
- Procedure: how the contract is awarded. Open procedure: any company can submit an offer. Selective procedure: companies first apply, then the ones selected submit an offer. Invitation procedure: the public buyer invites selected companies directly to submit an offer. Direct award: the public buyer awards the contract directly, without a tender.
- Lot: part of a larger contract, awarded separately – often to different companies.
- CPV code: the EU’s common code for the type of work, goods or services. The first two digits give the sector (e.g. 45, construction work), the full eight-digit code the category (e.g. 45233000).
- Contract type: works, supply or services contract.
- Covered by international treaties: the contract falls under the international agreements on public procurement, such as the WTO’s.
- Offer price: the price a company stated in its offer. For a contract awarded to several companies, simap.ch gives one price per company.
- simap.ch notice: simap.ch requires the sentence “Dies ist keine amtliche Veröffentlichung…” at the foot of every page, so it appears word for word, in German.
Source and terms of use
All data comes from the application programming interface (API) of simap.ch, the official platform for public procurement in Switzerland. Its terms of use allow the data to be reused, including commercially, provided it stays unchanged in content, is kept separate from our own analysis and carries the prescribed notice. That notice is in the footer of every page; our own analysis is marked as such.
Titles and descriptions appear as they were published, in the language of the publication. We neither translate nor reword them. Only some are available in English.
Licence: the register grants no licence of its own for the data; its reuse is governed by simap.ch’s terms of use (simap.ch/de/about/legal). The licence field in this page’s structured data (schema.org/Dataset) points to those terms.
Base map of the home page: swiss-maps © Interactive Things (BSD-3-Clause), data FSO/swisstopo.
When we update the data
simap.ch releases each day’s publications for redistribution from 8 am. We usually fetch them every day from Monday to Saturday after that, and the register is mostly up to date by late morning; on some days later, or the next day. Each run fetches the contracts awarded in the current and the previous month – where corrections also arrive – and the tenders of the last 75 days.
The date in the footer of every page (“Updated”) is the date of the newest publication in the register. Updated 31 Oct 2026: 18,933 contracts awarded and 1,404 open tenders.
What is covered
The archive begins in August 2024. From August 2024 to October 2024 only part of the contracts awarded were captured; these months are striped in the monthly charts. From November 2024 on, the register holds the contracts awarded that the simap.ch interface returned for each month when we fetched them. We don’t check them against official totals. 107 publications of contracts awarded from July 2026 came through the interface without a title or a winner; they are left out of every figure and list.
The register covers the contracts awarded and published on simap.ch after an open, a selective or an invitation procedure, and the tenders whose submission deadline is still open. Direct awards, which simap.ch also publishes in some cases, are not included. Contracts that are not published on simap.ch – small contracts that may be awarded directly, without a tender, for example – are missing here, just as they are on simap.ch.
How we assign contracts to cantons
What counts is the canton the publication gives as the place of performance (the contract’s address) – the same field simap.ch itself filters on. For a project divided into lots, each lot’s canton counts: a tender whose lots lie in several cantons is listed under each of them, marked “several cantons”. A contract awarded counts only in the canton of its lot, so that no total counts it twice.
Where the publication gives no place for the contract or its lots, we use the public buyer’s canton, marked “Location not given – canton of the public buyer”. Works on national roads in Thurgau or St. Gallen that FEDRO’s Winterthur branch puts out to tender without a place, for example, appear under Zurich. Other public buyers give their own address as the place of performance; their own canton is then shown even when the work takes place elsewhere – the data does not reveal it.
Two contracts name neither a place nor a public buyer with a canton; they count in no canton, and the canton overview lists them separately. All cantons together plus these contracts add up to the total on the home page. Tenders by email assigns them the same way: each of a tender’s cantons counts for your selection.
How we match companies and public buyers
A company is not always spelled the same way in the publications. Spellings that differ only in capitalisation, umlauts, accents or punctuation (“CSD INGENIEURE AG” and “CSD Ingenieure AG”, “Bolliger & Co. AG” and “Bolliger + Co. AG”) count as one company, shown under its most frequent spelling. Units with different names, such as branches, stay separate. We don’t match names against the commercial register.
A company gets its own page once it has two contracts, a public buyer once it has three, and a category (CPV code) once it has three. We match public buyers by name too, regardless of spaces, hyphens, quotation marks and brackets.
A contract awarded to several companies appears on the page of each of them.
Amounts, lots and totals
We show amounts as published. A contract’s page gives the exact amount; lists show a rounded figure, with the exact amount on hover and for screen readers.
Totals include only contracts in Swiss francs awarded to a single company. For a contract awarded to several companies the publication gives a price per company: we show these prices one by one, but never add them up or attribute them to an overall contract – in framework agreements the same ceiling often appears next to every company. Amounts in euros or other currencies are shown with their currency, never in a column of francs, and left out of every total.
An amount under CHF 1,000 is almost never the value of a contract but a unit rate (per hour, item or kilometre, for example). We mark it “probably a unit rate” and leave it out of every total and median. The same goes for an amount of up to CHF 5,000 when the publication speaks of staff leasing or a day or hourly rate (“LSE”, “Personalverleih”, “Tagessatz”, “tarif journalier” and the like).
For a project divided into lots, simap.ch publishes each lot separately. The project’s page lists every lot; where simap gives the same project price for several lots won by the same company, totals count it once.
What is not included
- Cancelled procedures: simap.ch publishes them in the same feed as the contracts awarded; they are not shown here as contracts awarded.
- Corrections: when a tender or a contract awarded is corrected, the version published last applies. We don’t show earlier versions as well.
- Expired tenders: after the submission deadline, a tender’s page stays online for 90 days, marked “Deadline passed”. If the contract is awarded and published in the meantime, the same address shows who won it. We have collected tenders since 13 Aug 2026.
- We don’t list tenders without a readable submission deadline as open.
Sectors and categories (CPV)
The classification follows the CPV, the EU’s Common Procurement Vocabulary. A sector is the first two digits of the code (e.g. 45, construction work), a category the exact eight-digit code (e.g. 45233000). Category labels come from the official CPV in each language; the names of the 45 sectors are the register’s own short forms.
“Open tenders in related categories” on company pages and “Similar contracts awarded” on tender pages are based on the digits that CPV codes have in common: a general code such as 45000000 (construction work) is not enough on its own. For companies at least the first four significant digits must match. Similar contracts are in the same sector and the same canton, closest codes first.
Downloads and subscriptions
- CSV: Canton, public buyer and company pages offer their contracts awarded as a CSV file – UTF-8 with a BOM, semicolon as the separator, amounts with a decimal point. One file serves all four language versions, with English column names (Date, Title, Contracting authority, Winners, Amount, Currency, Canton, CPV, Publication number, simap link, Canton source, Amount note) and the titles in the language of the publication. For contracts awarded to several companies the “Amount” column is left empty. Cells that begin with =, +, - or @ get a leading apostrophe, so that spreadsheet programs do not run them as formulas. “Canton source” says where the canton comes from (place: place of performance, lot: the lot, buyer: the public buyer’s seat); “Amount note” marks probable unit rates.
- Charts: every chart names its source and links to its data as a CSV file.
- Calendar: every open tender offers its submission deadline as a calendar file (.ics).
- RSS and email: every canton and every sector has its own RSS feed. With Tenders by email we send you new tenders by canton and sector, free and without an account.
Contact and error reports
Errors, questions and suggestions: write to abo@auftragsregister.ch. On every contract and tender page, “Report an error” opens an email with the publication number in the subject line. The register is run by a private individual in Switzerland; details of the operator are in the legal notice.