Need Urgent Drafting within 24 Hours? Call/WhatsApp +91-7439811422

Try "Rent Agreement", "Cheque Bounce Notice", "NDA", "Will"

26 September 2026 9 min read Corporate, Business & Commercial Contracts

Software Development Outsourcing Agreement, Explained

Protect your code with the right software outsourcing contract. IP ownership, milestones, acceptance testing and warranties grounded in Indian law.

You have shortlisted a development vendor, agreed a ballpark budget, and received promises of a slick product in twelve weeks. The real test is not the pitch — it is what happens the week after delivery when you discover the code underperforms, or when you want to switch vendors and the developer tells you the source code belongs to them. That is the moment a software development outsourcing agreement earns its cost.

Software outsourcing is among the riskiest contracts an Indian company will sign, because the single highest-value asset in the deal — the intellectual property in the code — is invisible, and ownership is not automatic. Under the Copyright Act, 1957, the developer who writes the code is the first owner of its copyright unless the contract says otherwise. Without an explicit assignment, you could spend lakhs and own nothing.

This guide covers the clauses that genuinely determine whether an outsourcing project succeeds: scoping and milestones, IP ownership, acceptance testing, warranties, and liability caps. It grounds every recommendation in Indian law so you can negotiate from a position of clarity rather than guesswork.

Start with a written scope, not a mood-board

A software project succeeds or fails on the precision of its specification. A vague brief — “build us an e-commerce portal” — produces a vague deliverable and an endless round of change requests, each billed as extra work. Your agreement must anchor the entire engagement to a written scope of work (often called a functional specification or product requirements document).

The scope of work should specify in clauses or appendices:

  • the features, user stories and functional requirements;
  • the technology stack, frameworks and hosting platforms;
  • integration requirements with your existing systems;
  • performance requirements — response times, concurrency, and uptime targets;
  • deliverables in stages, from design to deployed code to documentation.

Treat the scope as the contract’s definition of both “done” and “extra”. Any work outside it is a change request that triggers a documented change order, a revised timeline, and a priced quote — agreed in writing before any work starts. A disciplined change-control clause prevents “scope creep” from silently inflating your bill.

Milestones, payments and the definition of done

Structure the payment schedule against milestones so that you only pay for demonstrable progress. A typical structure links each tranche to an agreed deliverable:

  • 15–20% on signing and project kickoff;
  • payments on delivery and acceptance of each milestone (discovery, design, development phases);
  • a final instalment of 10–20% held until final acceptance and handover of source code.

Each milestone must name its acceptance test. This is the clause that stops a vendor from invoicing for work you cannot use. Specify, for example, that a milestone is accepted only when it passes the agreed functional tests, integrates cleanly, and meets the performance criteria in the specification. If the vendor disputes your refusal to accept, the agreement should provide a cure period — typically 10 to 15 days — to fix defects before the milestone is deemed accepted or rejected.

Under Section 43 of the Indian Contract Act, 1872, the parties are free to allocate obligations as they choose, so your milestone payment schedule is enforceable provided it is written down and agreed. Ambiguity here is what courts spend years untangling.

IP ownership: the clause that determines who owns your code

This is the heart of the agreement. As noted, under Section 17 of the Copyright Act, 1957, the author (here, the developer) is the first owner of copyright in code. A work made by an independent contractor is not automatically owned by the client. You must therefore include an explicit, comprehensive IP assignment that covers:

  • all source code, object code, documentation, designs and know-how created under the agreement;
  • all copyright and patent rights in those works;
  • the right to register, exploit, modify and sub-license the software; and
  • the vendor’s undertaking to execute any further documents needed to perfect the assignment.

Equally important: carve out the vendor’s reusable components. Most development houses build on their own libraries, frameworks and tools. The agreement should distinguish between:

  • Client-owned work: the bespoke code and unique configuration delivered for your project; and
  • Vendor-owned pre-existing IP: the developer’s proprietary tools, for which you receive a perpetual, royalty-free, irrevocable licence to use them as part of the delivered software.

Without that licence carve-out, you may own “your” software but be legally unable to use half of it. Model this on the consideration provision in Section 2(d) of the Contract Act — the vendor’s consideration includes the continued licence, so both sides get clarity.

Also address ownership of deliverables you pay for but abandon mid-project. A termination clause should state that upon full payment for work completed, you acquire all rights in the deliverables produced up to termination.

Confidentiality in a cross-border project

