Skip to content
Guide · Hiring

Yash Suthar, founder of StackWiseUpdated 6 min read

Short answer

A software development contract should put in writing the scope and exclusions, milestones with acceptance criteria, how change requests are priced, assignment of all code and IP to you, ownership of design files and accounts, confidentiality, a bug-fix warranty and support terms, termination and handover steps, and governing law with a dispute process. Have a lawyer review it before you sign.

Key takeaways

  • Paying for code does not make you its owner; the contract needs a written IP assignment.
  • Define acceptance criteria for each milestone so "done" is testable, not a matter of opinion.
  • Agree how changes are raised, priced and approved before the first one comes up.
  • Keep the domain, hosting, repository and payment accounts in your name from day one.
  • This is a checklist, not legal advice: have a lawyer review the contract.

What a software development contract includes

Most software deals use two or three documents: a master services agreement (MSA) with the legal terms, a statement of work (SOW) for each project, and an NDA. Small projects often combine them in one agreement, which is fine if every clause below is covered. If they are separate, check which document wins when they conflict.

A contract only protects you if you picked the right vendor. How to choose a SaaS development company covers that step.

The clause-by-clause checklist

Use this table to review a draft or to brief your lawyer.

Software development contract clauses and what to look for
ClauseWhat to look for
Scope and deliverablesFeatures, user roles, platforms and integrations, plus the designs and documentation you receive
ExclusionsWhat is not included, such as content writing, data migration, third-party fees or app store fees
Milestones and paymentsPayments tied to delivered and accepted milestones, not to dates alone
Acceptance criteriaA testing window after each milestone, how defects are reported, and what counts as accepted
Change requestsChanges raised in writing, estimated for cost and time, and approved before work starts
IP assignmentAll code, designs and documentation assigned to you, worldwide, and when that takes effect
Pre-existing and open-source codeA permanent license to any reusable vendor code, and a list of open-source licenses used
Accounts and hostingDomain, hosting, repository, app store and payment gateway accounts registered in your name
Confidentiality and NDAWhat counts as confidential, how long the duty lasts, and return or deletion of your data at the end
Data protectionHow personal data is secured, in line with laws that apply to you, such as India's DPDP Act, 2023
Warranty and bug fixesA defined period after launch when defects in the agreed scope are fixed at no cost
Support and maintenanceWhat follows the warranty: scope, response times and monthly cost
TerminationNotice period, payment for work done, and your right to everything built so far
HandoverSource code, credentials, documentation and data exports delivered, with time for questions
Liability and indemnityA cap on liability, and who covers third-party claims such as IP infringement
Governing law and disputesWhich law applies, which courts or arbitration seat, and an escalation step before either

Scope, acceptance criteria and change requests

Most disputes start here, because "done" was never defined. Write acceptance criteria as checks anyone can run. "Users can reset their password by email, and the link expires after one hour" is testable. "A user-friendly login" is not.

Look for a clear line between a defect (it does not work as agreed) and a change (you now want something different). Some contracts treat a milestone as accepted if you do not respond within the testing window, so put those dates in your calendar.

For comparison, at StackWise minor additions under 10% of scope are absorbed, and larger changes get a quote and timeline adjustment within 24 hours.

IP, code ownership, accounts and NDA

In many countries, including India, a contractor who writes code for you can own its copyright until it is assigned to you in writing. Paying the invoice is not the same as owning the work. Check when the assignment takes effect: on signing, on each payment or on final payment.

Under Indian copyright law, an assignment that does not state its duration or territory is treated by default as lasting five years and covering only India, so look for worldwide wording for the full term of copyright. Vendors often keep their own reusable tools, which is reasonable if you get a permanent, royalty-free license to use them. Ask for a list of open-source licenses, since some, such as the GPL, attach conditions when you distribute the software.

Accounts matter as much as code: the vendor should be a user on your domain, hosting, repository and payment gateway, not the owner. Sign the NDA before you share anything sensitive, and check that it covers your data, not just your idea.

StackWise signs NDAs on request before sensitive information is shared, and hands over the full repository, design files, documentation and access to every account, with no licensing fees or lock-in.

Warranty, support, termination and handover

  • Warranty. Set response times by severity: a broken checkout needs a faster fix than a typo. New features and problems caused by someone else's changes sit outside it.
  • Support. After the warranty, a retainer needs its own scope, response times and price; see what maintenance and support can cover. StackWise includes one to three months of support, depending on the plan, then an optional monthly retainer.
  • Termination. Look for a notice period, payment for work completed to that date, and delivery of everything built so far, including unfinished code.
  • Handover. Name the deliverables: repository, credentials, documentation, database exports and a short window for questions, so another team could pick up the work.

Governing law and dispute resolution

The contract should name the law that applies and where disputes are heard: specific courts or an arbitration seat. Many contracts add an escalation ladder first, such as a meeting between senior people, then mediation. If you and the vendor are in different countries, ask your lawyer whether a judgment or award could be enforced where the vendor is based.

In India, agreements are generally subject to state stamp duty, and electronic signatures are recognized under the Information Technology Act, 2000. Your lawyer can confirm the stamping and signing steps for your agreement. Hiring from abroad? See outsourcing software development to India.

Want a number for your project?

Answer a few questions and get a starting price straight away, then a written quote.

Questions people also ask

Something else? Ask in the chat and get an answer straight away.

  • At minimum: scope and exclusions, milestones and payments, acceptance criteria, change requests, IP assignment, ownership of design files and accounts, confidentiality, a bug-fix warranty, support, termination and handover, liability limits, and governing law with a dispute process. Have a lawyer review the final draft.

Free consultation

Have a project in mind?

Tell us what you're building. We'll suggest the simplest way to ship it, and tell you honestly if we're not the right fit.

Email us
  1. 1

    Tell us about the project

    A few quick questions in the chat, or an email.

  2. 2

    Reply within 24–48 hours

    With questions, a rough scope and a starting price.

  3. 3

    Free call, then a written quote

    No commitment until you're happy with it.