RunoSO - Business OS for Solo Operators LogoRunoSO
FeaturesPricingTemplatesBlogAbout
Sign inStart free
RunoSO LogoRunoSO

Run your solo business. From one place.

Built in India 🇮🇳

Product

FeaturesPricingBlogChangelogRoadmap

Legal

Terms & ConditionsPrivacy PolicyRefund PolicyCookie PolicyData Deletion

Connect

Twitter/XLinkedInInstagramhello@runoso.in
Made by RunoSO
© 2026 RunoSO. All rights reserved.
Back to Blog

Featured Articles

Build in Public

Why I Ditched Notion & Sheets to Build RunoSO

7 min read
Technical Deep-Dive

How I Built a Zero-Knowledge Vault with AES-256

10 min read
Productivity

Best Freelance Tools in 2026 — Honest Stack Review

11 min read
View all posts
  1. Home
  2. Blog
  3. Freelance Proposal to Project Handover: Don't Lose the Scope
Productivity

Freelance Proposal to Project Handover: Don't Lose the Scope

By Gautam Parmar11 September 20268 min read
Freelance Proposal to Project Handover: Don't Lose the Scope — featured image

You sent the proposal on Tuesday. Acme Growth Revamp — ₹1.2L, 5 pages, 2 revisions, 4 weeks, hosting excluded. Client replied Thursday: Approved. Let's start Monday. Send invoice for advance.

Monday 10 AM kickoff hits. You open Google Docs for the proposal, Notion for the Acme Corp page you created last month, Trello for the Acme Homepage card template, and Sheets for the budget log. You re-type: project Acme Growth Revamp into Trello, budget 120000 into Sheets, 8 tasks from the proposal's Scope section into Trello checklists, and advance 30000 into your invoice tool. By task 5 you paraphrase: Homepage hero + CMS becomes Homepage build. Revision cap disappears. Hosting excluded is not copied.

Week 3, client: Where's hosting setup? You said included. You didn't. But the new Trello card says Homepage build — ambiguous. You eat 6 hours free because you can't prove what was promised. The proposal was right. The handover invented a new scope.

Freelance handover failure is not carelessness. It's copy-paste as system.

Why Proposal → Project Breaks in Notion / Excel / HubSpot

Your current handover is string-based, not ID-based:

  • Notion holds the proposal narrative — beautiful doc, no budget numeric(12,2) src/lib/db/schema.ts:35, no deadline timestamp src/lib/db/schema.ts:33, no githubUrl src/lib/db/schema.ts:34. You re-type numbers, introducing typos. Text ₹1.2L approx can't be summed in FinanceOverviewClient src/components/finance/FinanceOverviewClient.tsx.
  • Excel / Sheets holds budget and advance as cells with no clientId FK src/lib/db/schema.ts:25. Rename Acme Corp to Acme Pvt Ltd in Notion, Sheets still says Acme Corp. No cascade onDelete:cascade src/lib/db/schema.ts:26, no truth.
  • HubSpot (or HoneyBook) holds the deal as Deal Amount but pushes to project via Zap — Acme Homepage in Trello is a new string, not projectId uuid src/lib/db/schema.ts:24. Tasks src/lib/db/schema.ts:45 orphan: projectId notNull src/lib/db/schema.ts:47 unenforced because Trello has no FK.
  • Trello holds tasks as cards with no priority low|medium|high src/lib/db/schema.ts:43 tied to project.budget burn. Client approved 2 revisions lives in Doc, not in project.notes src/lib/db/schema.ts:32.

Result: you re-type 4 times, lose fidelity once, pay with free work. HubSpot → Zap → Trello is four hops for what should be one FK pick. Notion can't enforce clientId notNull; Sheets can't auto-create transactions type:income category:Project Advance src/app/api/projects/route.ts:145. Scope lives in prose, not in linked records.

A proposal is a promise. A handover that re-types the promise is a game of telephone you lose.

The Linked Handover: One Client → One Project → Many Tasks (Typed)

In RunoSO, every tenant is tenant_${id} src/lib/db/tenant.ts:47 — 26 tables where clients 1—∞ projects 1—∞ tasks and clients 1—∞ invoices/vaultItems are FK-enforced:

