A client asked "what would this cost?" on a call, and I said a number I made up on the spot — thirty seconds of silent panic dressed up as confidence. I got the project. I also found out two weeks in that the number was about 40% too low for the actual scope, and I spent the rest of it quietly resenting a client who had done nothing wrong.
That wasn't a one-time mistake. I'd been pricing everything by vibes — a rough feeling of "this seems like a $X project" with no actual math behind it, adjusted downward whenever I felt nervous the client would say no.
Undercharging usually isn't a confidence problem. It's a missing-process problem — without a repeatable way to price, every quote defaults to your anxiety level that day, not the actual scope of work.
Why "just charge more" doesn't fix anything
Every piece of advice about undercharging tells you to charge more, as if the number was the problem. It isn't. The problem is that most freelancers price reactively, in the moment, under social pressure — and no amount of confidence advice changes what happens when you're on a call with someone waiting for an answer.
What actually changes it is having the number ready before the call happens, calculated from something more solid than a feeling.
The Notion pricing structure
This isn't complicated — the whole point is that it needs to be fast enough to actually use before every quote, not a spreadsheet you build once and abandon.
- A base hourly rate, decided once, outside of any client conversation. Work this out when you're calm, not on a call. Cost of your time + desired margin, not "what I think they'll pay."
- A "Scope Breakdown" table, three columns. Task, Estimated Hours, Complexity Multiplier (1x for routine work, 1.3-1.5x for anything unfamiliar or high-stakes).
- A formula field that does the math for you. Hours × Rate × Multiplier, summed across every task row. Notion's formula fields handle this — no manual calculation live on a call.
- A padding rule for scope creep. Add 15-20% to the total as a standing rule, not a special favor you sometimes remember to add.
- A "Client Copy" line, separate from your internal breakdown. Clients see the final number and a short scope summary — not your hourly rate or your margin math.
Where AI actually helps — sanity-checking, not deciding
I don't let AI set my prices. I use it to catch the moments when my own estimate is clearly off, which happens more than I'd like to admit, usually in the direction of underestimating hours on unfamiliar work.
More than once, this has caught a task I'd budgeted one hour for that, realistically, takes three — before I quoted it, not after I was already losing money on it.
What to say instead of a made-up number
If a client asks for a price on the spot and your table isn't in front of you, the honest answer beats the improvised one every time.
| Instead of | Try |
|---|---|
| A rushed guess to fill the silence | "Let me put together a proper breakdown and send it over today" |
| Quoting low to avoid awkwardness | Quoting your calculated number, even when it feels uncomfortable |
| Absorbing scope creep silently | "That's outside the original scope — here's what it would add" |
If you can't explain how you arrived at a price in one sentence, it wasn't calculated — it was guessed. Both might get you the client. Only one keeps you from resenting the project by week two.
Frequently Asked Questions
What if a client pushes back on the number?
Having the scope breakdown ready means you can show what's included rather than just defending a number. It's easier to negotiate scope than to defend a feeling.
How do I set my base hourly rate if I've never calculated one before?
Start with your minimum viable rate — what you need to earn per hour to sustain the business, factoring in unbillable time like admin and outreach. Adjust upward from there based on demand, not downward based on nerves.
Does this work for fixed-price projects, not just hourly?
Yes — the hours × rate calculation still happens internally, you just present the client with the final fixed number instead of a rate breakdown. The math is the same either way.
Should I show clients the padding for scope creep?
No — the padding lives in your internal number, not the client-facing quote. If scope stays as agreed, you keep the buffer as margin. If it grows, you already have room before you need an awkward renegotiation.
Freelancer & Creator OS
This post covers the pricing layer. The full system connects it to the same client tracker and proposal structure from the rest of the blog, so pricing, proposals, and follow-ups all live in one place.
Get the full system →
By Suzaan · Updated July 2026