SaaS & Software Updated 2026-04-06 · England and Wales

Free Software Development Agreement Template

A comprehensive software development agreement template for UK businesses. This B2B contract covers the full lifecycle of a custom software development project, from specification and scoping through to delivery, testing, acceptance, and handover. It addresses scope of work, project milestones, change control, intellectual property assignment, source code delivery, confidentiality, payment schedules, warranties, and limitation of liability. Suitable for software developers, development agencies, and business clients commissioning bespoke software under English law.

What is this document?

This software development agreement template is a ready-to-use contract between a developer (or development company) and a client for the creation of custom software. It covers the entire project lifecycle, including specification, development phases, milestones, testing, acceptance, intellectual property assignment, source code and documentation handover, and post-delivery warranty. The agreement includes a formal change control procedure to manage scope changes, and payment is structured around milestones. Written in plain English and tailored to the laws of England and Wales.

Who needs it?

This template is designed for software developers, development agencies, IT consultancies, and businesses commissioning bespoke software, operating under the laws of England and Wales. It is suitable for projects ranging from standalone applications to web-based platforms and mobile applications. Both parties should be businesses; this is a B2B agreement and does not include consumer protection provisions.

Why is it important?

Custom software projects frequently encounter disputes over scope, timelines, intellectual property ownership, and payment. Without a clear written agreement, developers risk not being paid for work done, and clients risk losing access to source code or receiving software that does not meet their requirements. A well-drafted agreement sets out exactly what will be delivered, how changes will be managed, who owns the finished product, when payment is due, and what happens if things go wrong. This agreement protects both sides and provides a clear framework for managing a software project professionally.

Key UK legislation

Copyright, Designs and Patents Act 1988Supply of Goods and Services Act 1982Late Payment of Commercial Debts (Interest) Act 1998

Template document

Software Development Agreement

This agreement is entered into on [Date] between:

[Developer Name / Company Name] (registered in England and Wales under company number [Company Number]), whose registered office is at [Developer Address] (the "Developer"); and

[Client Name] (registered in England and Wales under company number [Company Number]), whose registered office is at [Client Address] (the "Client").

This agreement sets out the terms on which the Developer will design, develop, and deliver custom software for the Client as described in the Specification.

1. Definitions and Interpretation

1.1 In this agreement, the following definitions apply:

"Acceptance" means the Client's written confirmation (including by email) that the Software, or a Milestone deliverable, has passed the Acceptance Tests and meets the Acceptance Criteria.

"Acceptance Criteria" means the criteria against which the Software or a deliverable will be tested, as set out in the Specification or as otherwise agreed in writing.

"Acceptance Period" means the period of [10] Business Days following delivery of a Milestone deliverable or the completed Software during which the Client shall carry out Acceptance Testing.

"Acceptance Tests" means the tests carried out by the Client during the Acceptance Period to determine whether the Software conforms to the Acceptance Criteria.

"Business Day" means any day other than a Saturday, Sunday, or public holiday in England and Wales.

"Change Request" means a written request from either party to change the Specification, scope, timeline, or Fees, managed in accordance with clause 7.

"Client Materials" means all data, content, specifications, system access credentials, APIs, and other materials provided by the Client for the project.

"Confidential Information" means any information disclosed by one party to the other that is marked as confidential or ought reasonably to be considered confidential, including source code, business plans, customer data, and technical documentation.

"Deliverables" means the Software, source code, documentation, and all other materials to be created and delivered by the Developer under this agreement.

"Developer's Pre-Existing IP" means any software, code, libraries, frameworks, tools, or other materials owned by or licensed to the Developer before this agreement, or developed independently of this agreement, that are incorporated into the Software.

"Documentation" means user guides, technical documentation, API documentation, architecture documents, and other written materials provided as part of the Deliverables.

"Fees" means the charges payable by the Client, as set out in clause 12 or Schedule 2.

"Intellectual Property Rights" means all patents, copyright and related rights, trade marks, design rights, database rights, rights in computer software, and all other intellectual property rights, whether registered or unregistered.

"Milestone" means a stage of the project identified in the project plan at Schedule 1, with associated deliverables, timeline, and payment.

"Software" means the custom software to be developed by the Developer in accordance with the Specification.

"Specification" means the detailed functional and technical requirements for the Software set out in the specification document at Schedule 1, as amended through the change control procedure.

1.2 References to clauses and schedules are to the clauses and schedules of this agreement. Headings do not affect interpretation.

2. Scope of Work

2.1 The Developer shall design, develop, test, and deliver the Software in accordance with the Specification at Schedule 1.

