TREADSTONE LAW · ONTARIO · DIGITAL LEGAL SERVICES · EST. MMXXI ·TSL
Home/Case Studies/Corporate
№ 124 Case Study — Corporate

Rewriting a Vendor's Contract Before the Next Claim Landed

A St. Catharines software vendor grew from a side project to a $35 million business on one boilerplate agreement. A single unresolved claim showed its owners exactly how exposed that left them.

Corporate7 min readSt. Catharines, OntarioCommercial contracts
All Corporate case studies
ClientDeepa, Quang and Thao, co-owners of a portfolio-reporting software company in St. Catharines
The issueOne outdated service contract with no cap on liability, used across every customer
ServiceMaster services agreement drafting and a contract dispute negotiation
ResolutionA negotiated settlement plus a new contract template protecting future revenue

The situation

Deepa and Quang met while working as investment advisors at competing firms, comparing notes over the years about how much of their day went into manually checking client portfolios against regulatory and internal compliance rules. What started as a shared spreadsheet became a piece of reporting software, then a company. Thao, who had handled operations at a wealth management firm, joined as the third co-owner to run delivery and client onboarding. Ten years later, the company built and sold portfolio-compliance software to mid-sized wealth management and investment advisory firms across Canada, with annual revenue that had grown past $35 million and a client roster that now included some of the larger advisory shops in the country.

The contract customers signed had barely changed since the first version, drafted years earlier when the business had three employees and one client and Deepa had put it together herself over a weekend using a template she found online. It described the software, set a monthly fee, and said little else. There was no cap on how much the company could be on the hook for if something went wrong, no clause addressing who owned custom work built for a particular customer, and no real process for updating pricing as accounts grew. For years, nothing had gone wrong, so nobody had reason to look closely at what the contract actually said. The company had been lucky, not careful, and its owners knew it without quite getting around to fixing it, the way a fast-growing company's oldest, most boring document is often the last thing anyone circles back to revise.

What the review found

The gap surfaced when one of the company's larger customers, a national wealth management firm, flagged that a data-mapping error in the software had caused it to under-report a category of client holdings for several months. The error was real and traced to a configuration change the vendor's own team had made without adequate testing. The customer's compliance department had to conduct a manual review of every affected account, notify its regulator, and correct the filings. It came back with a claim for roughly $900,000 in remediation and consulting costs.

Thao brought the contract to Treadstone Law along with the claim letter. The review took less than a week to surface the core problem: the agreement had no limitation of liability clause at all. Without one, a court applying ordinary contract principles would look to the actual, provable losses the error caused, with no ceiling built in by the agreement itself. The company's exposure was not fixed at some manageable figure — it was whatever a court found the customer's real damages to be, and $900,000 was the customer's opening position, not a legal limit.

The review also turned up gaps that had nothing to do with the immediate claim but were just as costly waiting to happen. The agreement said nothing about who owned custom reporting templates built for individual customers, which meant every bespoke build was arguably jointly owned or worse, undefined. It had no indemnity provision requiring customers to cover the vendor for losses caused by the customer's own misuse of the software. And it auto-renewed annually with no defined process for updating fees, which had left the company quietly underpricing several of its oldest, largest accounts for years.

None of this was unusual for a company that had grown as fast as this one had. The original contract was written when the founders were still doing their own client onboarding and had every incentive to keep the paperwork simple. A decade later, the same document was governing relationships with firms many times the size of the original client, handling far more sensitive data, and generating a much larger share of the company's revenue per account. The contract had not kept pace with what the business actually did, and nobody had circled back to fix that until a claim forced the question.

