For many businesses, custom software forms the foundation of their business model. In precisely such situations, the interests at stake are significant and expectations run high. When the development process runs less smoothly than hoped, clients quickly tend towards taking legal action. However, if the statutory framework or contractual agreements are not carefully followed in doing so, this can put the client in a worse position. The recent ruling of the ‘s-Hertogenbosch Court of Appeal illustrates this strikingly.
The facts: a stalled development process
In this case, a company commissioned an app developer to build an app that was to form the basis of its business. During the testing phase, concerns arose about defects and the feasibility of the planned launch. The company then decided to immediately dissolve the assignment agreement on the grounds of alleged shortcomings by the developer, without first sending the notice of default (ingebrekestelling) usually required.
Shortly afterwards, a written notice of default did follow from the company, demanding that the defects be remedied and delivery take place within a short period. The developer disputed the alleged defects. He also argued that it was in fact the client who had failed to comply with its cooperation obligations, making completion impossible. Because his own notices of default did not achieve the desired result, the developer then partially dissolved the agreement and claimed payment of outstanding invoices.
The client subsequently started court proceedings and claimed, among other things, repayment of various invoices, damages and access to the source code. The district court, and later also the Court of Appeal, rejected the client’s claims and granted those of the developer.
Dissolution, default and cooperation obligations
A central theme in the ruling is the question of when a client is entitled to dissolve the agreement. Dissolution for breach of contract in principle requires the other party to be in default. For that, the performance must be due, and the debtor must, after a proper notice of default, have been given a real opportunity to still perform.
According to the Court of Appeal, there was no default. The project was, after all, still in a phase in which testing was taking place, feedback was being processed, and input was still expected from the client as well. In addition, the short deadline set by the client for delivering a fully error-free, app-store-approved application was considered unrealistic by the Court of Appeal. Such a demand could therefore not be regarded as a valid notice of default, meaning the dissolution based on it had no effect.
The notice of default concerning performance of the client’s cooperation obligations, on the other hand, was effective. The failure to cooperate put the client in default, after which the developer was entitled to proceed with partial dissolution, according to the court.
Fatal deadlines are not a given
Default can also arise without a notice of default first being sent, for example if fatal deadlines are missed by the debtor. In this case, a desired release date had been stated by the client, and various delivery dates for test versions had been agreed. The Court of Appeal made clear, however, that such dates do not automatically count as fatal. A deadline is only fatal if the parties have expressly agreed this, or if it follows from the nature of the agreement and the circumstances of the case.
Wording referring to preferences, expectations and “doing everything possible” to meet a date offered insufficient basis to assume that missing it automatically amounted to breach of contract. According to the Court of Appeal, such communication mainly pointed to best-efforts obligations rather than result obligations.
Lessons for buyers of custom software
This ruling underlines that dissolution is not a suitable tool for exerting pressure when a custom software project is not running smoothly. For buyers of custom software, it is essential to make clear agreements in advance about fatal deadlines, certainly where timing is of essential importance. All the more so because developers often stipulate in their terms and conditions that all their performance counts as a best-efforts obligation and not a result obligation. A best-efforts obligation means that none of the stated dates can be regarded as fatal deadlines.
In addition, dissolution is a drastic remedy and requires careful preparation: without default and a proper notice of default, the legal basis is often lacking. The ruling also shows that cooperation obligations are not a side issue. A client who itself provides insufficient input or delays decision-making runs the risk of falling into default itself.
Need help?
Are you planning to have custom software built? Let us draft or review the agreement. Are you already in the middle of it and it isn’t going as hoped? Let us assess your legal position and what the next legal step should be to get the process moving again. Please feel free to contact us via info@thelegalcompany.nl or call 020-3450152.