How to Quote a Freelance Project: A Step-by-Step Process With Real Numbers
A quote that clients reject usually isn't wrong because the number is too high. It's wrong because there's no visible logic behind it. 'I'd charge around $4,000 for something like that' sounds like a guess. 'Here's a breakdown of what the project involves and why it costs $4,200' sounds like someone who has done this before. Building the quote systematically isn't slower than estimating from instinct — it's more accurate, easier to defend, and produces better client conversations.
Step 1: Start from the discovery call, not from a round number
Your quote should be the output of what you learned in the discovery conversation — not a starting point you haven't reached yet. Before calculating anything, answer three questions: What exactly is the client getting? Who has final approval? What does a successful outcome look like to them? If you can't answer all three specifically, the quote will be built on assumptions. Assumptions are where scope surprises come from.
Step 2: Break the project into components
Most freelancers quote a project as one number. The better approach is to list every distinct type of work involved, estimate each separately, and add them up. This surfaces the tasks that vanish inside a lump-sum estimate — client calls, revisions, setup, file prep. Here's how a web copywriting project might break down:
- Four core pages (home, about, services, contact): 12 hours
- Reviewing client materials and writing the brief: 1.5 hours
- Kickoff call and two check-in calls: 2 hours
- Two revision rounds across all pages: 4 hours
- Final formatting and delivery: 1 hour
- Total: 20.5 hours at $120/hour = $2,460
Running the math this way shows where the work actually lives. In this example, client calls and revisions are nearly 30% of the total. Leaving them out of a gut estimate and billing for them on the back end creates friction. Including them up front creates a quote you can defend.
Step 3: Add the overhead that almost always gets missed
Most underpriced projects go over budget because of work that doesn't fit cleanly into any deliverable:
- Client communication: emails, Slack, status updates — budget 10–15% of estimated project hours for a typical client
- Tooling and access: learning the client's project management system, waiting for file permissions, reading documentation
- Minor scope drift: the quick tweak that shows up after delivery and isn't in the contract but takes an hour
- Invoice admin: sending, following up, and reconciling payments — minor per project, but real time over the course of a year
Adding a 10–15% buffer to your component total captures most of this. On a $2,400 estimate, that's $240–$360 — less than the cost of one hour of unplanned work.
Step 4: Choose between hourly and flat-fee presentation
Whether you show the math or just the total depends on your contract type. For time-and-materials work, presenting a range — '18–24 hours at $120/hour, billed monthly against actuals' — is standard and transparent. For flat-fee work, present the deliverable and the price without the hourly breakdown. Clients who agreed to a flat fee don't need to see how fast you are. They need to know what they're getting.
Either way, the quote document should include:
- Exactly what's included — specific deliverables, file formats, quantities
- What's explicitly not included — this prevents the most common scope disputes
- Number of revision rounds covered in the price
- Payment terms: deposit amount, milestone schedule, or final due date
- When work begins and estimated delivery date
Step 5: Use every project to calibrate the next one
After each project, compare your estimated hours to actual hours — by component, not just in total. Where did you consistently run over? Where did you build in more time than you needed? That comparison turns each project into better data for the next quote. If you're logging time by project in HelmBill, this comparison takes seconds. Freelancers who quote with confidence didn't get there by intuition — they got there by learning what the last project actually took.
A quote is a proposal, not a contract — but it sets the terms for everything that follows. Build it from the real scope, price every component including the overhead, and present it clearly enough that the client can see what they're getting. A number you calculated is a number you can explain. A number you can explain is a number you can stand behind.
HelmBill tracks your billable hours and turns them into invoices — so you always know your real rate.
Try HelmBill free