How to Structure a Contract With a Software Vendor

In the previous article from the series dedicated to managing work with IT vendors, we talked about where to find and how to select a reliable IT provider. Today we’ll talk about the next big step – signing a contract with a selected vendor.

Being an IT service provider ourselves, we know that signing a contract is a highly important step. A contract encompasses all details of a mutual agreement between a client and a vendor and hence, extra attention has to be paid to its drafting and negotiation.

How to Structure a Contract With a Software Vendor

The fundamentals of a contract-signing process

When it comes to signing a contract between a client and a vendor, there are normally several documents involved:

  • MSA (Master Services Agreement): describes the general terms and conditions for the future work;
  • SOW (Statement of Work): an MSA annex that describes specific tasks and specific conditions for their completion and compensation;
  • NDA (Non-Disclosure Agreement): a document that protects commercial confidentiality.

Note that you can have one or several SOWs. And while SOWs may differ, we recommend retaining the same MSA in the context of cooperation between the two parties.

Different engagement types and how they affect the SOW

An SOW usually describes task-specific conditions of the contract, such as deliverables, due dates, team composition, etc. Within the domain of software development, the contents of SOW will depend on the engagement type that you will select for working with your vendor. We’ve already discussed the main engagement types in detail in this article, so we will provide a brief overview of each model below.

Fixed price: this contract means there is a “fixed” budget that the software vendor and the client negotiate on before starting work. When working under a fixed price model, a client usually has very clear requirements, a strict deadline, and a certain budget not to be exceeded. In this way, the client gains a lot of control over the project. The drawbacks of this engagement type are lack of flexibility, complex risk management, and expensive change management processes. A reliable vendor will often only agree to this model when starting the project from scratch and the vendor will take the responsibility for all stages of the development cycle.

Time and Material: with a T&M contract, a client pays for time and materials provided by the vendor and this means a very high level of flexibility. This engagement type is suitable for agile projects and allows you to implement changes any time you need them. As well, T&M brings a high level of scalability to a project. A possible challenge with this engagement model is that it is vital to know how to plan tasks properly – otherwise, if the team has no tasks to do, it will be disembodied. It is also important to note that the client plays only for the time that the team spent on a project and does not pay for the downtime.

Dedicated team: A dedicated team model implies that a software vendor provides a client with a team of professionals and there is a monthly fixed fee for each team member. Under the DT model, the client has the greatest control over the team and project resources and it is easier to integrate the team that way with the client’s in-house team and processes. As well, this engagement type ensures that the team stays on the project for the longest term and the risk of losing valuable project knowledge is minimized. As for the possible challenges, it is important to keep in mind that it’s the client’s responsibility to provide tasks for the team to work on, as the downtime is still invoiced to the client. 

You will choose the right engagement model based on your vision of the project and the needed results. The software vendor normally helps the client by consulting them and advising them on the best model depending on the project goals, available budget, and deadlines.

Key elements to focus on when negotiating a contract

As you can see, there are many intricacies involved in assembling a contract between a software provider and a client – below we will discuss the main things to pay attention to. Judging by our experience, these parts of the agreement usually cause the most discussion so it is important to understand how to make them as fair as possible for both parties.

Quality and compliance

If the performance, security, and compliance are required to meet specific standards or benchmark targets, the client can request the relevant terms and conditions to be included in the MSA or SOW in the form of corresponding benchmarks (i.e. server response speed and load capacity for performance). As well, the client can demand the project to follow certain software development best practices, for example, security-based ones (OWASP, PCI, etc) or compliance with specific regulations (HIPAA, GDPR, etc.).

All these subjects are usually included in the SOW and as soon as both parties agree on them, these conditions become key terms of the contract and must be met. It is also desirable to define as many details of the client’s requirements as possible so they can serve as a base for future changes or any discussions regarding the project.

Payment terms and late payment penalties 

The key principle to follow here is that this part of the contract has to be very detailed and accurate. As well, a unified understanding of given terms of the contract is important for both sides.

The client pays compensation based on invoices presented by the service provider. The currency of payments (from the point of view of financial discipline and requirements of monetary control) should correspond to the currency stated in the corresponding SoW. Payment on a preliminary basis may also be possible – in this case, it will confirm the start of the collaboration between the parties.

The client normally pays all fees during a certain period that follows the issue of an invoice. The vendor, in turn, is usually responsible for all bank expenses, related to the payment, which is convenient for the client.

Another important thing to note here is that the contract (either the MSA or the SOW or both) should define payment terms (time period within which the payment should be made). The payment terms are usually net30 (30 calendar days). In case of a late payment, a penalty will be applied.

Late payment penalties provide financial protection to the party that incurs expenses. A penalty is usually limited to a certain percentage of the project’s budget. The percentage ratio is established by both parties via negotiation but it should not exceed 100% of the contract amount.

