The sandwich that cost me $2,000: a freelancer's guide to not undercharging
Years ago I finished a three-week freelance project, sent the invoice, got paid… and celebrated by buying myself a sandwich. A sad, discounted, end-of-day supermarket sandwich. Because after I did the maths, that project had paid me roughly the hourly rate of the person who made the sandwich.
I'd quoted a nice round number that felt "fair." I hadn't counted the revisions. Or the three "quick calls." Or the weekend I lost to a scope change I never charged for. On paper I earned a fee. In reality I'd handed the client a very generous discount and called it professionalism.
If you've ever felt that specific dread when a client asks "so, what would you charge for this?" — this one's for you.
Nobody is coming to tell you your rate is too low
Here's the uncomfortable truth: clients will happily let you undercharge forever. A low price isn't a red flag to them — it's a bargain. Nobody has ever received a quote and written back "actually, that seems unsustainable for you, please charge more."
So the first question isn't "what's the market rate?" It's "what's the number below which my business quietly loses money?" I call that your floor — and most freelancers have never actually calculated it. They have a number they feel comfortable saying, which is a completely different thing, and usually a much smaller one.
Your floor is just honest arithmetic
Take the income you want to earn in a year. Add your real business costs — software, fees, insurance, hardware, that subscription you forgot about. Then divide by the hours you can actually bill.
That last part is where everyone goes wrong. You don't bill 40 hours a week. After sales calls, proposals, admin, invoicing, email and staring hopefully at your inbox, most solo freelancers bill 20–25. Use the honest number and your floor jumps to where it should have been all along. Below the floor, you're paying the client for the privilege of working with them. Above it, you have a business.
If you want the number rather than the theory, the calculator on our pricing guide does it in about thirty seconds.
The three invisible costs that ate my fee
Looking back at the sandwich project, the fee wasn't the problem. Three things I never counted were.
Unlimited revisions. I never said how many were included, so the answer was however many they wanted. Four rounds became seven. Nobody was being unreasonable — there was simply no number to be unreasonable about.
"Quick calls." Three of them, half an hour each, plus the twenty minutes afterwards where I couldn't get back into the work. Call it four hours, unbilled, and framed as being easy to work with.
The scope change I absorbed. A new section, requested casually, delivered cheerfully. That was the weekend. I told myself it was goodwill. It was a discount I hadn't agreed to give.
None of these show up on an invoice. All of them come out of your hourly rate. Our guide on handling scope creep has the one sentence I now use instead of "sure, no problem."
Then stop selling hours
Once you know your floor, here's the plot twist: don't quote it as an hourly rate.
Quote the project. Clients don't buy hours — they buy outcomes: a logo that wins customers, a site that converts, a spreadsheet that saves them ten hours a month. When you price the project instead of the hour, getting faster and better rewards you, instead of quietly punishing you for your own experience. The freelancer who does it in six hours because they've done it a hundred times should not earn less than the one who takes twenty.
Two more rules I wish someone had tattooed on my forearm: take a deposit before you start, and put scope in writing. One line saves whole projects — "delays in feedback, materials or approvals move the delivery date by the same amount."
The un-sexy part that actually changes your income
Saying the number out loud without flinching is a skill, and it is learned the same way as any other: by doing it badly a few times.
What helped me was removing the improvisation. I stopped answering "what would you charge?" on the call. Instead: "Let me put together a proper quote — I'll have it with you tomorrow." That one sentence moved the decision from a moment when I was nervous and outnumbered to a moment when I had a spreadsheet open and nobody was looking at me.
The second thing that helped: raising the number for the next new client only. Not announcing a new rate to everyone. Just quoting one lead 20% higher and watching what happened. They said yes. So did the next one. After three, the number stopped feeling like a bluff and started feeling like the price. Our guide on raising your rates covers the version of this for clients you already have.
What the sandwich actually cost
I ran the numbers properly a long time afterwards. Three weeks, roughly 95 hours once the calls and revisions were counted, for a fee I'd set by feel. Against the rate I should have charged, that single project was about 2,000 short.
But the real cost wasn't the 2,000. It was that I quoted the same way for another eighteen months, because nothing about the experience told me I was wrong — the client was happy, the work was good, the invoice was paid. Undercharging doesn't announce itself. It just makes you tired, slowly, while everything looks fine from the outside.
If you take one thing from this: calculate your floor this week. Not because the number will make you happy — it probably won't — but because you can't defend a price you've never worked out.
Frequently asked questions
How do I know if I'm undercharging as a freelancer? Calculate your floor rate — target income plus business costs, divided by the hours you can realistically bill — then compare it to what your last few projects actually paid per hour, including revisions and calls. If the real figure is below the floor, you are undercharging, regardless of how comfortable the fee felt.
Why do freelancers undercharge? Mostly because nothing corrects it. Clients accept low prices happily, the work still gets praised, and the invoice still gets paid — so there is no feedback signal. The cost shows up months later as exhaustion rather than immediately as a lost deal.
Should I tell a client my hourly rate? Usually not. Quote the project instead and use your hourly rate privately to estimate it. Hourly pricing penalises you for being fast and turns every efficiency you have earned into a discount for the client.
What should I say when a client asks my price on a call? "Let me put together a proper quote — I'll have it with you tomorrow." It moves the decision away from a moment when you are improvising and toward one where you have your numbers in front of you, which is where a defensible price comes from.