Guide · 8 min read
Requirements specification and software development contract in Switzerland: the template for an SME
Katia Ryze, an AI-generated character. Article prepared with AI and reviewed by the Ryze Systems teamThis guide covers Swiss law only. It gives the general framework and points to the legal texts. It does not replace legal advice: have your contract read by a lawyer before you sign. If your contract is governed by the law of another country, different rules apply.
The requirements specification template in eight sections
Write it in your own words, not in those of an IT specialist. The aim is for three different providers to understand the same thing.
- The problem. What costs time or money today, with a real example from last week.
- The users. Who will use it, how many people, in the office or in the field, on which device.
- The expected actions. One sentence per action: “the technician closes a job from their phone”, “the accepted quote becomes an invoice without re-entry”.
- The data. What already exists (files, current tool), what has to be migrated, what is personal or sensitive.
- The tools to connect. Accounting, email, calendar, telephony. Name them with their version.
- The rules. Who sees what, who approves what, the special cases you already know.
- What is out of scope. The most useful section for avoiding misunderstandings about the price.
- The success criteria. How you will know, at delivery, that it conforms: three to five simple tests you will run yourself.
Add your desired schedule and your budget if you have one. Hiding the budget does not lower prices; it only brings in quotes that cannot be compared. To read those quotes, see custom software cost in Switzerland.
Who owns the source code?
The Swiss Copyright Act (CopA) says three simple things. Computer programs are protected works (Art. 2 para. 3). The author is the natural person who created the work (Art. 6). Copyright can be assigned, but the transfer of one right does not include the others, and receiving a copy of the work does not give you the copyright (Art. 16).
The practical consequence: receiving the files is not enough. Without a clause, you may have software that works and no right to have it modified by someone else. Art. 17 CopA does provide that the employer exercises the rights to software created by its employee, but that rule concerns the employment relationship, not the one between a client and an external provider.
What the clause must say
- Which rights you receive: a full assignment, or a licence, and in that case with which limits.
- On what: the code written for you, and separately the components reused by the provider or the open-source software, with their licence.
- When: at each milestone payment rather than only at the end.
- In what form: complete source code in a repository you have access to, with the documentation to install it.
A useful detail: the person entitled to use a piece of software may make a backup copy of it, and the contract cannot forbid this (Art. 24 para. 2 CopA).
The contract points to check
| Point | What the contract must say | Swiss text to know |
|---|---|---|
| Nature and price | A promised result at a fixed price, or time spent with a cap | CO Art. 363, 373, 374, 394 |
| Overrun | How a change request is priced and approved in writing | CO Art. 375 |
| Acceptance | Time limit and method for testing, form of the notice of defects | CO Art. 367 and 368 |
| Warranty | Duration and extent of defect correction | CO Art. 371 |
| End of the contract | What is owed and what is handed over to you if you stop along the way | CO Art. 377 and 404 |
| Source code | Assignment or licence, accessible repository, third-party components listed | CopA Art. 2, 6, 16 |
| Provider exit | Regular handover of the code, the documentation, the credentials and a copy of the data | To be provided for by contract |
| Hosting | Country, hosting company, account holder, backups, return of the data | FADP Art. 8 and 16 |
| Data protection | Role of processor, security, agreement before any sub-processing | FADP Art. 7 and 9 |
On price: with a fixed price, the contractor carries out the work for the agreed sum (Art. 373 of the Swiss Code of Obligations). As long as the work is not finished, the client may withdraw from the contract by paying for the work done and fully indemnifying the contractor (Art. 377). A mandate, on the other hand, can be revoked at any time, with compensation if the revocation comes at an inopportune time (Art. 404). How your contract is classified depends on what it promises: one more reason to have it reviewed.
What happens if the provider stops?
This is the question people ask too late. The law does not hand you the code the day your provider closes. What protects you is what you already hold. Ask for four things, from the start and at every stage:
- read access to the code repository, in your name;
- the installation documentation, tested by someone other than its author;
- hosting and domain name accounts opened in your name, or transferable without the provider’s consent;
- a regular export of your data in a readable format.
With these four items, changing provider is a choice. Without them, it is a rebuild. We develop this point in proprietary infrastructure vs AI agency.
Hosting and Swiss data protection: what the contract must provide for
If the software contains data about customers or employees, the Swiss Federal Act on Data Protection (FADP) applies. Three articles directly concern your contract.
- Art. 9, processing by a processor. You may entrust processing to a provider if a contract provides for it. You must make sure the provider can guarantee data security, and the provider may not sub-contract in turn without your prior authorisation.
- Art. 7 and 8, design and security. Data protection must be planned from the design stage, with technical and organisational measures appropriate to the risk.
- Art. 16, abroad. Personal data may be disclosed abroad only if the state concerned offers adequate protection, or if safeguards such as standard clauses are in place.
The list of recognised states is in Annex 1 of the Data Protection Ordinance, as the Federal Data Protection and Information Commissioner (FDPIC) explains. So have the hosting country and the list of sub-processors written into the contract. This guide covers the Swiss rules only. For the other Swiss obligations, see the Swiss data protection act and CRM: what SMEs need to know.
Frequently asked questions
Who owns the source code of custom software in Switzerland?
The Swiss Copyright Act protects software as a work, and the author is the natural person who created it. Paying for the development is therefore not enough to hold the rights: the contract needs an assignment or licence clause. Have it state which rights you receive, on which parts of the code, and at what point.
What happens if the provider goes out of business?
Everything depends on what you hold that day. If you have the up-to-date source code, the documentation, the hosting credentials and a copy of the data, another provider can take over. Otherwise you start again from scratch. The contract must provide for these items to be handed over regularly, not only at the end.
Do you need a requirements specification for a small project?
Yes, but a short one. Two to four pages are enough if they describe the problem, the users, the expected actions and what is out of scope. A specification lets you compare quotes on the same basis and know, at delivery, whether the work conforms.
Is the provider who develops my software a processor under the Swiss data protection act?
If it accesses personal data on your behalf, for example by hosting or maintaining the system, the Swiss Federal Act on Data Protection applies to that relationship. It requires a contract, a guarantee of data security, and your prior authorisation before the provider entrusts the processing to a third party. You remain responsible towards your customers.
How long do I have to report a defect after delivery?
For a contract for work and services, the Swiss Code of Obligations requires you to inspect the work as soon as feasible after delivery and to report defects. For a movable work such as software, claims for defects become time-barred in principle two years after acceptance (Art. 371 para. 1). The contract can organise acceptance and warranty differently: read it again and have your case checked by a lawyer.
In 60 seconds: your friction points, the recommended modules and an indicative price range.
Last updated:
Sources
- Swiss Code of Obligations (CO, SR 220), Art. 363, 367, 368, 371, 373 to 375, 377, 394 and 404 (fedlex.admin.ch)
- Swiss Federal Act on Copyright and Related Rights, CopA (SR 231.1), Art. 2 para. 3, Art. 6, 16, 17 and 24 para. 2 (fedlex.admin.ch)
- Swiss Federal Act on Data Protection, FADP (SR 235.1), Art. 7, 8, 9 and 16 (fedlex.admin.ch)
- Swiss Data Protection Ordinance, DPO (SR 235.11), Annex 1: states with an adequate level of protection (fedlex.admin.ch)
- Federal Data Protection and Information Commissioner (FDPIC), disclosure of personal data abroad (edoeb.admin.ch, page in French)