Finally, it is critical to state how and where the payment will be transferred (usually it happens via wire transfer) and in what currency the payment will be performed.  

Assignment of IP rights

As a rule, the vendor transfers all IP rights created as the result of performing services under the agreement to the client, unless stated otherwise in the agreement. The transfer happens when the obligations under the agreement have been met by both parties or agreed otherwise by both parties.

An outsourcing company always transfers its rights to the created product to the client and does not claim the intellectual property objects created by the company. The intellectual property is transferred in full throughout the term of the duration of the copyright law. In this case, the client’s proprietary rights are protected by the labor contract between developers and the company. 

One more thing worth noting is that individual developers of the software product (contractor’s employees) do not have a claim to the intellectual property due to their employment contract. Therefore it is important for the client to know that the developers that will be performing the work are actual employees of the contractor. Hence, when a software company signs up a contract with the client, the client will become the owner of the intellectual property created within the terms of the agreement.

The only condition that the client must meet when talking about the IP transfer is payment for the provided services. The moment the full payment has been made, the exclusive rights of product ownership are transferred to the client. However, the vendor may agree to transfer the exclusive rights to the client before the full payment is made, which should be agreed to by both parties in writing.

Team scaling and replacement

This point relates to the Time & Material and Dedicated Team engagement models only since these two models imply budget flexibility and multilateral changes to the team during the development process.

It may happen that a client decides to scale the team (i.e. add more or remove team members) or there is a need for replacing certain specialists. In order for the vendor and the client to efficiently change the structure of the team through the engagement, it is important to negotiate several aspects in advance.

Replacement process duration

There are three cases for a replacement:

  • By the client’s initiative: if a client initiates a replacement, he has to notify a vendor in advance (from 1 to 3 months) and the notification time will depend on the size, duration, and complexity of the project. Expenses for knowledge transfer are usually paid by the client if the parties did not agree otherwise.
  • By the vendor’s initiative: if a vendor initiates a replacement, he also has to notify the client in advance and takes full responsibility for finding a corresponding replacement and minimizing possible project risks. Expenses for knowledge transfer will be paid by the vendor.
  • Unexpected circumstances: the client and the vendor should act in good faith and agree on an effective solution that would bring maximal value to the project.

Change requests 

Negotiation of change requests and their inclusion in the contract are relevant only for the Fixed Price engagement model since this model implies a fixed scope and budget that can not be freely changed. Hence, the contract should outline a way in which changes to the scope are approached, estimated, performed, and billed. It is important to have strict rules for managing changes to the scope to avoid scope creep and keep the team focused on delivery. 

While it might be hard to foresee all possible changes and decide in advance how to approach them, it is always a good idea to have a certain agreement on how to estimate and prioritize them. But in general, we recommend minimizing the number of change requests in order to avoid scope creep and prioritizing all proposed changes to retain the focus on the main goals of the project.

Non-solicitation and non-compete

Throughout the contract time and during a certain period after its termination, each party agrees that it will not engage contractually and will not solicit the employees of the other party unless there is a written agreement with defined terms and conditions of hiring a current or a former employee. Non-solicitation includes employees, clients, partners, or contractors (vendors). In the case of a solicitation, there are normally punitive sanctions that are defined by both parties.

As for the non-compete part of the agreement, it implies that one party does not engage in the market of the other party having a competitive advantage derived from the result of the engagement between both parties. The non-compete clause’s main objective is to protect the client’s business by not allowing the vendor to use acquired expertise and know-how at the expense of the client in order to engage the client’s market. The non-compete part of the agreement should be time bound and can have penalties.

Termination/waiver of the agreement

Termination of an agreement may be unilateral or mutual and each will go on different terms that are to be discussed and stated in the contract.

In case of a unilateral waiver, it should always go with a notice (usually from 30 to 90 days) and the party that initiates the termination should compensate for all the work performed up to the affected termination and any other compensation as listed in the agreement. However, if one party breaches any term of the agreement, the other party sends a notification with a term for remedying the breach. If the breach is not remedied in accordance with the defined term for remedying, the contract can be terminated unilaterally by the party that incurs expenses.

All possible termination scenarios should be considered in advance and should be stated in the agreement. In this case, both parties will make themselves safe from possible losses.

Final word

It is also worth noting that the vendor always remains flexible and both parties normally focus on peaceful settlement of differences so negotiations and transparent communication are keys to a mutually beneficial agreement.

And obviously, the contract should be fair for both parties: by that, we mean that both parties should be satisfied with the defined terms of the contract and should equally benefit from the delivered results. This is achieved through transparent communication and negotiation and trust between both parties.

Want to stay updated on the latest tech news?

Sign up for our monthly blog newsletter in the form below.

Softteco Logo Footer