Outsourcing exposes you to two confidentiality risks: the vendor and the vendor’s sub-contractors. Require the vendor to bind all its personnel — including any offshore sub-contractors — to the same confidentiality obligations. Clause this to:

  • define confidential information to include your data, source code, algorithms, business logic and customer data;
  • survive termination, usually for three to five years or indefinitely for trade secrets;
  • prohibit the vendor from using your data for any purpose other than delivering the software; and
  • require the return or certified destruction of all confidential materials on termination.

Where the software processes personal data of individuals, note that the Digital Personal Data Protection Act, 2023 and, where applicable, the Information Technology Act, 2000 and its Rules impose obligations on data processors. Your agreement should require the vendor to comply with applicable data protection law and to maintain reasonable security practices.

Warranties: what must the vendor promise?

A warranty clause converts the vendor’s marketing promises into legally binding commitments. Negotiate warranties that the software:

  • conforms to the agreed specification and performance requirements;
  • does not infringe any third-party intellectual property rights;
  • is free from material defects for a defined period, typically 90 days to one year after acceptance;
  • contains no unauthorised open-licence code or malware; and
  • works with the specified platforms and integrations named in the scope.

Pair the warranty with a defect-correction obligation: during the warranty period, the vendor must fix reported defects free of charge within a defined time (say 30 days for critical bugs), with escalation if they fail. If the vendor cannot cure a material breach within a reasonable period, you should have the right to terminate and recover amounts paid for the defective work.

Under Section 14 of the Indian Contract Act, 1872, consent obtained through misrepresentation or undue influence makes a contract voidable. A warranty that mirrors your real requirement keeps the vendor honest — misstatements about the software’s capabilities may then also attract remedies for misrepresentation.

Capping liability: protect both sides

Liability caps are the most negotiated single figure in an outsourcing deal. A standard structure limits the vendor’s aggregate liability for all claims to the total fees paid under the agreement (or a multiple, typically 1×, of the contract value over the preceding twelve months). This protects the vendor from uncapped exposure and keeps the deal insurable.

But carve out liability that cannot reasonably be capped:

  • breach of confidentiality;
  • infringement of third-party intellectual property rights;
  • fraud or wilful misconduct;
  • obligations to indemnify you for claims arising from the software.

In parallel, include a mutual indemnity: the vendor indemnifies you against third-party claims that the software infringes IP rights, and you indemnify the vendor against claims arising from your content or misuse. Cap the indemnities appropriately and specify that the indemnified party has the right to control settlement and defence.

Governance, persons and duration

Name the people on both sides who manage the project. The agreement should identify the vendor’s project manager and key personnel, and prohibit their substitution without consent during the critical delivery period. That prevents the bait-and-switch of senior engineers at the pitch being replaced by junior staff once the contract is signed.

Specify the term (the delivery schedule and warranty period), and lay out both for-convenience termination and termination for cause with a cure period. On termination, the vendor must deliver all work products, source code, and documentation completed to date, transition assistance at a reasonable cost, and return your confidential materials. These practical clauses determine how messy a project’s ending will (or will not) be.

Finally, set governing law and dispute resolution: typically Indian law with courts at your place of business, or arbitration under the Arbitration and Conciliation Act, 1996 with a named seat. Avoid the common error of naming Indian law for the governing provision but a foreign seat — pick one coherent regime and make the seat explicit so the clause is enforceable.

Software outsourcing agreement FAQ

Q: Who owns the code if the contract does not mention IP?
A: The developer. Under Section 17 of the Copyright Act, 1957, the author is the first owner unless the copyright is expressly assigned. You must include an IP assignment clause to take ownership.

Q: What are the common defects in a software outsourcing agreement?
A: No defined scope, missing acceptance tests, no change-control process, unclear IP carve-outs, and uncapped liability. Each omission becomes the flashpoint of a dispute.

Q: Should I hold back a final payment?
A: Yes. Retaining 10–20% of the fee until final acceptance and handover of source code and documentation gives you leverage to ensure post-delivery fixes and full handover.

Q: What is a reasonable liability cap?
A: Typically the vendor’s aggregate liability is capped at the fees paid under the agreement, with carve-outs for confidentiality breach, IP infringement and fraud.

Q: Can my developer reuse my code for other clients?
A: Only if your agreement allows it. Explicitly assign the bespoke code to you and restrict the vendor from using it for third parties to prevent reuse of your proprietary work.

Need This Document?

Get your software development & it outsourcing agreement drafted by an expert advocate.

Get Your Draft Now
Share this article:
Call Draft Now WhatsApp