1
Identify the parties and define their roles
Enter the full legal name, entity type, and jurisdiction of incorporation for each partner. Label each party clearly (e.g., Developer Partner, Business Partner) to make obligations unambiguous throughout the document.
π‘ Confirm entity names against your corporate registry β a mismatch between the contract name and the registered entity can void IP assignment clauses.
2
Attach a detailed software specification as Schedule A
Draft or attach a specification document describing the software's core features, platform, integrations, and acceptance criteria. Reference it in the scope clause rather than embedding technical detail in the agreement body.
π‘ Version-control the specification separately from the agreement so scope changes can be documented by amendment without re-signing the full contract.
3
Value and document each partner's contributions
Assign a dollar value to each contribution β cash, labor, existing code, licenses, and market access. List contributions in Schedule B with agreed valuations and tie the equity or revenue split to those valuations.
π‘ For non-cash technical contributions, use a conservative hourly rate (e.g., $150β$200/hr for senior development) and document the estimated hours in writing.
4
Define IP ownership and carve out background IP
Decide whether jointly developed IP is co-owned, assigned to one party, or held in a jointly owned entity. List each party's pre-existing background IP in Schedule C and confirm it is only licensed β not assigned β to the partnership.
π‘ If one party is providing substantially all the technical work, consider assigning Project IP to them with a perpetual license back to the Business Partner, rather than joint ownership β joint ownership requires mutual consent for every future license deal.
5
Set milestones with specific acceptance criteria
Build a milestone schedule in Schedule D with dates, deliverables, and measurable acceptance criteria for each stage. Link milestone acceptance to payment triggers and IP vesting events.
π‘ Include a 'deemed accepted' provision: if the Business Partner does not respond within the review window, the milestone is automatically accepted β this prevents indefinite delay tactics.
6
Agree on the revenue formula and distribution mechanics
Specify the revenue split percentage, define what costs are deducted before calculating net revenue, set the payment cycle (monthly or quarterly), and require quarterly financial statements to support distributions.
π‘ Agree on a reserve fund β typically 10β15% of net revenue β retained to cover operating costs before distribution, to prevent cash flow disputes in growth periods.
7
Draft the exit and buyout terms before signing
Choose a valuation method for buyouts (e.g., 3Γ trailing 12-month net revenue, or an independent appraiser), set the right-of-first-refusal period, and specify IP transfer obligations on exit.
π‘ A shotgun clause β where one partner names a price, and the other must buy or sell at that price β is the most effective way to resolve deadlocks in 50/50 partnerships.
8
Sign before sharing any code or confidential information
Both parties must execute the agreement before any proprietary technical information, source code, or business data is exchanged. Post-disclosure signatures lose the confidentiality protection that predates signing.
π‘ Use a timestamped e-signature service and store the executed agreement alongside the specification and contribution schedules in a shared secure folder accessible to both parties.