A ruling by the Higher Regional Court of Frankfurt (case reference: 10 U 201/22) on December 19, 2024 dealt with a central conflict in IT services: the distinction between a contract for work and a contract for services. It concerned the development of interfaces within a larger software project and the question of whether the provider is liable for a specific success or merely for diligent action. This decision is of considerable relevance for companies as it provides guidelines for the drafting of contracts and legal protection for software projects.
Facts and context
The plaintiff, an IT service provider, concluded a so-called subcontractor agreement with the defendant, a recruitment company. The plaintiff was to develop specific software interfaces for two end customers: one for integration into X ByD and another for the IDMS interface on the X-Cloud platform. The defendant paid the plaintiff remuneration by the hour, but later disputed that these services had been provided in full and demanded repayment due to poor performance.
The dispute escalated over the question of whether the contract was to be classified as a contract for work – with the obligation to successfully complete the interfaces – or as a contract for services – with the obligation to act diligently. The Higher Regional Court of Frankfurt confirmed the opinion of the Regional Court that the contract was a service contract and dismissed both the claim and the counterclaim.
The legal assessment
The court based the distinction between a contract for work and a contract for services on the specific form of the contract. It examined whether a specific work result – in this case the completion of the interfaces – was agreed or whether only a service was owed.
1. the importance of the remuneration structure and contract design
The remuneration structure was decisive for the classification as a service contract. The agreement of remuneration by the hour indicates a service contract in which the provider only owes the provision of the agreed work performance without being responsible for its success. The court emphasized that the contract did not contain a clear description of the success of the work owed. Rather, the task description was general and left room for later specification, which is typical for service contracts:
In view of the specific form of the contract, the Regional Court was probably right to classify it as a service contract by way of exception. In addition to the arguments already mentioned by the Regional Court (in particular multiple use of the term “services”, hourly remuneration, end of contract with expiry of time), the notice period to be observed by both parties (Clause 4.2 in conjunction with Annex 1: 28 days) must also be mentioned, whereas under the law on contracts for work and services the customer can terminate the contract at any time in accordance with Section 648 BGB.
It should also be borne in mind that the case law that assumes a contract for work and services in the case of software development refers to the development of complete software, whereas the subject matter of the contract here was the development of an interface. The latter is characterized by enabling two software applications to communicate with each other, so that a failure – and thus an interest of the contractor to be liable only under service contract law – is more likely to be considered here than in the development of a stand-alone software as a new, closed system.
2. legal responsibility in the event of poor performance
Another key issue was the question of whether damages can be claimed in the event of an unusable service. The court clarified that no success is owed in a service contract. Therefore, the mere absence of a result cannot justify a claim for damages. Such a claim could only exist in the event of a proven breach of the contractually owed duties of care – for example due to defective programming. In this case, however, the defendant was unable to prove any specific breaches of duty:
(…) the payments made should not constitute payments on account even if a contract for work and services is assumed. The parties have agreed remuneration based on time spent and a corresponding due date even before any acceptance by the defendant. Clause 2 of the contract stipulates that the remuneration is due after confirmation by the customer both with regard to the time spent and the proper provision of services.
This means that partial payments are agreed in stages and not advance payments on a wage to be claimed with the final invoice. It is therefore doubtful whether a repayment for work not carried out in accordance with the contract can even be considered against this background. In any case, in view of these regulations, the burden of presentation and proof that the work was not performed in accordance with the contract should lie with the defendant. The lack of success alone should not lead to the full remuneration for the work being reclaimed. This is because planning services in IT projects have a value even if the project is not fully implemented
3. the distinction from software development in the law on contracts for work and services
The ruling emphasized that contracts for work and services in software development are often assumed when the completion of an entire software product is agreed. However, the development of interfaces, which primarily serve the communication of existing systems, often involves specialized services that are less predictable and therefore typically subject to service contract law.
Weigh up carefully whether it pays to be stingy when drawing up contracts: In this case, a good EUR 23,000 was lost as a claim – plus around EUR 14,000 in legal costs for 2 instances. All for a bad contract that was only really understood in the event of a dispute.
German Lawyer Jens Ferner, specialist lawyer for IT law

Compensation for poor performance in software projects?
The judgment of the Higher Regional Court of Frankfurt sheds light on the issue of compensation for damages in IT projects and provides clear guidelines. It makes it clear that in the case of a service contract, damages cannot be claimed solely on the basis of a lack of success. In contrast to a contract for work and services, where a specific result is owed, a contract for services focuses on diligent performance. This means that the service provider is only liable if they have breached their obligations, for example through a lack of care or faulty work.
In the specific case, the defendant argued that the plaintiff’s service was “completely unusable” and demanded repayment of the remuneration paid as compensation. However, the court clarified that the lack of a result alone was not sufficient to justify such a claim. It would have been necessary to prove that the plaintiff had breached its contractual obligations – for example, by failing to meet the agreed standards. However, this evidence was not provided:
Such a claim for damages under Section 280 BGB in conjunction with the concluded service contract does not already exist if the success has not occurred, as such a success is not owed. It should therefore not be sufficient for the service to be “completely unusable” (which may be necessary for the existence of a claim for damages aimed at repayment of the remuneration, but not sufficient) or for the plaintiff not to have provided any performance “results”. Rather, the standard requires a culpable breach of duty.
The court also emphasized that the value of services in IT projects does not lie solely in the end result. Even if a project is not successfully completed, partial services, such as planning or development work, can still be of value. A claim for repayment would therefore only be justified if the service provided had no value or was due to a demonstrable breach of duty.
Practical consequences for companies
The decision of the Higher Regional Court of Frankfurt illustrates how important it is to draft precise contracts for software projects. Companies must make clear arrangements when the contract is concluded in order to avoid disputes about the provision of services.
For service providers, this means that they can limit their responsibility to diligent action if no guarantee of success is agreed. Clients, on the other hand, should ensure that the desired results are clearly defined in the contract in order to avoid conflicts later on.

Software projects are inherently complex and their implementation often depends on external factors such as compatibility with existing systems. Particularly when developing interfaces or other partial solutions, companies should therefore carefully consider whether to conclude a contract for work and services or a service contract.
Conclusion
The ruling by the Higher Regional Court of Frankfurt provides important impetus for the legal structuring of IT projects. It emphasizes the importance of contractual freedom and shows that a clear distinction between service and work contracts minimizes both legal and economic risks. Companies should use the lessons learned from this ruling to draft their software development contracts in such a way that both parties enjoy legal certainty and planning security. This case in particular serves as an example of how a lack of advice and contract drafting at the start of a project can cost even more money down the line.
- BiotechCrime: Biotechnology and biohacking as a criminal offense - 10. February 2025
- European arrest warrant: Support in Germany - 2. February 2025
- Red Notice - 2. February 2025