Agreement templates
Software development agreement template
IP assignment, warranties, milestones and payment — the terms specific to a code-delivery engagement.
Preview
See the template as a client-facing document, then open the same starting point inside Hanko.
Software Development / Technical Schedule
Engineering services
This Agreement is entered into as of [Date] between [Developer/Studio Legal Name] ("Developer") and [Client Legal Name] ("Client").
1. Services
Developer will design, build and deliver the software described in the Statement of Work dated [Date] (the "Software"), incorporated by reference.
2. Fees & Milestones
Client will pay the fees and follow the milestone schedule set out in the Statement of Work. Invoices are due within [15] days.
3. Intellectual Property
Upon full payment, Developer assigns to Client all right, title and interest in the source code created specifically for this project. Developer retains rights to any pre-existing tools, libraries, or frameworks used, and grants Client a perpetual license to use them as incorporated into the Software. Third-party and open-source components remain subject to their own licenses.
4. Acceptance Testing
Client will test each milestone deliverable within [5] business days and report any deviations from the agreed specification in writing. Developer will correct reported deviations before the milestone is considered complete.
5. Warranty
Developer warrants the Software will perform substantially as specified for [30] days after launch. Bugs reported within this period will be fixed at no additional charge. New features or changes to specifications are billed separately.
6. Third-Party Costs
Hosting, third-party APIs, and licensing fees are [Client's responsibility, billed directly to Client / included in Developer's fee up to $X].
7. Limitation of Liability
Developer's total liability under this Agreement will not exceed the total fees paid by Client under this Agreement.
8. Governing Law
This Agreement is governed by the laws of [State/Country].
9. Engagement schedule
- System boundary: [Application, interfaces and exclusions]
- Acceptance criteria: [Tests and review process]
- Repository and deployment: [Ownership and access]
- Support handover: [Runbook, support window and owner]
Signatures
Developer: ___________________ Date: ______
Client: ___________________ Date: ______
What this is
A software development agreement is the contract for a build engagement, with two concerns beyond a general services agreement: precise IP assignment for source code (since 'the deliverable' is often the code itself), and a warranty period for post-launch bug fixes.
When to use it
- For any project where source code, an app, or a platform is being built for a client
- After a development proposal is accepted, alongside a Statement of Work for milestone detail
- Whenever code ownership and licensing of third-party components need to be explicit
What to include
IP/code assignment
Explicitly state that source code created for the client transfers on payment, and address open-source/third-party licenses used in the build.
Milestones and acceptance testing
Reference a Statement of Work for milestone detail, with acceptance criteria for each.
Warranty period
A defined window (e.g., 30 days post-launch) for bug fixes at no extra charge, distinct from new feature work.
Third-party costs
Whether hosting, APIs, or licenses are the client's responsibility or bundled into the fee.
Post-launch support
Whether ongoing maintenance is included, and if not, how it's billed separately.
Template text
Copy this into your own document, or open it directly as a branded starting point in Hanko. Bracketed text like [Client Name] is a placeholder to fill in.
Software Development Agreement
This Agreement is entered into as of [Date] between [Developer/Studio Legal Name] ("Developer") and [Client Legal Name] ("Client").
1. Services
Developer will design, build and deliver the software described in the Statement of Work dated [Date] (the "Software"), incorporated by reference.
2. Fees & Milestones
Client will pay the fees and follow the milestone schedule set out in the Statement of Work. Invoices are due within [15] days.
3. Intellectual Property
Upon full payment, Developer assigns to Client all right, title and interest in the source code created specifically for this project. Developer retains rights to any pre-existing tools, libraries, or frameworks used, and grants Client a perpetual license to use them as incorporated into the Software. Third-party and open-source components remain subject to their own licenses.
4. Acceptance Testing
Client will test each milestone deliverable within [5] business days and report any deviations from the agreed specification in writing. Developer will correct reported deviations before the milestone is considered complete.
5. Warranty
Developer warrants the Software will perform substantially as specified for [30] days after launch. Bugs reported within this period will be fixed at no additional charge. New features or changes to specifications are billed separately.
6. Third-Party Costs
Hosting, third-party APIs, and licensing fees are [Client's responsibility, billed directly to Client / included in Developer's fee up to $X].
7. Limitation of Liability
Developer's total liability under this Agreement will not exceed the total fees paid by Client under this Agreement.
8. Governing Law
This Agreement is governed by the laws of [State/Country].
Signatures
Developer: ___________________ Date: ______
Client: ___________________ Date: ______
How to customize it
- Confirm the IP-assignment language matches your actual intent — some developers license rather than assign code, especially for reusable components
- Set the warranty period to something you can realistically support without it becoming free ongoing maintenance
- Be explicit about who pays for and owns third-party service accounts (hosting, APIs) after the engagement ends
- Reference a specific Statement of Work for milestones rather than embedding them directly in this agreement
Common mistakes
- No warranty period defined, leaving 'is this a bug or a new feature' as a constant point of friction post-launch
- IP assignment silent on third-party/open-source components, creating ambiguity about what the client actually owns
- No acceptance-testing window, so 'complete' is never clearly defined for a milestone
- Hosting and third-party costs left ambiguous, discovered only when the first bill comes due
Frequently asked questions
Does the client own the source code once it's built?
Under this template, yes — upon full payment. Confirm that matches your intent; some developers prefer to license reusable components rather than fully assigning them.
How long should the warranty period be?
30 days is common for smaller projects; longer for larger, more complex builds. Be explicit about what counts as a covered bug fix versus billable new work.
Who's responsible for hosting costs after launch?
State this explicitly — commonly the client's responsibility going forward, but it needs to be clear in the agreement rather than assumed.
Other templates
Sign this agreement, then invoice each milestone
Route it for e-signature in Hanko and bill milestone payments as they're accepted.