Software Development Agreement Template
A free software development agreement template covering the specification, milestones, acceptance testing, source code ownership, open source components, and post-delivery warranty. Download in PDF or Word and fill in the bracketed fields.
Last updated: August 5, 2026
What Is a Software Development Agreement?
A software development agreement is the contract between a customer and a developer, agency, or engineering firm building custom software. It describes the specification, the delivery milestones, the acceptance criteria used to decide whether a build is finished, and who owns the resulting source code. It also handles the parts unique to software: open source licenses that travel with the code, third-party APIs the system depends on, security obligations, escrow or repository access, and what the developer owes if the software has defects after go-live.
The hardest problem in a development contract is not ownership but acceptance. Software is rarely finished in a single moment, and without written acceptance criteria the customer can keep finding reasons the build is incomplete while the developer keeps insisting it meets the spec. A well-drafted agreement fixes a test procedure, a review window, a definition of a defect as opposed to a change request, and a fallback if a milestone fails twice, so both sides know how the project ends rather than only how it starts.
When to Use This Template
- ✓You are commissioning custom software, an internal tool, an integration, or a platform build
- ✓You are the developer and need acceptance criteria in writing before you can be paid for a milestone
- ✓The customer expects to own the source code and needs the assignment documented
- ✓The system will use open source components or third-party APIs whose terms flow through to the customer
- ✓The build touches personal data, payment data, or credentials and needs security obligations
- ✓Work will run across several milestones with payments tied to each one
Received a contract like this to sign?
Don't guess what's in it. ScanContract's AI flags risky clauses in 60 seconds.
Analyze My Contract FreeTemplate Preview
Full text of the template. Fields in [BRACKETS] are placeholders you fill in.
Software Development Agreement
1. 1. Parties and Definitions
This Software Development Agreement (the "Agreement") is entered into on [EFFECTIVE DATE] between [DEVELOPER NAME], a [ENTITY TYPE] located at [DEVELOPER ADDRESS] (the "Developer"), and [CUSTOMER NAME], a [ENTITY TYPE] located at [CUSTOMER ADDRESS] (the "Customer"). "Software" means the software, source code, object code, configuration, scripts, and documentation developed for the Customer under this Agreement. "Specification" means the requirements document attached as Exhibit A, together with any change orders signed by both Parties. "Deliverable" means any item identified in a Statement of Work. "Defect" means a reproducible failure of the Software to perform materially in accordance with the Specification.
2. 2. Statements of Work
Each engagement under this Agreement will be described in a Statement of Work executed by both Parties, referencing this Agreement and setting out the Specification, deliverables, milestones, target dates, acceptance criteria, fees, and assumptions. In case of conflict, the terms of this Agreement control unless the Statement of Work expressly amends a numbered section of it. The Developer will not begin work outside an executed Statement of Work, and the Customer is not obligated to pay for work performed outside one. The initial Statement of Work covers [PROJECT SUMMARY] with a target delivery date of [TARGET DATE].
3. 3. Development Process and Change Control
The Developer will perform the work using [DEVELOPMENT METHODOLOGY, e.g., two-week sprints with a review at the end of each sprint], and will make progress visible through [REPORTING METHOD, e.g., a shared issue tracker, weekly written status, and access to a staging environment]. Either Party may request a change to the Specification in writing. The Developer will respond within [CHANGE RESPONSE PERIOD, e.g., five business days] with the estimated effort, cost at [CHANGE ORDER RATE], and schedule impact, and no change takes effect until both Parties approve it in writing. The Customer acknowledges that changes accepted late in a milestone may require rework and may move dependent dates. Requests that do not alter the Specification, such as bug reports, are handled under Section 5 rather than as changes.
4. 4. Customer Responsibilities and Dependencies
The Customer will provide timely access to the people, systems, data, credentials, environments, and third-party accounts the Developer needs, and will name a product owner authorized to answer requirements questions and approve deliverables. The Customer will respond to questions and approval requests within [RESPONSE WINDOW, e.g., three business days]. The Customer is responsible for procuring and paying for third-party services the Software depends on, including hosting, databases, API subscriptions, certificates, app store accounts, and monitoring tools. Delay caused by the Customer or by a third-party dependency extends affected dates by at least the length of the delay, and the Developer may invoice for standby time above [STANDBY THRESHOLD, e.g., five business days] at [STANDBY RATE].
5. 5. Delivery, Acceptance Testing, and Defects
The Developer will notify the Customer when a milestone is ready for acceptance testing and will provide access to a test environment and any test instructions. The Customer has [ACCEPTANCE PERIOD, e.g., ten business days] to test the milestone against the acceptance criteria in the applicable Statement of Work and to deliver a single consolidated written list of Defects. A milestone is deemed accepted if the Customer approves it in writing, if the Customer submits no Defect list within the acceptance period, or if the Customer uses the milestone in production. The Developer will correct reported Defects and resubmit within [CORRECTION PERIOD, e.g., ten business days]. Items on the list that are not Defects are change requests under Section 3. If the same milestone fails acceptance [FAILURE LIMIT, e.g., three] times for the same material Defect, the Customer may terminate the affected Statement of Work under Section 12 and receive the work completed to date.
6. 6. Fees, Milestones, and Payment
The Customer will pay the Developer on a [FEE MODEL, e.g., fixed price per milestone, time and materials at the rates in Exhibit B, or a capped time and materials basis] basis. For fixed-price work, the total fee is [TOTAL FEE], invoiced as [MILESTONE PAYMENT SCHEDULE]. For time and materials work, the Developer will invoice [INVOICE FREQUENCY, e.g., monthly] with a breakdown by person and task, and will notify the Customer before exceeding [BUDGET CAP]. Invoices are due within [PAYMENT TERM, e.g., 30 days] and past-due amounts accrue a late charge of [LATE FEE PERCENTAGE] per month or the maximum permitted by law, whichever is less. The Developer may suspend work and pause deliveries if any undisputed invoice is more than [SUSPENSION TRIGGER, e.g., 30 days] overdue, after written notice. The Customer must raise invoice disputes in writing within [DISPUTE WINDOW, e.g., ten days] and pay undisputed amounts on time.
7. 7. Intellectual Property and Source Code
On receipt of full payment for the applicable Statement of Work, the Developer assigns to the Customer all right, title, and interest in the Software developed specifically for the Customer, including the source code, documentation, and all copyrights in them. Until payment is received, the Developer retains all rights and the Customer has no license to use the Software in production. The Developer retains ownership of its pre-existing and independently developed tools, frameworks, libraries, utilities, and generalized know-how (the "Developer Materials"), and grants the Customer a worldwide, perpetual, irrevocable, non-exclusive, royalty-free license to use, modify, and sublicense the Developer Materials as incorporated into the Software. Nothing in this Agreement prevents the Developer from performing similar work for other customers or from reusing skills, techniques, and general knowledge gained during the engagement.
8. 8. Open Source and Third-Party Components
The Developer may incorporate open source and third-party components into the Software only where their licenses permit the intended use by the Customer. The Developer will not incorporate any component under a license that would require the Customer to disclose, license, or make available its proprietary source code, without prior written approval from the Customer. The Developer will maintain and deliver a bill of materials listing every third-party and open source component, its version, and its license, updated at each milestone. Third-party components are licensed and not assigned, and the Customer is responsible for complying with their terms and for any subscription or usage fees. The Developer makes no warranty regarding third-party components beyond passing through any warranty it is permitted to pass through.
9. 9. Source Control, Environments, and Handover
All code will be committed to a repository at [REPOSITORY LOCATION] to which the Customer has read access from the start of the engagement, and full administrative access on acceptance and payment of the applicable milestone. The Developer will maintain the environments listed in Exhibit A, typically development, staging, and production, and will document build, deployment, configuration, and environment variables sufficiently for a competent engineer to run the Software independently. On completion or termination, the Developer will transfer repositories, documentation, credentials, infrastructure configuration, and any data belonging to the Customer within [HANDOVER PERIOD, e.g., 15 days], and will provide up to [TRANSITION HOURS] of transition assistance at [TRANSITION RATE].
10. 10. Confidentiality and Data Protection
Each Party will keep confidential the non-public information of the other, including source code, architecture, business plans, pricing, credentials, and customer data, will use it only to perform this Agreement, and will protect it with at least reasonable care. Where the Developer processes personal data on behalf of the Customer, it will do so only on documented instructions from the Customer, will apply the security measures described in [SECURITY EXHIBIT REFERENCE], will restrict access to personnel who need it, and will notify the Customer without undue delay and in any event within [BREACH NOTICE PERIOD, e.g., 72 hours] of becoming aware of a security incident affecting that data. The Parties will execute a separate data processing addendum where required by applicable privacy law. The Developer will use production data in non-production environments only when it is anonymized or when the Customer approves in writing. Confidentiality obligations survive for [CONFIDENTIALITY PERIOD, e.g., five years] after termination, and indefinitely for source code and trade secrets.
11. 11. Warranty and Post-Delivery Support
The Developer warrants that for [WARRANTY PERIOD, e.g., 90 days] after acceptance of a milestone, the Software will perform materially in accordance with the Specification, and that the work will be performed in a professional and workmanlike manner by qualified personnel. The sole remedy for breach of this warranty is correction of the Defect by the Developer at no additional charge or, if correction is not commercially practicable, a refund of the fees paid for the affected Deliverable. The warranty does not cover issues caused by modification of the Software by anyone other than the Developer, by use outside the Specification, by failures of third-party services or infrastructure, or by data supplied by the Customer. Except as stated in this section, the Software is provided without any other warranty, express or implied, including implied warranties of merchantability, fitness for a particular purpose, and non-infringement. Ongoing maintenance and support after the warranty period are available under a separate agreement.
12. 12. Term, Termination, and Effects
This Agreement begins on the Effective Date and continues until terminated. Either Party may terminate this Agreement or any Statement of Work for convenience on [TERMINATION NOTICE, e.g., 30 days] written notice, or immediately for a material breach not cured within [CURE PERIOD, e.g., 15 days] after written notice. On termination, the Customer will pay for all work performed and approved expenses incurred through the termination date, and the Developer will deliver all work product for which payment has been received together with the handover items in Section 9. Termination does not affect accrued rights, and Sections covering intellectual property, confidentiality, warranty, liability, indemnification, and governing law survive.
13. 13. Non-Solicitation and Personnel
The Developer will assign qualified personnel to the engagement and remains responsible for their work, their compensation, and their compliance with this Agreement, including confidentiality and intellectual property obligations. The Developer will not subcontract any material portion of the work without prior written notice to the Customer and remains fully responsible for any subcontractor. During the engagement and for [NON-SOLICIT PERIOD, e.g., 12 months] afterward, neither Party will knowingly solicit for employment any individual of the other who was directly involved in the work, except through general public job postings not targeted at that individual. If a Party breaches this section, it will pay a placement fee of [PLACEMENT FEE] as the exclusive remedy.
14. 14. Limitation of Liability, Indemnification, and Governing Law
Neither Party will be liable for indirect, incidental, consequential, special, or punitive damages, or for lost profits, revenue, goodwill, or data, even if advised such damages are possible. Except for breach of confidentiality, the indemnification obligations in this section, and willful misconduct, the total aggregate liability of each Party under this Agreement will not exceed the total fees paid or payable under the applicable Statement of Work in the [LIABILITY CAP PERIOD, e.g., twelve months] preceding the event giving rise to the claim. The Developer will defend and indemnify the Customer against third-party claims that the Software as delivered infringes a United States patent, copyright, or trade secret, excluding claims arising from Customer-supplied materials, from modifications not made by the Developer, or from combination with products not supplied by the Developer. The Customer will defend and indemnify the Developer against third-party claims arising from Customer data, Customer-supplied materials, or use of the Software outside the Specification. The indemnified Party must give prompt written notice and reasonable cooperation. This Agreement is governed by the laws of the State of [GOVERNING STATE], without regard to conflict of laws rules. The Parties will attempt to resolve disputes through escalation to senior representatives for at least [NEGOTIATION PERIOD, e.g., 30 days], then through mediation in [MEDIATION LOCATION], before bringing suit in the state or federal courts located in [VENUE COUNTY AND STATE]. This Agreement, its exhibits, Statements of Work, and signed change orders are the entire agreement between the Parties, and any purchase order terms are expressly rejected. Amendments must be in writing and signed by both Parties. Neither Party may assign this Agreement without consent except to a successor of substantially all of its business. If any provision is unenforceable the remainder stays in effect, and neither Party is liable for delay caused by events beyond its reasonable control.
15. 15. Signatures
By signing below, both Parties confirm they have read and agree to this Agreement as of the Effective Date. DEVELOPER: [DEVELOPER NAME]. Signature: ______________________. Printed Name: [DEVELOPER SIGNER NAME]. Title: [TITLE]. Date: [DATE]. CUSTOMER: [CUSTOMER NAME]. Signature: ______________________. Printed Name: [CUSTOMER SIGNER NAME]. Title: [TITLE]. Date: [DATE]. This Agreement may be executed in counterparts, and electronic signatures have the same effect as original signatures on a single document.
16. Disclaimer
This template is provided for general informational purposes only and is not legal advice. Software agreements involve intellectual property, open source licensing, export control, and data protection questions that vary by jurisdiction and by the nature of the system being built. Review and adapt this document for your own facts, and have a licensed attorney review it before using it for a material engagement or for software that processes regulated data. Use of this template does not create an attorney-client relationship with ScanContract.
Key Clauses Explained
What each important clause does — and what to watch out for before you sign.
Acceptance Testing and Deemed Acceptance
Sets a test window, a consolidated defect list, and the point at which a milestone is treated as accepted.
Customers should confirm the acceptance window is long enough for real testing, because a five-day window on a large release plus deemed acceptance means paying for a build nobody had time to check. Developers should keep the deemed-acceptance trigger and the production-use trigger, since without them a milestone can stay open indefinitely while invoices go unpaid.
Defect Versus Change Request
Distinguishes a failure to meet the specification from a new requirement discovered during testing.
This is where fixed-price projects bleed. Developers should insist that anything not traceable to the specification is a change order. Customers should make sure the specification is detailed enough that obvious expectations are written down, because a thin spec turns every reasonable request into a billable change.
Source Code Assignment
Transfers ownership of the custom code and documentation to the customer on payment.
Customers should check that the assignment covers documentation, configuration, and infrastructure code, not just application source, and that repository administrative access actually transfers. Developers should carve out reusable frameworks and internal libraries explicitly, because a broad assignment clause can otherwise hand a competitor the toolkit you use on every project.
Open Source Components
Controls which third-party licenses may enter the codebase and requires a bill of materials.
Customers planning to sell or license the software should insist on the prohibition against copyleft components that would force disclosure of proprietary code. Developers should keep the component list current at every milestone, since reconstructing it during a due diligence review two years later is far more expensive than maintaining it.
Repository Access and Handover
Guarantees the customer visibility into the code during the build and a complete handover at the end.
Customers who only receive a zip file at the end have no way to verify progress and no leverage if the relationship fails. Ask for read access from day one. Developers should tie full administrative access to milestone payment rather than to the start date, so unpaid work is not already sitting in the environment of the customer.
Warranty Period and Remedy
Commits the developer to fixing defects for a limited period after acceptance and states the only remedy.
Ninety days is common, but customers should check what voids it — edits by another developer, third-party API failures, and use outside the specification are usually excluded. Developers should keep the remedy limited to correction or refund, because an unlimited obligation to make software work under any condition is not a warranty, it is free maintenance.
IP Infringement Indemnity
Makes the developer defend claims that the delivered software infringes third-party rights.
Customers should confirm this indemnity is not capped at a token amount and that it sits outside the general liability cap. Developers should keep the standard carve-outs for customer-supplied materials, third-party modifications, and combinations with other products, since those are the situations they cannot control or predict.
Limitation of Liability
Caps total exposure and excludes indirect damages such as lost profits and lost data.
A cap set at fees paid can be far below the loss a failed system causes, and customers relying on the software for revenue should negotiate a higher cap or a separate carve-out for data breach. Developers should make sure the exclusions are consistent and that professional liability or cyber insurance actually matches the cap they agreed to.
Frequently Asked Questions
Who owns the source code in a software development agreement?▾
What is acceptance testing and why does it matter so much?▾
Should the contract restrict open source components?▾
What happens if a milestone fails acceptance repeatedly?▾
Do I need a data processing addendum with my developer?▾
Related Templates
Mobile App Development Agreement
A free mobile app development agreement template built for iOS and Android projects: platform scope, store submission and rejection handling, developer account ownership, SDK and privacy disclosures, and code ownership on payment. Download in PDF or Word.
Free download — PDF & Word →SaaS Agreement
A free SaaS agreement template covering the subscription and license grant, uptime and support commitments, customer data ownership, security and privacy obligations, auto-renewal, and what happens to the data when the contract ends. Download in PDF or Word.
Free download — PDF & Word →IT Support / Managed Services Agreement
A free IT support and managed services agreement template for MSPs and internal buyers: covered devices and users, severity-based response times, patching and backup commitments, security obligations, out-of-scope work, and a documented exit. Download in PDF or Word.
Free download — PDF & Word →Mutual Non-Disclosure Agreement
A free mutual NDA template for situations where both companies will be sharing confidential information — partnerships, integrations, joint bids, and early acquisition talks. Download it in PDF or Word, fill in the bracketed fields, and sign.
Free download — PDF & Word →Downloaded a template? Analyze the final contract.
Before you sign, let ScanContract's AI check for risky clauses and missing protections.
Scan My Contract