2.2 The scope of the project is limited to the work described in the Specification. Any work not expressly included is outside the scope of this agreement and subject to a Change Request under clause 7.

2.3 The Developer shall carry out the work with reasonable care and skill in accordance with the Supply of Goods and Services Act 1982.

2.4 The Developer shall allocate suitably qualified and experienced personnel to the project.

3. Project Phases and Milestones

3.1 The project shall be carried out in the phases and Milestones set out in the project plan at Schedule 1.

3.2 Each Milestone shall identify: (a) the deliverables for that phase; (b) the target completion date; (c) the Acceptance Criteria; and (d) the corresponding Milestone payment.

3.3 The parties acknowledge that the timeline is an estimate given in good faith and that completion dates depend on both parties fulfilling their obligations in a timely manner.

3.4 The Developer shall provide progress updates at intervals of no less than [weekly/fortnightly] and shall notify the Client promptly if any Milestone is likely to be delayed, with a revised estimate and the reasons for the delay.

3.5 If the Client delays in providing Client Materials, feedback, Acceptance, or access, the affected Milestone dates shall be extended by the period of delay plus a reasonable rescheduling period.

4. Developer Obligations

4.1 The Developer shall: (a) develop the Software in accordance with the Specification and any agreed coding standards; (b) follow good software engineering practices, including version control, code commenting, and regular backups; (c) test the Software against the Acceptance Criteria before delivering it to the Client; (d) provide all Documentation specified in the Specification; (e) deliver the source code and Deliverables in accordance with clause 10; and (f) co-operate with the Client in good faith throughout the project.

5. Client Obligations

5.1 The Client shall: (a) provide a complete and accurate Specification before the project commences and clarify requirements as reasonably requested; (b) provide all Client Materials in the format and by the dates specified in the project plan; (c) provide access to systems, servers, and third-party services reasonably required by the Developer; (d) designate a single point of contact with authority to provide instructions, feedback, and Acceptance on behalf of the Client; (e) respond to reasonable requests for information or decisions within [5] Business Days; (f) carry out Acceptance Testing in accordance with clause 8; and (g) ensure that Client Materials do not infringe any third party's rights.

5.2 Delays caused by the Client's failure to fulfil its obligations shall not constitute a breach by the Developer, and Milestone dates shall be extended accordingly.

6. Development Standards

6.1 The Developer shall develop the Software using the programming languages, frameworks, and tools specified in the Specification.

6.2 The Developer shall maintain the source code in a version control system (such as Git) throughout the project and shall provide the Client with access to the repository [upon request / at each Milestone / continuously].

7. Change Control Procedure

7.1 Either party may propose a change to the Specification, scope, timeline, or Fees by submitting a Change Request in writing.

7.2 Upon receipt of a Change Request, the Developer shall within [5] Business Days provide a written assessment of: (a) the technical feasibility; (b) the impact on the project timeline and Milestones; (c) the impact on the Fees; and (d) any other implications.

7.3 No change shall be implemented until both parties have agreed in writing to the revised Specification, timeline, and Fees. Once agreed, the Change Request forms part of this agreement.

7.4 The Developer is not obliged to accept any Change Request but shall not unreasonably refuse. Work on unchanged portions of the project shall continue during the change control process.

8. Testing and Acceptance

8.1 Before delivering each Milestone deliverable, the Developer shall carry out internal testing including unit testing, integration testing, and functional testing against the Acceptance Criteria.

8.2 Upon delivery of a Milestone deliverable, the Client shall carry out Acceptance Tests during the Acceptance Period to determine whether the deliverable meets the Acceptance Criteria.

8.3 If the deliverable passes the Acceptance Tests, the Client shall notify the Developer in writing and issue Acceptance. The Client shall not unreasonably withhold or delay Acceptance.

8.4 If the deliverable fails to meet the Acceptance Criteria, the Client shall within the Acceptance Period provide the Developer with a written notice specifying in reasonable detail the defects or non-conformities (a "Deficiency Notice").

8.5 Upon receipt of a Deficiency Notice, the Developer shall use reasonable efforts to correct the defects within [10] Business Days and re-deliver for further Acceptance Testing.

8.6 If the Client fails to carry out Acceptance Tests or to provide either Acceptance or a Deficiency Notice within the Acceptance Period, the deliverable shall be deemed accepted ("Deemed Acceptance").

8.7 If, after [2] rounds of Acceptance Testing, a deliverable still fails to meet the Acceptance Criteria, either party may terminate this agreement by giving [14] days' written notice, and clause 17 (Effects of Termination) shall apply.

9. Intellectual Property

