1
Identify the parties with full legal names
Enter the client's and developer's registered legal entity names, jurisdiction of formation, and principal business addresses. If the developer is a sole proprietor, use their legal name and include the DBA if applicable.
π‘ Cross-check the developer's entity name against your state or provincial business registry before signing β mismatched names create enforcement problems.
2
Draft a detailed Schedule A scope of work
List every page, feature, integration, and technical specification the developer will produce. Include platform (e.g., WordPress, custom React), browser compatibility requirements, and third-party services to be integrated.
π‘ If the scope is still being finalized, use a discovery phase agreement first and attach the full scope as an amendment once requirements are locked.
3
Set the milestone schedule in Schedule B
Break the project into phases (e.g., wireframes, design mockups, front-end build, back-end integration, QA, launch) with a completion date and acceptance window for each. Tie each milestone to a payment tranche.
π‘ Build in a 5β10% buffer on each milestone date to absorb minor delays without triggering a formal breach.
4
Complete the fee and payment schedule
Enter the total fixed fee or hourly rate, the milestone-based payment amounts, accepted payment methods, and the late-payment interest rate. Include the upfront deposit amount β typically 25β50% for fixed-price projects.
π‘ State the currency explicitly if either party is based outside the other's home country.
5
Define IP ownership and developer IP carve-outs
Confirm that custom deliverables transfer to the client upon full payment. List any pre-existing frameworks, libraries, or tools the developer will use that remain their property and are licensed (not assigned) to the client.
π‘ Ask the developer to provide a list of all open-source libraries before execution and confirm their licenses are compatible with the client's intended use.
6
Set the warranty period and support scope
Enter the warranty period (30β90 days is typical), define what qualifies as a defect versus a new feature request, and clarify whether post-warranty support will be covered by a separate maintenance agreement.
π‘ Attach a Website Maintenance Agreement as a follow-on document for ongoing post-launch support to avoid scope creep after the warranty expires.
7
Set the liability cap and governing law
Confirm the liability cap (typically total fees paid), select the governing jurisdiction, and choose a dispute resolution mechanism β arbitration or courts. Ensure the chosen governing law is the state or country where the developer primarily operates.
π‘ For cross-border projects, specify the currency of the liability cap explicitly β 'total fees paid in USD' removes ambiguity.
8
Execute before any work begins
Both parties must sign before the developer writes a single line of code. Use a dated signature block and retain fully executed copies.
π‘ Use Business in a Box eSign to timestamp execution and store the signed agreement in BIB Drive alongside Schedule A and B.