clients(id uuid pk, status lead|active|inactive src/lib/db/schema.ts:5)
  1—∞ projects(clientId uuid fk notNull onDelete:cascade src/lib/db/schema.ts:25, budget numeric, advance numeric, deadline, githubUrl, type dev|content|design|other)
    1—∞ tasks(projectId uuid fk notNull src/lib/db/schema.ts:47, status todo|in-progress|done, priority)
  1—∞ invoices(clientId+projectId)
  1—∞ vaultItems(clientId+projectId) AES-256-GCM

Handover in 6 minutes, zero re-typing:

  1. Find or confirm clientId. POST /api/clients already holds Acme Corp status:lead → active src/lib/db/schema.ts:13. No new Acme string. HubSpot deal would still make you search Acme vs ACME.
  2. Create project linked. POST /api/projects src/app/api/projects/route.ts:145 — pick clientId dropdown, set title, type:design, status:active, budget:120000, advance:30000, deadline, description = paste final Scope + Exclusions once into description/notes src/lib/db/schema.ts:32. Typed numeric(12,2) drives Recharts live; text 1.2L never does.
  3. Auto-finance sync. If advance > 0, RunoSO inserts transactions type:income category:Project Advance src/app/api/projects/route.ts:145 and future syncProjectAdvance src/app/api/transactions/route.ts:21 keeps projects.advance honest. Sheets needs SUMIF you forget.
  4. Break proposal bullets into tasks. POST /api/projects/[id]/tasks task.projectId enforced — no orphan Homepage hero floating in Trello backlog. Set priority:high for Week 1 hero, dueDate for milestone.
  5. Link vault + assets upfront. Attach vaultItems clientId/projectId src/lib/db/schema.ts:133 Figma link, hosting vaultItemId src/lib/db/schema.ts:198, so kickoff doesn't chase logins mid-sprint.
  6. Invite via portal. POST /api/clients/[id]/portal portalTokens tenantId+clientId unique revokedAt src/lib/db/schema-public.ts:169 → portal/[token] shows client scope + progress. Decisions log against dossier, not WhatsApp.

One clientId pick eliminates 4 re-types. Scope now lives in projects record, not in Doc prose you must hunt.

Handover System: The 8-Item Scope Lock

Before you click Create project, run this lock — paste into project.description so both sides see it:

  1. Included: numbered deliverables exactly as proposed (e.g., 5 pages: Home, About, Services, Contact, Blog index)
  2. Excluded: explicit list (Hosting setup, Logo design, App screens → prevents hosting confusion)
  3. Revisions: 2 rounds, 3rd at ₹X — ties to tasks count
  4. Timeline & deadline: src/lib/db/schema.ts:33 4 weeks, milestone dates — visible on ClientDetailPageClient src/app/(dashboard)/clients/[id]/page.tsx
  5. Budget & advance: budget 120000 advance 30000 numeric src/lib/db/schema.ts:35 + invoice draft amount numeric src/lib/db/schema.ts:69
  6. Access needed: list CMS, hosting, Figma, GitHub githubUrl src/lib/db/schema.ts:34
  7. Communication: Slack thread + weekly portal update Friday 4 PM — not 3 apps
  8. Approval: one line: Client initials scope + budget before tasks start

Without this lock, Homepage build means anything. With it, Trello card Homepage build is banned — task must be Home — hero + CMS (rev 1/2) linked to project.

Mistakes That Re-Create the Gap

Mistake 1: Treating proposal as doc, not data.

If budget stays as ₹1.2L approx in Google Doc, you can't filter activeProjects where budget > 100000 src/app/api/sidebar/stats/route.ts:55. Type it numeric(12,2) once, query forever.

Mistake 2: Creating project before confirming clientId.

Typing Acme Revamp without picking Acme Corp (lead) creates string future-you must reconcile. Pick clientId, then create — clientId notNull src/lib/db/schema.ts:25 enforces, Sheets never does.

Mistake 3: Tasks outside project.

A personalTasks isToday src/lib/db/schema.ts:247 for Buy groceries is fine, but Homepage hero as personalTasks breaks project.totalTasks/doneTasks src/app/api/projects/route.ts:28 progress and portal visibility. Link client work to tasks.projectId.

Notion + Sheets + HubSpot + Trello vs Linked RunoSO