9.1 The Developer hereby assigns to the Client, with full title guarantee, all Intellectual Property Rights in the Deliverables created specifically for the Client under this agreement (the "Project IP"), with effect from the date on which the Client has paid the Fees in full. Until payment in full, the Developer retains all Intellectual Property Rights in the Project IP.

9.2 The assignment in clause 9.1 does not apply to: (a) the Developer's Pre-Existing IP; or (b) any third-party software, libraries, or components incorporated into the Software.

9.3 The Developer grants the Client a non-exclusive, perpetual, irrevocable, royalty-free, worldwide licence to use, copy, modify, and create derivative works of the Developer's Pre-Existing IP, solely to the extent necessary to use, maintain, and develop the Software.

9.4 Third-party materials are licensed to the Client on the terms of the applicable third-party licence. The Developer shall notify the Client of all third-party materials incorporated into the Software, including licence terms and ongoing costs.

9.5 In accordance with the Copyright, Designs and Patents Act 1988, the assignment under clause 9.1 is intended to take effect as an assignment of future copyright. The parties agree that this clause constitutes an agreement in writing for the purposes of section 91 of that Act.

9.6 The Developer shall execute all documents and do all things reasonably necessary to give effect to the assignment in clause 9.1.

10. Source Code and Documentation

10.1 Upon Acceptance (or Deemed Acceptance) of each Milestone, the Developer shall deliver the source code and Documentation for that Milestone's deliverables.

10.2 Upon final Acceptance of the Software, the Developer shall deliver: (a) the complete source code in a clean, well-organised, and documented state; (b) all build scripts, configuration files, and deployment instructions; (c) all Documentation, including technical architecture, API documentation, database schemas, and user guides; and (d) all credentials and access details for environments set up by the Developer.

10.3 The source code shall be adequately commented and documented to enable a reasonably competent software developer to understand, maintain, and modify the Software without the Developer's assistance.

11. Confidentiality

11.1 Each party shall keep the other party's Confidential Information strictly confidential and shall not disclose it to any third party without prior written consent.

11.2 Each party may disclose Confidential Information to employees, officers, advisers, and sub-contractors to the extent reasonably necessary for performance of this agreement, provided such persons are bound by equivalent confidentiality obligations.

11.3 This obligation does not apply to information that: (a) is or becomes publicly available through no fault of the receiving party; (b) was already known to the receiving party before disclosure; (c) is independently developed without reference to the Confidential Information; or (d) is required to be disclosed by law, regulation, or court order, provided the receiving party gives reasonable advance notice where permitted.

11.4 The obligations in this clause shall survive termination for a period of [3] years.

12. Fees and Payment

12.1 The Client shall pay the Fees set out in Schedule 2. All Fees are exclusive of VAT, which shall be added at the prevailing rate.

12.2 The Fees shall be payable in Milestone instalments as follows: (a) [percentage, e.g., 20]% as a deposit before work commences; (b) [percentage]% upon Acceptance of [Milestone 1]; (c) [percentage]% upon Acceptance of [Milestone 2]; (d) [percentage]% upon final Acceptance and delivery of source code and Documentation; or as specified in Schedule 2.

12.3 The Developer shall issue invoices upon Acceptance (or Deemed Acceptance) of each Milestone. Payment is due within [14] days of invoice date.

12.4 If the Client fails to make any payment when due, the Developer may charge interest on the overdue amount in accordance with the Late Payment of Commercial Debts (Interest) Act 1998, currently at 8% per annum above the Bank of England base rate, calculated daily from the due date until payment.

12.5 The Developer may also claim fixed-sum compensation for debt recovery costs as provided by the Late Payment of Commercial Debts (Interest) Act 1998.

12.6 The Developer shall not be obliged to continue work or deliver materials while any invoice remains unpaid for more than [14] days beyond its due date.

13. Warranties

13.1 The Developer warrants that: (a) the Software will be developed with reasonable care and skill in accordance with the Supply of Goods and Services Act 1982; (b) the Software will materially conform to the Specification upon Acceptance; (c) to the best of the Developer's knowledge, the Software will not infringe any third party's Intellectual Property Rights; (d) the Software will be free from viruses, malware, and intentional disabling mechanisms at delivery; and (e) the source code will be complete and sufficient for a competent developer to maintain and modify the Software.

13.2 The Developer shall, for a period of [90] days following final Acceptance (the "Warranty Period"), correct any defect that prevents the Software from materially conforming to the Specification, at no additional charge, provided the Client notifies the Developer in writing during the Warranty Period.

13.3 The warranty in clause 13.2 does not cover defects caused by: (a) modifications made by anyone other than the Developer; (b) use inconsistent with the Documentation; (c) the Client's environment not meeting specified technical requirements; or (d) integration with unapproved third-party software.