What we did

  1. Separated the live dispute from the template problem. The claim needed an immediate response; the contract needed a full rewrite, and the two called for different mindsets — one defensive and fast, the other deliberate and forward-looking. Running them as a single project would have let the urgency of the claim dictate rushed decisions about the company's future template, baking a crisis-driven compromise into the document every future customer would sign. We split the work into two tracks from the outset, with separate timelines and separate sign-off, so neither problem distorted the other.
  2. Assessed the company's real negotiating position on the claim. With no liability cap in the contract and a genuine, documented configuration error on the vendor's own side, the company was not going to walk away paying nothing, and pretending otherwise would have wasted time better spent negotiating. The realistic goal was containing the number and avoiding a lawsuit that would cost more in legal fees, management distraction and reputational damage with other customers than a fair, promptly negotiated settlement would.
  3. Opened negotiations with the customer's counsel. Rather than respond to the $900,000 figure directly, we proposed a settlement built on the actual, documented cost of the customer's remediation work and formally requested a line-by-line breakdown supporting the claim. About a third of the claimed amount turned out to be internal staff time the customer had estimated rather than tracked with any records, which gave real room to negotiate the figure down on the merits rather than through pressure alone.
  4. Reached a negotiated settlement. The company agreed to pay roughly $310,000, covering the customer's documented external consulting and regulatory filing costs, plus a service credit against future fees worth about $40,000. In exchange, the customer signed a release closing off further claims arising from the error and agreed to a two-year contract renewal at updated pricing, turning what could have become a costly, drawn-out dispute into a retained account on better commercial terms than before.
  5. Drafted a new master services agreement for all future customers. Because the old template's biggest failure was the missing liability cap, the new one made that the centrepiece: liability capped at a defined multiple of fees paid in the prior twelve months, limited carve-outs for gross negligence and confidentiality breaches, and mutual indemnities so each side bore responsibility for losses it actually caused rather than the vendor absorbing everything by default.
  6. Added ownership and pricing terms the old contract lacked. The new agreement made clear the company owned the underlying software and any customer-specific configurations built on top of it, while customers retained their own data outright, closing the ownership ambiguity the review had flagged. It also replaced silent auto-renewal with a defined annual notice period for fee changes, closing the gap that had let several long-standing accounts drift years below market rate without anyone deciding that on purpose.
  7. Built a short onboarding process for migrating existing customers. Rather than trying to convert every customer to the new agreement at once, which risked triggering renegotiation of pricing across the entire customer base at a single sensitive moment and inviting pushback the company wasn't resourced to handle all at once, the company migrated customers onto the new template gradually, as each existing contract came up for its own renewal over the following year.

The outcome

The settlement cost the company about $350,000 in total value between the cash payment and the service credit — a real cost, and one that reduced that quarter's profit noticeably. It was also, on the numbers Treadstone Law's negotiation produced, roughly two-thirds less than the customer's original claim, and far less than a contested lawsuit over an uncapped liability clause could have cost in damages and legal fees combined. The customer stayed on as a client under the new two-year term, which mattered as much to Deepa, Quang and Thao as the dollar figure did — losing a customer of that size would have hurt the business more than the settlement itself.

The new master services agreement now governs every new customer relationship, and existing accounts have been migrating onto it steadily as renewals come due. The company's insurance broker, once shown the capped liability language, was also able to bring down the cost of its professional liability coverage, since capped exposure is easier and cheaper to underwrite than open-ended exposure. None of that undoes the cost of the original claim. It does mean the next configuration error, whenever it happens, will land against a defined ceiling instead of an open question a court would have to answer from scratch.

What you can learn from this

  • A contract with no limitation of liability clause leaves a company exposed to whatever a court finds the actual damages to be — there is no built-in ceiling protecting the business.
  • Growing companies often keep using their first, simplest contract long after the business around it has outgrown it. Revenue growth is a good trigger to have that template reviewed, not just a source of pride.
  • When a dispute and a contract redesign land at the same time, handle them as separate projects. Letting an urgent claim rush a permanent template usually produces a worse long-term document.
  • A customer's opening damages figure is a negotiating position, not a bill. Asking for the documented breakdown behind a claim often reveals room to negotiate that isn't visible from the number alone.
  • Capped, well-defined liability terms are not just a legal protection — they can lower the cost of the company's own liability insurance, because insurers price defined risk more cheaply than open-ended risk.
This case study is entirely fictional. It does not describe any real client, file, or matter handled by Treadstone Law, and it is not a real file with details changed. All names, people, properties, businesses, dollar amounts, dates, and events are invented, and any resemblance to a real person, business, or situation is coincidental. Fictional scenarios like this one illustrate the kinds of legal issues people in Ontario commonly face and how a lawyer can help. They are general information, not legal advice — no two matters unfold the same way, and nothing here predicts the outcome of any real case. Reading a case study does not create a lawyer-client relationship. If you are facing something similar, speak with a lawyer about your specific circumstances.

This is a corporate problem we handle

Start a file online — flat, published fees, reviewed by a licensed lawyer before a dollar is owed.

ContactStart a File →