You've finished estimating the work. Your buffered hours are locked in. Now comes the step that trips up most freelancers: converting those hours into a price breakdown that the client will accept and you won't regret.
This is Stage 4. It sits between your final hour estimate (with risk buffer baked in) and the proposal your client sees. If you skip it or do it carelessly, you either underquote badly or your price jumps around inconsistently across similar projects, killing your credibility.
Stage 4 takes your buffered hours—the number you've already padded for risk—and converts them into a line-item price breakdown using your rate card. It's not multiplication. It's translation.
Your rate card isn't a single hourly rate. It's a structure. You charge different rates for discovery vs. development vs. testing. You charge differently for senior work vs. junior. You have a minimum project fee. You may discount volume or offer fixed-price tiers.
Stage 4's job: allocate your buffered hours across these rate tiers, apply the right rate to each tier, then show the client a price that feels fair and looks coherent.
Mistake 1: Forgetting which hours live in which rate tier. You estimated 40 hours total. You told yourself 10 go to discovery, 25 to build, 5 to testing. But when you price it, you forget the breakdown and multiply 40 × $100/hr. Now the price feels wrong to you, and it should. You've averaged the tiers instead of applying them separately.
Mistake 2: Applying your rate card *after* the buffer, not before. You buffered by 15%. So your real estimate is 46 hours. Now you're charging the client for 46 hours when your rate card was built on a 40-hour estimate. The client is paying for ghost hours. It breeds inconsistency: next time you quote a similar project, you'll either do it again (and overcharge) or forget (and undercharge).
Mistake 3: Showing the hourly breakdown to the client at all. Once you've converted hours to price, the client doesn't need to see "25 hours × $120 = $3,000." They need to see "Backend Development: $3,000." The buffer is invisible inside the price. If you show hours, clients negotiate the hours and break your buffer apart.
Start with three things: your buffered hour estimate (final number), your rate card (tiers and rates), and your scope (what each tier covers).
Step 1: Map hours to tiers. Take your buffered estimate. Break it down by the work categories in your rate card. Write it down: "Discovery: 8 hrs. API Integration: 18 hrs. Testing & QA: 6 hrs. Deployment & Handoff: 2 hrs." These should add to your buffered total.
Step 2: Apply the rate card. For each tier, multiply hours by the corresponding rate. Keep a running total. Example: Discovery (8 hrs × $90/hr = $720). API Integration (18 hrs × $140/hr = $2,520). Testing (6 hrs × $100/hr = $600). Deployment (2 hrs × $110/hr = $220). Total: $4,060.
Step 3: Check against your minimum and your gut. Does $4,060 fall above your project minimum? (If not, round to your minimum—you're not selling below that.) Does it feel right for the scope? If the number shocks you, your rate card may be wrong, or your hour allocation is off. Don't ignore the feeling; audit it. Check one allocation at random against the original task breakdown.
Step 4: Write a price summary for the proposal. Don't show the hourly detail. Write line items by work type, not hours: "Discovery & Requirements: $720. API & Backend Integration: $2,520. Testing, QA & Launch Support: $600. Deployment & Documentation: $220." Total: $4,060.
Step 5: Build in a tie-back for yourself. Write down the buffered hour count and the effective hourly rate it implies somewhere private (a notes field in your proposal doc, not sent to the client). Example: "46 hrs ÷ $4,060 = $88.26 effective rate." This should feel consistent with your typical blended rate. If it's way off, your tier allocation was probably wrong.
Before you send the proposal:
Your effective hourly rate is way above or below your typical range. Your price breaks your own pattern (you quoted similar work at $3,500 last month, this is $5,200 with fewer hours). You can't explain to yourself which hours justify which line items. The client asks for a breakdown and you realize you multiplied by the wrong rate.
If any of these hit, pause. Go back to your rate card and your task breakdown. The math isn't the issue; the translation is.