13.4 The Client warrants that: (a) it has full authority to enter into this agreement; (b) the Client Materials do not infringe any third party's rights; and (c) the Client's point of contact has authority to give Acceptance and instructions.

13.5 Except as expressly stated, all warranties, conditions, and representations, whether express or implied, are excluded to the fullest extent permitted by law.

14. Limitation of Liability

14.1 Nothing in this agreement excludes either party's liability for: (a) death or personal injury caused by negligence; (b) fraud or fraudulent misrepresentation; or (c) any liability that cannot be excluded by law.

14.2 Subject to clause 14.1, neither party shall be liable for: (a) loss of profits, revenue, business, or anticipated savings; (b) loss of data; (c) loss of goodwill or reputation; or (d) any indirect, special, or consequential loss.

14.3 Subject to clause 14.1, each party's total aggregate liability under this agreement shall not exceed the total Fees payable.

15. Indemnification

15.1 The Developer shall indemnify the Client against all losses, damages, costs, and expenses (including reasonable legal fees) arising from any third-party claim that the Software (excluding Client Materials and third-party components) infringes a third party's Intellectual Property Rights, provided the Client: (a) notifies the Developer promptly; (b) gives the Developer control of the defence; and (c) provides reasonable co-operation.

15.2 The Client shall indemnify the Developer against all losses, damages, costs, and expenses arising from any claim relating to Client Materials or the Client's use of the Software outside the scope of the Specification.

15.3 The indemnities in this clause are subject to the limitations in clause 14.

16. Term and Termination

16.1 This agreement commences on the date above and continues until the project is completed and the Software accepted, unless terminated earlier under this clause.

16.2 Either party may terminate by giving [14] days' written notice if: (a) the other party commits a material breach and fails to remedy it within [14] days of written notice; or (b) the other party becomes insolvent, enters administration, liquidation, or receivership, or makes any arrangement with creditors.

16.3 The Developer may terminate immediately by written notice if the Client fails to pay any invoice within [30] days of its due date.

16.4 The Client may terminate for convenience at any time by giving [30] days' written notice. The Client shall pay for all work completed to date and the deposit is non-refundable.

17. Effects of Termination

17.1 Upon termination for any reason: (a) the Developer shall cease work except as needed for orderly handover; (b) subject to payment of all Fees due, the Developer shall deliver all completed and partially completed Deliverables, source code, and Documentation; (c) each party shall return or destroy the other's Confidential Information within [14] days; and (d) the Client shall pay for all work performed to date.

17.2 Where the Client has paid the Fees due for a Milestone, the IP assignment under clause 9.1 applies to those Deliverables regardless of termination.

17.3 Termination shall not affect rights or obligations accrued before termination, including the right to claim damages for prior breach.

17.4 Clauses intended to survive termination shall continue in force, including clauses 9, 11, 13, 14, 15, and 17.

18. Force Majeure

18.1 Neither party shall be liable for failure or delay caused by events beyond its reasonable control (a "Force Majeure Event"), including acts of God, fire, flood, pandemic, war, terrorism, power failure, telecommunications failure, cyberattack, or government action.

18.2 The affected party shall notify the other promptly of the Force Majeure Event and its expected duration, and shall use reasonable efforts to mitigate the effects and resume performance.

18.3 If a Force Majeure Event continues for more than [60] days, either party may terminate by giving [14] days' written notice.

19. General Provisions

19.1 Entire Agreement. This agreement, including its schedules, constitutes the entire agreement between the parties and supersedes all previous agreements, understandings, and arrangements, whether written or oral.

19.2 Variation. No variation shall be effective unless in writing and signed by both parties. Variations to the Specification are governed by the change control procedure in clause 7.

19.3 Severability. If any provision is found invalid or unenforceable, the remaining provisions shall continue in full force and effect.

19.4 Notices. Notices shall be in writing and may be delivered by hand, pre-paid first-class post, or email to the addresses in this agreement. A notice is deemed received: if by hand, on delivery; if by post, on the second Business Day after posting; if by email, on transmission, provided no delivery failure notification is received.

19.5 Assignment. Neither party may assign rights or obligations without prior written consent, except that the Developer may sub-contract elements of the work provided it remains responsible for the sub-contractor's performance and the sub-contractor is bound by equivalent confidentiality obligations.

19.6 Waiver. A waiver of any right or remedy is only effective if in writing and shall not be deemed a waiver of any subsequent right or remedy.

19.7 Third Party Rights. No person who is not a party shall have any rights under the Contracts (Rights of Third Parties) Act 1999 to enforce any term.

