1
Identify both parties with legal entity names
Enter the developer's and client's full registered legal names, entity types, and principal business addresses. Do not use brand names or trading names alone.
💡 Cross-check the client's name against their corporate registry filing — mismatched names on invoices and contracts delay payment and complicate enforcement.
2
Build a detailed Schedule A for scope of work
List every page, feature, integration, and technical specification the developer will deliver. Include what is explicitly excluded — e.g., copywriting, SEO, or hosting — to prevent scope creep.
💡 Attach annotated wireframes or a feature matrix as Schedule A rather than written prose. Visual specificity cuts revision disputes by more than half.
3
Set milestone dates and link each to a payment trigger
Define at least three milestones — kickoff, staging build, and final delivery — with calendar dates and the corresponding payment amount due on each. Add a client-delay carve-out extending each date day-for-day.
💡 Never set a final delivery date without first confirming the client's content-supply deadline. Build in a minimum 10-business-day buffer after the client's last content submission.
4
Complete the fee schedule and late-payment clause
Enter the total project fee, the percentage and dollar amount due at each milestone, and the monthly interest rate on overdue invoices. Specify the payment method — bank transfer, credit card, or check.
💡 A 25–30% deposit on execution is standard. It covers early development costs and confirms the client is financially committed before significant hours are invested.
5
Draft the IP assignment and license carve-out
Specify that custom code and design assets transfer to the client on full payment. List any third-party libraries, frameworks, or pre-existing developer tools by name in the perpetual-license carve-out.
💡 Check that every open-source component used has a license compatible with commercial use and client ownership — GPL, for example, imposes attribution and share-alike obligations that may conflict with client expectations.
6
Set the acceptance period and revision limit
Define the review window in business days after each deliverable, the maximum number of revision rounds included in the fee, and the hourly rate for additional rounds. Add a deemed-acceptance clause for non-responding clients.
💡 10 business days is the accepted industry standard for client review. Shorter windows pressure clients unreasonably; longer windows stall cash flow.
7
Define termination rights and the kill fee
State the notice period for termination by either party, the kill-fee percentage on client-initiated termination after work has begun, and the developer's obligation to deliver completed work files within a set number of days.
💡 A 20–30% kill fee on the remaining balance is the market norm. Set it too high and courts may view it as an unenforceable penalty; too low and it doesn't cover sunk costs.
8
Sign before any development work begins
Both parties must execute the agreement before the developer writes code or produces designs. A signed agreement is the only evidence of the agreed scope, fee, and IP terms if a dispute arises.
💡 Use a timestamped e-signature tool and store the executed copy in a shared location accessible to both parties — verbal amendments after signing carry no weight.