Skip to content

The Complete Guide to Writing a Freelance Proposal

How to structure, price, and send a freelance proposal that actually gets signed: scope, pricing, terms, follow-up, and the mistakes that kill deals.

By the VEYQO team8 min read

A freelance proposal has one job: give a client enough certainty to say yes. Not enthusiasm, not a sales pitch: certainty. They need to know exactly what they're getting, when they'll get it, what it costs, and what happens if something changes along the way. Most proposals fail not because the price was wrong, but because they left too much unanswered, and an unanswered question is an easy reason to go quiet.

This guide covers what to put in a proposal, how to price the work, how to structure it so it reads as professional rather than improvised, and what to do after you hit send.

What a proposal actually needs to contain

A proposal is not a project pitch deck and it's not an invoice. It sits in between: specific enough to be binding, short enough to actually get read. Five sections do almost all the work.

1. Scope of work

This is the part that prevents arguments later. Write down exactly what you're building, fixing, or delivering, and just as importantly, what you're not doing. If you're redesigning a website, say which pages. If you're writing copy, say how many pieces and what length. Vague scope is the single biggest source of scope creep, because "redesign the website" can mean six pages or sixty depending on who's reading it.

A good scope line reads like a sentence a client could repeat back to you accurately. "Redesign of the 6 core pages (Home, About, Services, Pricing, Blog index, Contact), responsive for mobile and desktop" is a scope. "Full website redesign" is a guess waiting to happen.

2. Deliverables

Deliverables are the tangible things the client receives, not the work you do, but what lands in their hands. A logo file in three formats. A written report. A working staging link. List them as a short, literal checklist. This is also where you draw the line on revisions: "two rounds of revisions included" belongs here, not buried in a terms paragraph nobody reads.

3. Timeline

Give real dates or a real duration, not "a few weeks." If the project depends on the client supplying something, content, approvals, access to a system, say so explicitly, because a timeline that assumes instant client turnaround is a timeline you'll miss through no fault of your own. Breaking the timeline into phases (discovery, first draft, revisions, delivery) also does double duty as a mini project plan, which reads as more organized than a single end date.

4. Pricing

State the total clearly, and show how you got there if the project has multiple parts: a short line-item breakdown reads as more trustworthy than a single lump sum, even when the total is the same. If you're asking for a deposit, say the percentage and when the remaining balance is due (on delivery, on a specific date, in installments: whichever fits the project).

5. Terms

The part people skip writing and then regret. At minimum: what happens if the client cancels partway through, how many revision rounds are included and what an extra round costs, who owns the final work and when that ownership transfers (usually on final payment, not on delivery), and what counts as a late payment. None of this needs to read like a lawyer wrote it: plain sentences that say what happens in each case are enough for most freelance work. If the engagement is large or the risk is real, it's worth having an actual contract reviewed by a lawyer in your jurisdiction rather than relying on proposal boilerplate alone.

How to price the work

There are three common ways freelancers price a project, and each has a real failure mode.

Hourly is the easiest to justify but the hardest to quote upfront, because you're asking the client to trust an estimate of hours you haven't logged yet. It also penalizes you for getting faster: the better you get at the work, the less you earn per project.

Flat fee removes that problem: the client knows the total, and you keep the upside if you finish efficiently. The risk moves to you, if the scope wasn't tight (see above), you eat the extra hours. This is the most common structure for proposal-based freelance work for exactly that reason: it only works well when the scope section is genuinely specific.

Value-based pricing, setting the fee based on what the outcome is worth to the client rather than hours spent, earns the most, but only works when you can actually make that case (a landing page redesign tied to a measurable conversion goal, for example). It's harder to defend for work where the outcome isn't easily attributable to your effort alone.

Whichever model you use, price the project, then build the line items to match the total, not the other way around. Clients read a pricing table top to bottom, and a project that looks assembled from suspiciously round numbers reads as made up on the spot.

Structuring the proposal so it reads as professional

Order matters more than most freelancers assume. A proposal that opens with price looks like a quote, not a plan: clients price-anchor immediately and read everything after that number defensively. The order that works best:

  1. A short opening paragraph that shows you understood the brief in your own words, not a greeting, an actual restatement of the problem.
  2. Scope of work and deliverables.
  3. Timeline.
  4. Pricing, last, after the client already understands what they're buying.
  5. Terms.

Keep the writing plain. A proposal is not the place for marketing language about your process or your passion: the client already decided they might hire you; the proposal's job is to confirm the details, not sell them again. Specificity reads as competence. Adjectives don't.

Handling negotiation

Almost every proposal that gets real attention also gets a counter: on price, on timeline, or on scope. The mistake is treating this as a threat to the deal rather than a normal part of it.

If a client pushes back on price, the strongest response is to offer to adjust scope to match a lower number, not to simply discount the same scope. "I can do a 3-page version at that price, or we keep 6 pages at the original quote" keeps your rate intact and makes the tradeoff explicit: the client is choosing, not winning. Discounting the same work without changing anything just teaches the client that your first number was padding, which makes the next negotiation harder, not easier.

If the pushback is on timeline instead of price, the same logic applies: a faster delivery either costs more or covers less, and saying so plainly is not aggressive, it's accurate.

Following up without being annoying

Most unanswered proposals aren't a no: they're a "not right now" that nobody bothered to say out loud. A short, specific follow-up a few days after sending is normal practice, not pushy, as long as it doesn't just say "just checking in." Reference something concrete: a detail from the proposal, a date that's approaching, or a question you'd genuinely like answered. One follow-up a week or so later is reasonable. After two with no response, treat it as a no and move on: repeated follow-ups past that point tend to read as pressure rather than diligence.

Common mistakes that kill proposals

Scope too vague to defend. If a client can reasonably argue that something was "obviously included," your scope section failed, regardless of what you intended.

Price buried or unclear. Clients should never have to dig for the total or do arithmetic to find it. State it plainly, once, clearly labeled.

No clear next step. Every proposal should end with exactly what happens if the client says yes, sign here, pay a deposit, reply to confirm, not leave them to guess how to proceed.

Sending a generic document. A proposal that doesn't reference anything specific to this client's situation reads as a template, because it is one. Even a single sentence that proves you understood their actual problem changes how the rest gets read.

No deadline on the offer. An proposal with no expiry can sit in an inbox indefinitely and become awkward to revisit months later, especially if your rates or availability have changed since. A simple "valid for 30 days" line avoids that.

After it's accepted

Once a client accepts and signs, the proposal isn't done being useful, it's the source of truth for the rest of the engagement. The scope you wrote is what you can point back to if the client asks for something extra later. The pricing you wrote is what the invoice should match exactly, not a renegotiated version of it.

This is also where keeping the proposal and the invoice connected pays off, rather than rebuilding the numbers from scratch in separate tools. VEYQO turns an accepted proposal straight into an invoice with the same line items and totals already filled in, and the client's e-signature is recorded as an immutable, timestamped record of exactly what they agreed to, so there's no gap between what they signed and what you bill. Whatever tool you use, the goal is the same: the thing the client signed should be the thing you get paid against, without the numbers drifting in between.

A proposal that's specific about scope, honest about price, and clear about what happens next doesn't need to be clever. It just needs to leave nothing for the client to guess.

Ready to send your own?

Pick a client, add your pricing, and send a proposal in minutes.

Start your first proposal

We use cookies for analytics and to improve VEYQO. See our privacy policy.