Limitation of liability clauses in software development projects – financial caps
Drax Energy Solutions Limited v Wipro Limited  EWHC 1342 (TCC)
Was the limitation of liability clause in the Master Services Agreement construed by the court to provide for a single aggregate cap to be applied to the customer's pleaded claims (limiting the claim to £11.5m from a pleaded claim of £31m), or separate caps for each claim?
The key takeaway
Where there is more than one possible interpretation of the wording of an ill drafted clause, with “linguistic quirks” and where there is an inconsistent choice of wording throughout the contract, the courts will use their tools of linguistic, contextual, purposive and common-sense analysis to discern what the clause really means, respecting that commercial parties are entitled to allocate between them the risks of something going wrong in their contractual relationship, in any way they choose.
Drax and Wipro entered into the MSA in January 2017. Under the MSA and its seven related Statements of Work (SOWs), it was envisaged that Wipro would design, build, test and implement a new Oracle-based IT system for Drax – including customer relationship management, billing and smart metering functionality, as well as software encryption, ongoing maintenance and related IT services.
However, milestones were repeatedly missed and the project ended in failure: less than eight months in, Drax terminated the MSA for Wipro's alleged repudiatory breaches and sued Wipro for damages. Drax claimed total losses of around £31m (more than four times the fees payable in that first year).
Clause 33.2 (the Clause) of the MSA contained the following limitation of liability:
“Subject to clauses 33.1, 33.3, 33.5 and 33.6, the Supplier's total liability to the Customer, whether in contract, tort (including negligence), for breach of statutory duty or otherwise, arising out of or in connection with this Agreement (including all Statements of Work) shall be limited to an amount equivalent to 150% of the Charges paid or payable in the preceding twelve months from the date the claim first arose. If the claim arises in the first Contract Year then the amount shall be calculated as 150% of an estimate of the Charges paid and payable for a full twelve months.”
Ahead of the main trial in this case, scheduled for October 2024, the court was asked to determine two preliminary issues:
- Did the Clause provide for separate liability caps for each claim, or did it provide for one single aggregate cap?
- If the Clause did provide for multiple liability caps for different claims, what were the different claims to which the cap applied?
Issue 1: One cap or multiple caps?
Perhaps unsurprisingly noting the use of phrases such as “total liability”, and “the claim” (rather than “a claim” or “for each claim”), the court held that the language of the Clause and related provisions were a “clear indicator” that the Clause imposed a single aggregate cap, not multiple caps.
As to business common sense and contextual considerations, including the purpose of limitation clauses:
- Drax argued that there were multiple SOWs under the MSA, and more SOWs could have been executed in future by other group companies, in respect of other projects – so it didn't make business sense for there to be a single aggregate cap, which Drax would be stuck with in respect of any and all claims that might arise under any SOWs in the future. The court dismissed that argument as unrealistic – Drax had termination rights it could utilise under the MSA if the project was proving or threatening to be a disaster.
- Drax also argued that if the Clause provided for a single aggregate cap, that would result in its claims being limited to just £11.5m – a third of their potential £31m value, which would make no business sense. The Court disagreed. Balancing the parties' competing perspectives, the court's view was that, although it was true that a single aggregate cap would significantly limit Drax's claims, the Clause still left Drax with potential and not insignificant damages, while at the same time operating as an effective limit on Wipro's liability, without being “so high as to be devoid of any real purpose” as a limitation clause.
Ultimately, the court recognised that “it may be that Drax did not... protect itself in terms of claims to be made as it could or should have done [but that] is quite different from saying that the Clause makes no commercial sense”.
Accordingly, the court found that Drax's total claim of £31m was effectively limited to £11.5m by the single liability cap under the Clause.
Issue 2: One claim or multiple claims?
Despite its conclusion for Issue 1 effectively closing off the second issue, the court answered Issue 2, accepting neither party's primary cases about the meaning of “claim”:
- Drax's contention that “claim” meant “cause of action” (resulting in 16 “claims”) simply couldn’t be right, as “there would be a total cap of £132m for the first 12 claims and then a further cap for the remainder”. The Clause had to operate as an effective limitation on Wipro's liability.
- Wipro's position that “claim” meant “liability”, however, would have been too restrictive, depriving Drax of the ability to bring multiple claims under the MSA: that would be an “artificial” interpretation which would mean “there could never be more than one operative claim”.
Instead, the court adopted a middle ground that involved “construing a claim in the context of and for the purposes of the operation of the Clause”. The court considered that Drax's alternative case, that “claim” should be interpreted in accordance with the four broad categories of claim included in its particulars of claim, was a sensible approach and would not lead to an “odd outcome” as to the applicable liability caps under the Clause. Even though the court accepted that Drax's four categories were somewhat arbitrary, the parties' chosen contractual wording was not entirely clear as to what “claim” meant, and their primary arguments were not workable within the purpose of the Clause, and therefore the court explained that “some other meaning must be given”.
Why is this important?
The decision provides a useful illustration of the court’s approach when interpreting a limitation of liability clause and highlights the dangers of poor and inconsistent drafting. Where there is ambiguity in the contractual wording, the court is entitled to prefer the construction that is consistent with commercial common sense but will not seek to relieve a party from a bad bargain.
Any practical tips?
Consider that the courts may take a narrow and purposive approach when construing limitation of liability clauses (within their factual and commercial context). Key words like “claim” will be interpreted based on context and may not equate to “cause of action” or “liability”.
Software developers, IT service providers and others that typically operate within an MSA/SOW contractual framework should take care to consider and agree allocation of risk effectively before entering into any MSA or SOW (including considering whether each SOW should contain its own specific limitations of liability that override any general limitations in the MSA).
Clauses containing financial caps can use a variety of ways to ensure certainty and enforceability for example by fixing an overall sum for the cap or by limiting the amount to the sums paid to the supplier. When referring to “paid” sums it is important to define “paid” as opposed to “payable”.
As well as dealing with the value of the cap it is important to carefully describe what the cap applies to: a single cap may apply to all claims made “under” or “in connection” (much wider) with the agreement, a defined period such a calendar year, or per claim. In some circumstances, it may be advisable to apply different limits for different kinds of loss, accepting that the more complex the arrangements the more likely that arguments may ensue.