19.8 Governing Law. This agreement shall be governed by and construed in accordance with the laws of England and Wales.

19.9 Jurisdiction. The courts of England and Wales shall have exclusive jurisdiction to settle any dispute arising out of or in connection with this agreement.

This document was created using a template from website-contracts.co.uk

Clause-by-clause guide

Plain English explanations of the key sections.

This clause ties the entire project to the Specification in Schedule 1. Anything not in the Specification is out of scope and requires a Change Request. The Specification should be as detailed as possible, covering functional requirements, technical requirements, user stories, wireframes, and acceptance criteria. A vague specification is the single biggest source of disputes in software projects.
This clause establishes a formal process for managing changes to the project. Either party can propose a change, but no change is implemented until both sides agree in writing on the revised specification, timeline, and cost. This prevents scope creep and protects both parties: the Developer is not expected to deliver extra work for free, and the Client is not surprised by unexpected costs.
This clause sets out a structured process for testing and accepting the Software. The Developer performs internal testing before delivery, then the Client carries out Acceptance Tests against defined Acceptance Criteria during a fixed Acceptance Period. If the Client does nothing within the Acceptance Period, the deliverable is deemed accepted. This prevents projects from stalling indefinitely. After two failed rounds, either party can terminate.
This clause assigns all project-specific IP to the Client upon full payment, protecting the Developer's investment until they are paid. The Developer retains ownership of Pre-Existing IP (such as reusable code libraries), which is licensed to the Client on a perpetual, royalty-free basis. This allows the Developer to reuse their tools on other projects while giving the Client everything needed to use and maintain the Software. The clause references section 91 of the Copyright, Designs and Patents Act 1988 to ensure the assignment of future copyright is effective.
This clause ensures the Client receives complete, well-documented source code with build scripts, configuration files, and deployment instructions. Without this, the Client would be permanently dependent on the Developer. The source code must be commented to a standard that allows a competent developer to maintain the Software independently.
Payment is structured across Milestones: a deposit before work begins, then instalments upon Acceptance of each Milestone. This protects both parties by ensuring the Developer has cash flow and the Client only pays for accepted work. The late payment provisions reference the Late Payment of Commercial Debts (Interest) Act 1998, giving the Developer a statutory right to charge interest at 8% above base rate plus fixed compensation. The Developer can suspend work if invoices are overdue.
The Developer warrants reasonable care and skill (reflecting the Supply of Goods and Services Act 1982), conformity to the Specification, non-infringement, and freedom from viruses. The 90-day Warranty Period after final Acceptance provides a safety net for defects discovered after go-live. The warranty excludes defects caused by the Client's modifications or misuse. Adjust the Warranty Period to match your commercial terms.

Frequently asked questions

Under this agreement, the Developer assigns all intellectual property rights in the project-specific deliverables to the Client, but only once the Client has paid the Fees in full. Until full payment, the Developer retains ownership. The assignment does not cover the Developer's Pre-Existing IP (such as reusable code libraries), which is licensed to the Client on a perpetual, royalty-free basis, or third-party components, which remain subject to their own licence terms.
The agreement includes a formal change control procedure in clause 7. Either party can propose a change by submitting a Change Request. The Developer assesses the impact on scope, timeline, and cost within five Business Days. No change is implemented until both parties agree in writing to the revised terms. This prevents scope creep and ensures transparency over how changes affect the budget and timeline.
The Developer performs internal testing before delivery. The Client then carries out Acceptance Tests against the defined Acceptance Criteria during the Acceptance Period. If the Software fails, the Client issues a Deficiency Notice detailing the problems, and the Developer corrects the defects and re-delivers. If the deliverable still fails after two rounds, either party can terminate. If the Client does not test or respond within the Acceptance Period, the deliverable is deemed accepted.
Yes. The agreement expressly requires the Developer to deliver the complete source code together with build scripts, configuration files, deployment instructions, and comprehensive documentation. The source code must be adequately commented so that a competent developer can maintain, modify, and deploy the Software independently after handover.
The agreement acknowledges that timelines are estimates and delays can be caused by either party. If the Client causes a delay, the timeline is extended accordingly and the Developer is not in breach. If the Developer misses a deadline through its own fault, the Client can issue a notice requiring remedy within 14 days. If the Developer fails to remedy the breach, the Client can terminate for material breach under clause 16.2.
Yes. The Client can terminate for convenience at any time by giving 30 days' written notice. The Client must pay for all work completed to date and the deposit is non-refundable. The Developer must deliver all completed and partially completed Deliverables, source code, and Documentation, subject to payment. This balances the Client's right to walk away with the Developer's need to be compensated for work already done.