App development contract template

Software projects fail on scope and acceptance more than on code. This agreement pins the feature list, what "done" means for each milestone, and what happens when the client thinks of one more thing.

The template

1. ScopeDeveloper will build [an iOS and Android app / a web app] with the features listed in Appendix A. Anything not listed is out of scope and handled under clause 4.
2. Milestones and acceptanceMilestone 1 [design and clickable prototype] by [date]; Milestone 2 [core features, test build] by [date]; Milestone 3 [launch-ready build] by [date]. Each milestone is accepted when Client confirms in writing that it meets Appendix A, or after [10] business days without written defects.
3. Fees[amount], invoiced [30]% on signing and the balance in equal parts on acceptance of each milestone, net 14. Work stops while an invoice is more than [14] days overdue.
4. Change requestsNew features or changes to accepted work are documented in a change order with a price and schedule impact, and begin on Client's written approval.
5. Third-party servicesApp store accounts, hosting, databases, email and SMS services are opened in Client's name and billed to Client directly. Developer is not responsible for changes those providers make.
6. OwnershipOn full payment, Client owns the application code written for this project. Developer retains ownership of pre-existing libraries and tools, licensed to Client for use in the application, and may reuse general techniques.
7. Warranty and supportDeveloper will fix defects reported within [30] days of launch at no charge where the code deviates from Appendix A. Ongoing support and updates are available under a separate maintenance agreement.
The Web developer template in Paperwork pre-fills phases, exclusions and terms.Paperwork fills the proposal, contract, invoice, SOW, NDA and change order from one form, and your client signs from a link. $19 once. Try the free demo first.
Try it freeGet Paperwork · $19

Silent acceptance

Ten business days of silence counting as acceptance is what stops the last milestone (and the last invoice) waiting indefinitely for "one more look."

Accounts in the client's name

Apple, Google, AWS, Stripe: open them as the client, with you as a team member. It keeps you off their bills and them off your credit card, and it makes handover trivial.

Bill by milestone

Milestone invoices align money with delivered value and give both sides a natural checkpoint. Hourly billing on fixed-scope app work is where disputes begin.

More templates