Writing down "what" beats ten pages of legal boilerplate
Most disputes originate in fuzzy scope: the contract says "build an e-commerce system", and the two sides disagree by four modules — payments, refunds, coupons, multi-vendor. The fix: attach feature lists, page lists and API lists to the contract, and explicitly list exclusions.
Check line by line before signing
Copy this into your requirements confirmation email:
- Scope: feature list + exclusions + how changes are priced
- Acceptance: every criterion phrased as a verifiable action with pass conditions
- Deliverables: source code, design files, database schema, API and deployment docs, account inventory
- IP: ownership of code and design; license scope of third-party components
- Accounts: domain, servers, mini program, developer and payment accounts registered under the client's entity
- Milestones and payments: stage-gated against verifiable results; final payment after launch handover
- Support: free bug-fix period, response SLA, pricing for later maintenance
- Data: who cleanses and imports historical data, how accuracy is verified, how to roll back
What "source code delivery" must be verified for
A zip file is not maintainable code. Confirm at minimum: the project runs locally by following the docs; dependency versions are pinned; environment variables are documented; database initialization scripts exist; no hard-coded company secrets or private services. Ideally, watch the vendor do one deployment from scratch.
Accounts under your own name — the non-negotiable
Domains, servers, mini program AppIDs, Apple developer accounts, payment merchant accounts: register all of them under your company. The developer joins as a collaborator only. When the engagement ends, anything held by the vendor can hold your website, your user data and your revenue channel hostage — migration costs a fortune.
Small projects deserve a one-pager too
Even a ¥5,000 website deserves a simple written agreement: scope, timeline, payment milestones, deliverables, free bug-fix period. Not to defend against anyone — but so both sides share one definition of "done". It makes every conversation cheaper.
Want to discuss a real project?
Articles carry general experience; your situation may need different trade-offs. Send a short description and get a tailored initial plan and itemized quote.
Free Consultation