A garment exporter in Okhla pays a development agency to build an order-tracking app. Nine months later the app half works, the agency says the remaining features were “never in scope”, and the code sits in the agency’s own account, along with the app’s store listing. A startup in Gurugram discovers during due diligence that its core product was written by a contractor who never assigned the copyright. Software projects fail for technical reasons less often than people think; they fail because nobody wrote down what was being built, how it would be tested, and who would own it. This page explains how to write that down, for clients and for developers.
Software is unusual among things people pay to have made. A builder hired to put up a wall produces something the client can see, measure and touch; a developer produces thousands of lines of instructions that the client usually cannot read, running on servers the client may never see, depending on libraries written by strangers. The client judges the work by whether the screens do what it expected. The developer judges it by whether it did what was asked. When those two expectations were never written down in the same words, the project ends in an argument.
A software development agreement exists to close that gap. It does four jobs. It fixes what is being built, in enough detail that both sides can later point to the same sentence. It fixes how the work will be judged — the tests, the defects that matter, and the moment at which the client says yes. It fixes who owns the result, which the law does not settle in the client’s favour by default. And it fixes what happens when things go wrong: delay, a change of mind, a developer who leaves, a client who stops paying.
This page covers projects in which software is built to order: a website or online store, an Android or iOS app, a web platform, an ERP customisation, an integration between systems, an internal dashboard. Where software already exists and the customer merely subscribes to it, the better model is a SaaS subscription agreement; where a customer installs a finished product, an end user licence agreement. Many real projects touch all three, and we come back to that overlap below.
If the finished product will be sold to many users as installed software, the terms on which those users receive it — licence model, keys, updates, restrictions — are explained in our end user licence agreement guide.
The type of developer changes which clauses carry weight.
| Developer | Typical strengths | What the contract must watch |
|---|---|---|
| Development agency or IT company | A team, project management, continuity if one person leaves | Who actually does the work, subcontracting, key personnel, the agency’s standard terms |
| Individual freelancer | Lower cost, direct contact, flexibility | Continuity, availability, ownership of code, handover if the freelancer moves on |
| Offshore or foreign developer | Cost or specialist skills | Governing law, enforcement, currency, time zones, data leaving India |
| Employee or in-house team | Control and knowledge that stays in the business | Not this agreement at all: the employment contract governs, and ownership usually follows the employer |
| Co-founder writing the code | Commitment and speed | Moving the code into the company, which is a founders’ issue |
For a single freelancer on a small, one-off job, our freelance agreement guide is the better starting point: it deals with the law on ownership, the Section 19 defaults, MSME payment protection and foreign clients in depth, and this page does not repeat those explanations. For code written by employees, see the intellectual property section of our employment agreement guide; for a co-founder’s code, see moving the work into the company.
When a client and a developer expect to work together on more than one project, or on a project with several phases, the neatest structure is a master services agreement with separate statements of work. The master agreement contains the legal terms that do not change — ownership, confidentiality, warranties, liability, termination, disputes. Each statement of work describes one piece of work: its scope, deliverables, timetable, team, price and acceptance criteria.
For a single, self-contained project, one agreement with the scope in a schedule is enough. Either way, the documents need an order of precedence for conflicts. The usual rule is that a statement of work prevails on commercial and technical points specific to that project, and the master agreement prevails on legal points, unless the statement of work expressly says it is changing a named clause of the master agreement. Without such a rule, a line in a hastily written statement of work — “client will own all materials” — may be argued to override a carefully negotiated licence of background code.
Every other clause depends on this one. Acceptance tests are measured against the requirements; the fixed price is calculated from them; a change request is anything outside them; a warranty claim is a failure to meet them. Vague requirements make every later clause arguable.
A useful requirements document, sometimes called a software requirements specification, does not need to be long, but it should cover:
Where requirements are genuinely unknown at the start — a new product whose shape will be discovered by building it — it is better to say so honestly and choose a pricing model that allows for discovery, than to write a specification that pretends to certainty. A paid discovery phase, in which the developer and client produce the requirements together for a fixed fee before the main build is priced, is common and sensible.
The pricing model decides who carries the risk that the work takes longer than expected.
| Model | How it works | Who carries the risk | Suits |
|---|---|---|---|
| Fixed price | One price for a defined scope, paid in milestones | Developer, for estimation; client, for anything left out of scope | Clear, stable requirements; websites, well-defined apps |
| Time and material | Agreed hourly, daily or monthly rates for time actually spent, plus expenses | Client, for cost; developer only for efficiency | Evolving requirements, ongoing development, maintenance |
| Agile sprints | A fixed team for fixed periods, typically two weeks, with priorities set each sprint | Shared: cost per sprint is fixed, but the total depends on how many sprints are needed | Products developed iteratively with an engaged client |
| Dedicated team | Named developers working for the client full-time at a monthly rate | Client, broadly as with staff | Long-term product work without hiring |
| Hybrid | Fixed price discovery or first release, then time and material | Divided by phase | Most new products |
Each model needs its own protections. A fixed price contract needs precise requirements and a firm change request process, because every disagreement becomes a question of whether something was included. A time and material contract needs rate cards, timesheets the client can inspect, a monthly budget or cap above which the developer must stop and ask, and a right for the client to reject time spent on work it never requested. An agile contract needs clarity about what the client receives at the end of each sprint, who owns the product backlog, and how either side can stop after any sprint without penalty.
Payment terms in software contracts do two jobs: they fund the developer’s work, and they give the client leverage to ensure the work is finished. A balanced schedule does both. A common fixed price structure looks like this:
| Milestone | Illustrative share | Evidence of completion |
|---|---|---|
| Signing | 15–25% | Signed agreement and approved requirements |
| Design approval | 10–15% | Client sign-off on screens or prototype |
| Development complete, delivered for testing | 25–30% | Build available on a test environment with release notes |
| Acceptance | 20–30% | Acceptance certificate or deemed acceptance |
| Go-live and end of stabilisation period | 10–15% | Software live and warranty-period retention released |
Whatever the shares, tie each payment to something objective. “On completion” is not objective. “Within seven days of the acceptance certificate or deemed acceptance under clause 9” is.
The agreement should also set invoice timing, the period for payment, interest on late payment and the developer’s right to pause work after a stated period of non-payment and written notice. A developer registered as a micro or small enterprise has statutory rights to payment within a fixed time and to compound interest on delay, explained in our freelance guide’s MSMED Act section; practical invoicing techniques are in payment terms that actually work. A developer that has paused work for non-payment should not be liable for the resulting delay, and the agreement should say so.
Requirements change in every real project. Users test an early version and ask for something different; the business changes its mind; a regulator or a payment gateway changes its rules. Change itself is not the problem. The problem is change that nobody records, so that at the end one side believes it paid for everything and the other believes it did twice the work.
A change request clause sets out a simple procedure:
Two practical points make the clause work. First, name the people on each side who can approve changes. A client’s junior employee asking for “one small thing” on a messaging group should not bind the client to pay for it, and a developer’s junior engineer should not quietly agree to it either. Second, allow small changes to be absorbed: many agreements let the developer accommodate minor adjustments up to a stated number of hours without a formal request, so the process does not become bureaucratic. Our freelance guide discusses revision rounds for creative work; the principle here is the same but more formal, because software changes ripple into testing and timelines.
Many delays in software projects are caused not by developers but by clients who do not supply what the developer needs: content, product images, approvals, access to an old database, test accounts with a payment gateway, credentials for a courier’s interface, a decision about the colour of a button. The agreement should list the client’s obligations as carefully as the developer’s:
The consequence of the client’s delay should be stated: the timetable extends by the period of delay, the developer is not liable for the resulting lateness, and if the delay exceeds a stated period, the developer may charge for idle time or reschedule the team. Without this, a delay-damages clause can end up penalising the developer for the client’s own slowness.
Acceptance is the moment the client agrees that the software meets the requirements. It usually triggers a large payment, starts the warranty period, and sometimes transfers ownership. So the process of reaching it must be clear.
Testing stages. The developer tests its own work first — unit tests, integration tests and its own quality assurance. It then delivers a build to a test or staging environment with release notes, and the client carries out user acceptance testing against the agreed requirements and test cases. Agreeing the acceptance test cases in advance, even as a simple list of scenarios, removes most arguments.
Defect severity. Not every defect should block acceptance. A common classification:
| Severity | Meaning | Effect on acceptance | Illustrative fix time |
|---|---|---|---|
| Critical | The software or a core function does not work, data is lost or security is compromised; no workaround | Blocks acceptance | 1–2 working days |
| Major | An important function fails, with a difficult workaround | Blocks acceptance | 3–5 working days |
| Minor | A function works incorrectly in a way that does not stop normal use | Does not block; fixed within the warranty | Next release |
| Cosmetic | Spelling, alignment, colours | Does not block | Next release |
The acceptance cycle. The client tests for a stated period, such as ten working days, and reports defects in writing with enough detail to reproduce them. The developer fixes them within the agreed times and redelivers. The client retests, normally only the fixed items and anything they affect. The agreement should limit the number of cycles and say what happens if critical defects remain after, say, three rounds: usually a right for the client to terminate that phase and recover sums paid for it, or to accept with a price reduction.
Deemed acceptance. To stop acceptance being delayed indefinitely, the software is treated as accepted if the client does not report blocking defects within the testing period, or if it starts using the software in live operation with real users or customers. Clients should make sure the testing period is realistic, and that a short trial with a few staff is not counted as live use. Developers should make sure that “going live” is defined so that a client cannot run its business on the software for months while refusing to accept it.
Acceptance is not waiver. Acceptance means the software met the requirements as far as reasonable testing could show. It should not prevent the client from relying on the warranty for defects discovered later, and the agreement should say so.
Many clients assume that if they pay for software, they own it. Indian copyright law does not work that way. A computer programme is a literary work under the Copyright Act, and its author is the first owner of the copyright. The exception for work made under a contract of service applies to employees, not to independent developers or agencies working under a contract for service. So unless there is a written assignment, the developer owns the copyright in the code it wrote, and the client has at most an implied licence to use what it received for the purpose for which it was commissioned. The detail of this rule, and the statutory defaults that apply to an assignment that is silent on duration or territory, are set out in our freelance guide on Section 17 and Section 19.
For a software project, the ownership clause should say:
Ownership of the code is separate from ownership of the product’s name and logo, which are protected as trade marks. If the developer or its designer created the brand, the assignment should cover the artwork, and the client should file its own trademark application rather than rely on the developer’s goodwill.
Code written with AI tools. Developers increasingly use AI coding assistants. The law on whether, and to whom, copyright attaches to machine-generated code is unsettled in India and abroad, and the terms of the AI tools themselves vary. A cautious agreement requires the developer to disclose significant use of such tools, to review and take responsibility for all code delivered as if written by hand, not to enter the client’s confidential code or data into tools that train on inputs, and to give the same warranties regardless of how code was produced. This is an area in which terms should be reviewed as the law develops.
A developer does not start every project from a blank screen. Agencies build up their own frameworks, templates, modules for login, payments or notifications, deployment scripts and internal tools; that is part of why they can deliver quickly. If every client acquired ownership of those components, the developer would lose the ability to use them for the next client, and would have to price every project as though writing everything afresh.
The usual solution is to divide the IP in two. Background IP — what the developer owned before the project or develops independently of it — stays with the developer. Foreground IP — what is created specifically for the client — is assigned to the client. Where background IP is built into the deliverables, the client receives a licence to it that is:
The agreement should list significant background components in a schedule, so there is no later argument about whether a module was pre-existing. It should also deal with general know-how: the skills and techniques the developer’s team learns while working on the project. It is normal for the developer to remain free to use general know-how, but not the client’s confidential information, business logic or distinctive features.
Nearly all modern software is built on open source components: programming frameworks, databases, user-interface libraries, encryption libraries. That is not a defect; it is how software is built. But each component comes with a licence, and the licence terms travel with the software.
| Licence family | Examples | What it generally requires | Risk for proprietary software |
|---|---|---|---|
| Permissive | MIT, BSD, Apache 2.0 | Keep copyright and licence notices; Apache adds patent terms and notice of changes | Low |
| Weak copyleft | LGPL, MPL | Changes to the component itself must be shared under the same licence | Moderate; depends on how the component is linked or modified |
| Strong copyleft | GPL v2, GPL v3 | Software distributed with the component may have to be released under the GPL, with source code | High if the software is distributed, for example as an installed app |
| Network copyleft | AGPL | Similar obligations may arise when users interact with the software over a network | High for web platforms and SaaS |
This table is a simplification; the effect of a licence depends on how a component is used and on the exact licence text, and specialist advice should be taken where a copyleft component is central. For contract purposes, the agreement should:
The most common way clients lose control of their software is not through a legal technicality but through accounts. The code sits in the developer’s repository; the app is published from the developer’s store account; the domain is registered in the developer’s name; the cloud server is billed to the developer’s card. When the relationship ends badly, the client discovers that owning the copyright does not help much if it cannot get at the code or the servers.
The remedy is simple and should be written into the agreement: the client creates and owns the accounts, and gives the developer access.
| Asset | Should be owned by | Developer’s role |
|---|---|---|
| Source code repository | Client’s organisation account | Invited contributor; commits regularly, not only at the end |
| App store developer accounts | Client, in its business name | Added as a team member to upload builds |
| Domain name | Client, as registrant | Manages DNS if needed |
| Cloud hosting and databases | Client’s account and billing | Administrator access with individual logins |
| Third-party services (payments, SMS, email, maps, analytics) | Client | Configures using keys the client issues |
| Design files | Client’s shared workspace | Editor |
Where the developer has already created accounts, the agreement should oblige it to transfer them — app stores and cloud providers have their own procedures for moving an app or a project from one account to another, and they can take time and meet conditions — and until then to hold them for the client. On any termination, the developer should hand over all credentials, remove its own access when asked, and confirm in writing that it has done so. Credentials should be shared through a password manager or secure channel, never in chat messages, and rotated when team members leave.
Publishing from the right account is also the first step in passing store review; the other documents the stores expect are listed in our app store compliance guide.
Designs, icons, fonts, photographs and written content each have their own owner and licence. The agreement should say that the developer will use only assets it is entitled to use for the client’s purpose, will list paid stock assets and fonts with their licence terms, and will buy commercial licences in the client’s name where needed, or tell the client that it must. Content supplied by the client remains the client’s responsibility: the client warrants that it has the right to use it and indemnifies the developer if it does not. If the developer writes content, such as product descriptions or legal pages, the assignment should cover it too — though legal pages such as privacy policies and terms of use should be prepared for the client’s actual business, not copied from another site; our website legal pack exists for that reason.
Security is easiest to build in and hardest to add later, and it is one of the areas where the developer knows much more than the client. The agreement should turn general expectations into specific obligations:
Developers see a great deal. During a project they may receive customer lists, sales data, pricing, business plans and access to live systems holding personal data. Two sets of terms are needed.
Confidentiality. The developer must keep the client’s confidential information secret, use it only for the project, share it only with team members who need it and are bound by the same duty, and return or destroy it at the end. The client, in turn, must protect the developer’s confidential information, such as its pricing and its background code. If the project is still being discussed, a separate non-disclosure agreement can protect the early conversations.
Personal data. Under the Digital Personal Data Protection Act, 2023, the business that determines the purpose and means of processing is the data fiduciary, and it remains responsible for processing done on its behalf. A developer that handles personal data for the client — by testing with real records, migrating data, or hosting and maintaining the software — is a data processor, and the Act contemplates that the fiduciary engages processors under a valid contract. Our DPDP privacy policy guide explains what that contract should cover; for larger engagements, a separate data processing agreement is usual. In the development agreement itself, the practical points are:
A client often chooses an agency because of the people it met during the pitch: the senior architect, the lead designer, the project manager. Then the project is staffed by others. A key personnel clause names the people who will work on the project in stated roles, requires the developer to keep them on it except for reasons beyond its control, such as resignation or illness, and requires any replacement to have comparable skills and to be introduced at the developer’s cost, including the time needed to hand over.
Subcontracting should need the client’s consent, particularly for offshore subcontractors or for any subcontractor that will see personal data. The developer should remain responsible for its subcontractors’ work as if it were its own, and should make sure the subcontractors have assigned their rights, so that the chain of title for the code has no gaps.
Agencies often ask for a non-solicitation clause preventing the client from hiring the agency’s developers directly during the project and for a period afterwards. A clause of reasonable scope protects the agency’s investment in its team; but Indian law treats agreements in restraint of trade with suspicion, and a provision that effectively stops an individual from taking a job may not be enforceable. A common compromise is a placement fee payable if the client hires a named team member within a stated period, rather than an outright prohibition. Clients should resist non-solicit clauses that go beyond the people actually assigned to their project.
Software is often late. Sometimes that is the developer’s fault, sometimes the client’s, and often both. The agreement should first make the timetable meaningful: dates for each milestone, a procedure for extending them when the client is late or changes are approved, and a duty on the developer to warn early if a date is at risk, with a recovery plan.
Some clients, especially where a launch date matters commercially, want liquidated damages for delay: a pre-agreed sum, such as a percentage of the milestone fee for each week of delay, up to a cap. Such a clause gives both sides certainty. Under Section 74 of the Indian Contract Act, however, a stated sum is treated as the upper limit of compensation rather than an automatic entitlement, and courts award reasonable compensation within it; our service level agreement guide discusses the same principle in relation to service credits. Clauses should be drafted as a genuine estimate of loss, capped, and stated to be the client’s exclusive remedy for delay unless the delay becomes long enough to justify termination.
No software of any size is free of bugs, and a good agreement does not pretend otherwise. It gives a limited warranty and a clear remedy.
A typical developer’s warranty promises that:
The remedy for a breach of the software warranty is usually that the developer will fix reported defects free of charge within the agreed times, and if it cannot, refund the fee for the defective part. The warranty should exclude problems caused by changes made by the client or others, use on unsupported devices or platforms, third-party services outside the developer’s control, and misuse. It should also be clear about operating system and browser updates released after acceptance: adapting to them is maintenance, not warranty.
The prohibition on harmful code deserves emphasis. Developers sometimes consider inserting a “kill switch” to protect themselves against non-payment. This is a bad idea legally and commercially: interfering with a computer system without authority can attract liability under the Information Technology Act, and it destroys trust. The proper protections for a developer are milestone payments, assignment on payment and the right to pause work.
The end of development is the beginning of the software’s life. It will need hosting, security updates, adaptation to new operating system versions, bug fixes after the warranty ends, and new features. These are usually covered by a separate annual maintenance agreement or a maintenance schedule, rather than folded into the development fee.
A maintenance schedule should state what is included: corrective maintenance (bug fixing), adaptive maintenance (keeping the software working as platforms change), preventive maintenance (security patches and dependency updates), and a stated number of hours for small enhancements. It should state when and how support can be reached and how fast each class of problem is answered, hosting responsibilities if the developer manages the servers, backups and restoration testing, and the fee and how it changes each year. Where availability and response times are measured and credited, those terms belong in a service level agreement, and our guide explains how service credits work.
If the developer will not only build the software but also run it and provide it as a service to the client and its users, the relationship has become closer to a software subscription. Our SaaS guide’s section on implementation explains how build work fits alongside a subscription, and its intellectual property section explains why ownership then works differently: the customer normally owns its data and configurations, while the provider keeps the platform.
Developers commonly cap their liability at the fees paid under the agreement, or under the relevant statement of work, and rule out claims for lost profits, lost business and other indirect loss. That is normal, and without it few developers could take on projects for businesses much larger than themselves. Clients should check what the cap leaves out, because some matters are usually treated separately:
The client, in turn, usually indemnifies the developer against claims arising from content and materials the client supplied and from the client’s use of the software in breach of law. Both indemnities should require prompt notice of the claim and allow the indemnifying party to control the defence.
A project can end early for good reasons — the client’s business changes, funding runs out, or it decides to take development in-house — or bad ones. The agreement should provide for both:
What happens after termination matters more than the grounds. On any termination, the developer should deliver all work in progress in its current state — source code, designs, documentation, database schemas, build and deployment scripts — together with credentials and access, and provide reasonable handover assistance to the client or a new developer for a stated period, at agreed rates where the handover is not caused by its own breach. Ownership of work in progress should pass on payment for it. Confidentiality, the IP clauses, the warranty for accepted work, and dispute resolution should survive termination.
A handover checklist, attached to the agreement, makes this concrete: repository access confirmed, a successful build from the repository by the client’s nominee, environment variables and secrets transferred, domains and store accounts in the client’s name, third-party subscriptions transferred, documentation delivered, the developer’s access removed. If the other side refuses to cooperate, a legal notice setting out exactly what is owed under the agreement is usually the first step.
Sometimes the client will not receive the source code at all. A developer may license an existing product with customisations, keeping the code; or a software vendor may supply a system on which the client’s business depends. The client’s risk is that the vendor stops supporting the software, goes out of business or is acquired, leaving the client with a system nobody can fix.
A source code escrow arrangement addresses this. The vendor deposits the source code and documentation with an independent escrow agent, updates the deposit with each major release, and the agent releases the code to the client if defined events occur — insolvency, cessation of business, or failure to provide maintenance after notice. The arrangement is set out in a three-party agreement. It is worth insisting on two things: that the deposit is verified from time to time, to show that it can actually be built into working software; and that the release events are objective, so that the client does not have to prove a dispute before it can get the code.
Software development and related IT services are generally taxable supplies of services under GST when the supplier is registered, and the rate should be stated as extra to the fee unless the fee is expressly inclusive. A developer registered under GST should issue tax invoices in the proper form. When services are supplied to a client outside India, they may be zero-rated as an export of services if the statutory tests are satisfied.
Indian clients may be required to deduct tax at source from payments to developers, at rates that depend on how the payment is characterised, and the income tax law has been recodified with effect from April 2026, so section references in older contracts should be checked. The agreement should say that the client will deduct only as the law requires and issue certificates promptly, so the developer can claim credit. These are matters for your chartered accountant, and we do not give tax advice.
With a foreign client, the agreement should settle currency, exchange rate risk, bank charges, the governing law and the forum for disputes. Our freelance guide’s section on foreign clients covers the practical side of being paid from abroad.
Stamp duty on a development agreement depends on the state where it is signed; for a general agreement it is usually small. Stamping it properly means it can be admitted in evidence without first paying a penalty if a dispute ever arises. In Delhi, duty can be paid through e-stamp paper.
We prepare the agreement, change documents and notices. Any dispute that goes to arbitration or court is for your advocate, whose fee is engaged and paid by you directly; we do not quote, collect or share it. You can find an advocate through our directory.
A garment exporter in Okhla wanted an app through which its overseas buyers could see the production stage of each order — cutting, stitching, finishing, quality check, dispatch — with photographs uploaded by floor supervisors. Its first attempt, with an agency engaged on a two-page quotation, had failed in the way described at the top of this page. For the second attempt, it structured the project differently.
It paid a small fixed fee for a four-week discovery phase, at the end of which it owned a requirements document, clickable screens approved by two of its buyers, and a list of integrations with its existing accounting software. The build was then priced as a fixed fee for the first release and time and material, within a monthly cap, for later features. The repository, the store accounts and the cloud project were created in the exporter’s name before development started, and the developer committed code weekly. The acceptance schedule listed twenty-four test scenarios written from the buyers’ point of view, with severity levels and a ten-working-day testing window.
When the exporter asked, halfway through, for the app to work in two additional languages, the change request process produced a price and a two-week extension, which it approved in writing. When a key developer left, the key personnel clause obliged the agency to provide a replacement and a week of overlap at its own cost. The first release went live eleven days late, all of which were attributable to the approved change and the exporter’s own delay in supplying buyer data, so no delay damages were payable and none were claimed. Two years later, when an investor asked for evidence that the company owned its app, the exporter produced the assignment, the list of background components and the open source schedule in an afternoon.
A four-person development studio in Noida had built an online booking platform for a chain of clinics under a contract that paid most of the fee “on completion”. The client used the platform for three months, raised a stream of new requests, and paid nothing further, saying the project was not complete. The studio had no written requirements to show what completion meant.
For its next contracts, the studio adopted a master agreement with statements of work. Each statement of work attached approved screens and a list of acceptance scenarios. Payments were split into five milestones, each triggered by an objective event, and the acceptance clause provided for deemed acceptance after ten working days without a report of critical or major defects, or on the first use with real customers. Ownership of each release passed to the client on payment for it, with a perpetual licence to the studio’s booking and notifications modules, which were listed as background IP. Invoices carried interest for late payment, and the studio registered as a micro enterprise.
When a later client began using a release with its customers while disputing minor cosmetic issues, the studio pointed to the deemed acceptance clause and the severity table, fixed the cosmetic issues within the warranty, and was paid within the agreed period.
A software development agreement from us costs ₹4,999 and is ready in 2 – 5 days. We start from your project — what is being built, for whom, by whom, on what platforms, with what data — and draft for your side of the table, whether you are the client or the developer.
| Included | Why it helps |
|---|---|
| Master development agreement | One set of legal terms for this and future projects |
| Statement of work template with milestones and acceptance criteria | Each project or phase priced and tested on its own terms |
| Change request form | Every change recorded with its cost and time |
| IP assignment, background IP licence and open source schedule | A clean chain of title that survives due diligence |
| Accounts, credentials and handover checklist | Control of code and accounts, during and after the project |
| Security, confidentiality and personal data terms | Protection for the client’s business and customers |
| Warranty and maintenance terms | Clear remedies after launch |
Stamp duty, where needed, is extra at actual cost, and we tell you the total before we start. Tax treatment is for your chartered accountant. If a dispute ever reaches an arbitrator or a court, it is for your advocate, whose fee is engaged and paid by you directly; we do not quote, collect or share it.
Most failed software projects were lost at the contract stage: nobody recorded the requirements, the tests, or who would own the result. Tell us about your project and which side of it you are on, and we will prepare an agreement that lets both sides get on with building.
Two doors, both free. Clients search a factual directory of enrolled advocates. Advocates apply to be listed on it — no fee, no commission, nothing paid in either direction.
Search Bar Council enrolled advocates by what your matter is about, by court, or by city. Searching and sending a request are both free.
Enrolled advocates anywhere in India can apply to be listed. Your entry is published only after we verify your enrolment number with your State Bar Council.
This directory carries no ratings, no reviews, no rankings and no fees — only the factual particulars the Bar Council of India permits, published at each advocate's own request. Browse the network · Terms for Advocates