1. Definition of software contract
In a software development contract, the programme is adapted to the needs of the user (production of a “work”). This also includes the conversion of software to other operating systems. This is therefore a contract for work and services. Consequence: Remuneration is owed only after success has been achieved and acceptance has taken place. But: The contractor (i.e. the programmer) can demand partial payments. Also, the statute of limitations does not start to run until acceptance.
2. subject matter of the contract and the basic functionalities
At the outset, the subject matter of the contract and the basic functionalities of the software to be created are usually specified. The explanations for the software contract are rather brief here.
3. performance obligations of the contractor
The service obligations of the contractor are the development and production of the software. This is recorded in the so-called specifications, the core of the contract. It contains the specifications of the software in detail, including the task to be accomplished by the software, the functionalities and the required scope of services. The specifications should be as precise as possible; they will serve as an orientation and design aid again and again later on.
4. Completion dates
The completion dates are also specified in the software development contract; here one works with so-called milestones. Some contracts provide for contractual penalties for the programmer’s delay.
5. Installation, instruction
The programmer must install the software on the customer’s hardware in such a way that it is functional. As a rule, instruction of the employees is also agreed.
6. Source code, documentation, user manual
The source code shall be handed over to the customer together with the documentation and the user manual. The documentation shall be kept in such a way that a professional programmer is able to edit the source code for further development of the software.
7. payment modalities
Payment modalities are variable. Advance payments can be linked to the achievement of milestones. However, a lump sum payment can also be agreed upon after completion of the software.
8. rights of use
The rights of use should also be precisely defined in the software development contract. A right to edit should be included in any case if the buyer wishes to have the software developed further independently.
10. defect rights / liability / right of termination
The rights in respect of defects are all contained in the German Civil Code (BGB), but are sometimes also stipulated again in the contract. Liability for breach of material contractual obligations is usually limited to the foreseeable damage in the case of slight negligence. A right of termination is found in the event of default on the part of the contractor.
9. Acceptance in the Software Contract
Acceptance is of decisive importance for the payment of the remuneration in a software development contract. The declaration of acceptance can be either explicit or implied (= conclusive). An implied declaration of acceptance can, for example, be the unrepentant use of the software or the unconditional payment of the remuneration. If acceptance is declared with knowledge of a defect, there may be a risk of loss of warranty for the specific defect.
10. refusal of acceptance
The contractor may not refuse acceptance due to insignificant defects (section 640 (2) sentence 2 BGB). Criteria as to whether a material defect exists: Extent of the measure to remedy the defect. If the contractor refuses acceptance, he may set the client a deadline for acceptance. If the deadline expires without result, the work is deemed to be accepted. However: The client may retain part of the remuneration in the event of a defect.
11. Remuneration for software development contracts
Pursuant to section 641, paragraph 1, sentence 1 of the German Civil Code (BGB), remuneration is only payable upon acceptance of the work. The client must declare acceptance. The contractor should therefore include development phases with tests, associated documentation and partial remuneration in the contract.