An editable software development contract covering acceptance testing, IP, warranty, payment and termination. A starting point to adapt with your lawyer.
Not legal advice — have a lawyer review it. Word, Google Docs and PDF.
Last updated
CONTRACTTemplate preview · Example
01
Services
Working software deployed to the client’s environment; source code in the client’s repository.
02
Fees and payment
Deposit before work starts, invoices due within 14 days, expenses at cost with approval.
03
Acceptance testing
The client has ten working days after each release to report defects against the agreed acceptance criteria. Releases with no reported defects in that time are accepted.
04
Termination
Either party can end the agreement with written notice; work done to date is paid.
What a software development contract should cover
A software development contract sets out what you’ll deliver, what the client must do, how you’re paid and what happens if things change. For software developers, the clauses that matter most are usually acceptance testing, intellectual property and open source, warranty.
Clause
Why it matters
Services and exclusions
Defines the work and stops scope creep before it starts.
Client responsibilities
Makes dependencies explicit and ties your dates to them.
Fees and payment
Deposit, payment terms, expenses and late payment.
Acceptance testing
The client has ten working days after each release to report defects against the agreed acceptance criteria. Releases with no reported defects in that time are accepted.
Intellectual property and open source
On payment, the client owns the custom code written for the project. Open-source components remain under their own licences, which the developer will list.
Warranty
The developer fixes defects reported within 30 days of launch at no charge. New features and changes in requirements are not defects.
Termination
How either side can end it and what’s owed.
The template
Parties
Service provider: [Business name, address, email] (“the developer”)
The provider will deliver the software development services described below, or in a statement of work signed by both parties.
[Working software deployed to the client’s environment]
[Source code in the client’s repository]
[Technical documentation and deployment notes]
[Handover session for the client’s team]
2. Not included
[Hosting, third-party APIs and licences unless listed]
[Features not listed in the agreed backlog]
[Support after the warranty period]
[Data migration from legacy systems]
3. Client responsibilities
[A product owner available for sprint reviews]
[Access to existing systems and test data]
[Decisions on priorities within agreed timeframes]
If the Client’s inputs are late, delivery dates move by the same amount of time.
4. Fees and payment
Fee: [Amount and basis — fixed, hourly, day rate or monthly]
Deposit: [e.g. 30% before work starts]
Payment terms: [e.g. invoices due within 14 days]
Expenses: [Charged at cost with prior approval / included]
Late payment: [Interest or right to pause work, as allowed by law]
5. Changes to the scope
Either party can request changes in writing. The provider will confirm the effect on fees and timeline before starting any change.
6. Acceptance testing
The client has ten working days after each release to report defects against the agreed acceptance criteria. Releases with no reported defects in that time are accepted.
7. Intellectual property and open source
On payment, the client owns the custom code written for the project. Open-source components remain under their own licences, which the developer will list.
8. Warranty
The developer fixes defects reported within 30 days of launch at no charge. New features and changes in requirements are not defects.
9. Confidentiality
Each party keeps the other’s confidential information private and uses it only to perform this agreement, during the agreement and for [2] years after it ends.
10. Liability
[Limit each party’s total liability, e.g. to the fees paid under this agreement in the previous 12 months, and exclude indirect losses, to the extent the law allows. Have a lawyer draft this clause for your jurisdiction.]
11. Term and termination
This agreement starts on the effective date and continues until the services are complete, unless ended earlier.
Either party may end it with [14] days’ written notice.
Either party may end it immediately if the other materially breaches it and doesn’t fix the breach within [10] days of notice.
On termination, the Client pays for work done up to the termination date.
12. Independent contractor
The provider is an independent business, not an employee, and is responsible for their own taxes and insurance.
General
Entire agreement: this agreement (and any statements of work under it) is the whole agreement between the parties on its subject.
Changes: changes to this agreement must be in writing and signed by both parties.
Notices: notices are sent to the email addresses above, or as updated in writing.
Governing law: this agreement is governed by the laws of [jurisdiction], and the courts of [jurisdiction] have jurisdiction.
Signatures
[Party A]
[Party B]
Name
Title
Signature
Date
How to fill it in
Fill in both parties’ legal names and addresses, and the effective date.
Describe the services and deliverables, or reference a signed statement of work.
List exclusions and the client’s responsibilities, with dates where they affect yours.
Set the fee, deposit, payment terms, expenses and late payment terms.
Review the software development-specific clauses, such as acceptance testing, and adapt them to the project.
Have a lawyer review the template for your jurisdiction, then sign it before work starts.
Use it in Word, Google Docs or PDF
Microsoft Word
Download the Word (.docx) file and open it. If Word opens it in Protected View, select Enable Editing.
Use Find (Ctrl+F or Cmd+F) and search for “[” to jump between the placeholders you need to replace.
Save a clean copy as a Word template (File → Save As → Word Template) so every new document starts from it.
Google Docs
Upload the .docx file to Google Drive.
Right-click it and choose Open with → Google Docs, then File → Save as Google Docs to keep an editable copy.
Use File → Make a copy for each new client so your master stays clean.
PDF
Use Print or save as PDF in the template section above to print just the template, or fill it in Word or Google Docs first and export it (File → Save As → PDF in Word, File → Download → PDF document in Google Docs).
Example: key terms for Keel Labs and Harbour Freight Ltd
How the main clauses read once filled in for a driver scheduling web app. Both companies are fictional.
Parties and dates
Provider: Keel Labs
Client: Harbour Freight Ltd
Effective date: 1 March
Services
Working software deployed to the client’s environment
Source code in the client’s repository
Technical documentation and deployment notes
Handover session for the client’s team
Not included
Hosting, third-party APIs and licences unless listed
Features not listed in the agreed backlog
Support after the warranty period
Data migration from legacy systems
Fees and payment
Fee: $24,620.00 excluding tax, as itemised in the proposal
Deposit: $7,386.00 (30%) before work starts
Payment terms: Invoices due within 14 days
Notice: 14 days’ written notice by either party
Acceptance testing
The client has ten working days after each release to report defects against the agreed acceptance criteria. Releases with no reported defects in that time are accepted.
Intellectual property and open source
On payment, the client owns the custom code written for the project. Open-source components remain under their own licences, which the developer will list.
Warranty
The developer fixes defects reported within 30 days of launch at no charge. New features and changes in requirements are not defects.
Common mistakes
Starting work before it’s signed. Most disputes start on projects where the terms were “agreed on a call”.
A scope described in one line. Reference a detailed scope or statement of work.
No change process. Without one, every extra request becomes a negotiation.
Copying clauses you don’t understand. If you can’t explain a clause to the client, ask a lawyer about it.
Angelwood’s proposal software builds proposals and agreements from your own templates, shows when the client has opened them and collects e-signatures, with a countersignature to execute the agreement.
Get the agreement signed before any work begins. Terms agreed on a call are the ones that get remembered differently.
02
Make the scope concrete.
Name the deliverables and the exclusions. For software developers, “Hosting, third-party APIs and licences unless listed” is a common source of disagreement.
03
Adapt it with a lawyer.
Use this as a starting point. Laws differ by country and state, and a short review by a lawyer is cheaper than a dispute.
Who owns the code in a software development agreement?+
Usually the client owns the custom code once paid, while the developer keeps pre-existing tools and libraries and open-source components stay under their own licences. The agreement should say this explicitly.
Is a contract template legally binding?+
A template becomes binding once the parties agree and sign it, if it meets the legal requirements where you are. Whether it protects you depends on what it says, so have a lawyer review it for your jurisdiction.
Can contracts be signed electronically?+
In most countries, yes: electronic signatures are generally valid for business contracts like this one, with some exceptions for specific document types. Check the rules that apply to you.
Can I edit this template in Word or Google Docs?+
Yes. Download the Word (.docx) file and open it in Microsoft Word, or upload it to Google Drive and choose Open with → Google Docs. There’s also a Markdown version for any text editor. No account or email address is needed.
How do I save it as a PDF?+
Fill it in, then export it: File → Save As → PDF in Word, or File → Download → PDF document in Google Docs. On this page you can also print just the template or save it as a PDF from your browser’s print dialog.