Handover momentNotion + Sheets + HubSpot → TrelloRunoSO tenant_${id} 26 tables
Budget/advance captureRe-type 1.2L text → Sheet cell → typo, no sumprojects budget/advance numeric(12,2) + transactions auto + live FinanceOverviewClient
Scope fidelityCopy-paste 8 bullets → paraphrase driftproject.description/notes single scope lock → tasks 1:1 linked projectId FK
Client identityAcme in 4 tools, 3 stringsclientId uuid onDelete:cascade one record, all FKs follow
Progress truthTrello Done vs Sheet Invoiced manualprojects totalTasks/doneTasks + `invoices status draftsentpaidoverdue` one dossier
Client visibilityEmail updated scope PDF v3portalTokens portal/[id] shows live `status activecompleted src/lib/db/schema.ts:21` self-serve
Vault at kickoffDM server IP latervaultItems clientId/projectId AES-256-GCM src/lib/vault/crypto.ts:22 linked from day 1

Telephone vs FK. One drifts, one doesn't.

10-Minute Handover Checklist

  1. Open Clients → confirm Acme Corp status:active → Max 30? No duplicate string.
  2. Create Project → pick clientId → paste Scope Lock 8 items → set budget/advance/deadline/type/status.
  3. Verify Finance auto-transaction Project Advance appeared — no manual Sheet entry.
  4. Add 5-8 tasks from scope bullets — each priority + dueDate → check Dashboard TodayFocusCard count.
  5. Create Invoice draft POST /api/invoices clientId+projectId amount invoiceNumber GOS/25-26/001 sequential — advance invoice ready before kickoff call ends.
  6. Generate portal POST /api/clients/[id]/portal → paste portal/[token] in kickoff agenda — scope visible, revokedAt if needed.

Do this before Let's start Monday. Scope stays the promise you sold.


RunoSO turns proposals into linked projects — client → project → tasks → invoices → vault in one tenant_${id} graph. Stop re-typing scope, start delivering it.

→ Start Your Linked Handover — Try RunoSO Free


By Gautam Parmar src/app/(marketing)/about/page.tsx:44 — solo founder, Next.js 16 Tailwind v4 Neon Drizzle AES-256-GCM, building in public on X.


Keep Reading

  • Linked system deep dive: client & project linked system.
  • Ops hub for kickoff: freelance operations hub single dashboard.
  • Never lose credentials at handover: where freelancers should never store passwords.

FAQ

How do I stop scope drift after handover? Keep scope in projects.description/notes as numbered Included/Excluded plus revision cap. Link every tasks.projectId src/lib/db/schema.ts:47 to that project — extras become new tasks only via change-order flow that bumps budget and spawns invoices.

Can I import existing proposals? Yes — paste final scope into project.description, set budget/advance numeric src/lib/db/schema.ts:35, split bullets into tasks. Future transactions sync src/app/api/transactions/route.ts:21 keeps finance true without Sheet.

Why not just use Notion + Sheets? Notion holds prose 1.2L approx not numeric, Sheets holds strings not clientId uuid FK src/lib/db/schema.ts:25. You re-type, drift, and lose totalTasks/doneTasks truth. tenant_${id} FK graph keeps one scope, queryable.

Try RunoSO for Free

Manage clients, invoices, vault, content, and finances — all from one beautiful dashboard.

Start free
Meet RunoSO
SaaS
Unified Workspace
Finance & Invoicing
Credentials Vault
Content Pipeline

Unified Workspace

The ultimate command center for solo operators. Replace Notion, Sheets, and password managers.

  • Unified client database
  • Real-time key metrics
  • Intuitive navigation
Start free todayLearn more about RunoSO

Featured Articles

Build in Public

Why I Ditched Notion & Sheets to Build RunoSO

7 min read
Technical Deep-Dive

How I Built a Zero-Knowledge Vault with AES-256

10 min read
Productivity

Best Freelance Tools in 2026 — Honest Stack Review

11 min read
View all posts
Meet RunoSO
SaaS
Unified Workspace
Finance & Invoicing
Credentials Vault
Content Pipeline

Unified Workspace

The ultimate command center for solo operators. Replace Notion, Sheets, and password managers.

  • Unified client database
  • Real-time key metrics
  • Intuitive navigation
Start free todayLearn more about RunoSO

Related Posts

Productivity

Worksuite vs RunoSO: Freelancer Management System India 2026

Worksuite vs RunoSO for India — enterprise FMS for 190+ countries vs solo freelance system with GST, UPI & vault linked. Compare pricing & vault India.

Productivity

Flinggle vs RunoSO: Freelance Management System India 2026

Flinggle vs RunoSO for India — compare GST, UPI, vault & pricing. Flinggle leads + proposals, RunoSO is GST + vault + assets linked India-native system.