How to Price Bookkeeping Services (And Why It Feels So Hard)
There's a particular kind of dread that lives in the hours before a discovery call.
You know the one. You're doing fine, maybe making coffee or finishing up a client file, and then you glance at your calendar and there it is. A name you don't recognize yet. A call you agreed to take. And underneath the ordinary logistics of it, that familiar low hum of anxiety you can't quite explain.
What are you going to say when they ask what you charge?
I've thought a lot about how to price bookkeeping services over the years, and not just the mechanics of it, not just the spreadsheets and rate calculators, but the full experience of it. The conversations you dread before they happen. The ones that go sideways in real time. The quiet resentment that builds when you know you're charging too little and you do it anyway, and that very real gap between what you know you should do and what you can actually bring yourself to do in the moment.
That gap is what this post is about.
The Version Nobody Talks About
Most content about bookkeeper pricing is tactical. It gives you formulas and benchmarks and frameworks, and those things have their place, but they tend to skip over the part that makes all of that hard to actually use. Because pricing, for most solo bookkeepers, is an emotionally loaded experience, and no formula fully prepares you for that.
There's the cold sweat before a discovery call, the guesstimating that passes for rate-setting, the moment a prospective client pushes back on your number and you fold faster than you intended to and then spend the next three days wondering why. There's the client you've had for two years whose rate you haven't touched, because every time you think about having that conversation something comes up, or the timing feels wrong, or you just don't want to deal with it right now. There's doing more than what you scoped for, answering the emails that don't technically fit inside what they're paying for, fixing the thing that wasn't really your job to fix, keeping it all to yourself because bringing it up feels harder than absorbing it.
And underneath all of it, the slow, quiet build of something that isn't quite resentment but isn't fine, either.
This is the version of pricing that solo bookkeepers actually live with, and it doesn't get talked about because it doesn't fit into a rate-setting guide.
What My Pricing Used to Look Like
I want to tell you about a season in my business that I've thought about a lot since, and not with a great deal of pride.
When I was building Brighten Bookkeeping, I was guessing. I suspect a lot of bookkeepers do this and almost none of them talk about it, but that's genuinely what I was doing. I would look at a prospective client, try to estimate the scope in my head, land on an hourly rate, and then mentally calculate how many hours a month I thought it might take. Then I'd say the number out loud and watch their face, ready to walk it back if they flinched.
There was no real math behind it and no real process behind it. It was an educated guess dressed up as a quote, and I'd spend the first few months of a client engagement privately hoping I'd gotten it close enough. I hadn't always gotten it close enough.
What made that era genuinely hard wasn't just the undercharging. It was that I knew I was undercharging and I kept doing it anyway, because the alternative, having a real conversation about money backed by real numbers with a real risk that someone would say no, felt worse than absorbing the gap. The dread before discovery calls was genuine, and so was the relief when someone said yes to a low number, and so was the resentment that crept in when a client kept expanding the scope and I kept saying yes.
What eventually shifted things for me wasn't a single turning point. It was more of an amalgamation of moments that built on each other over time. I did the math one month on what I'd actually earned per hour after taxes and expenses, and the number was embarrassing. Not long after, I had a client interaction that left me feeling taken advantage of, even though technically I'd agreed to everything that happened. And at some point I gave myself a few days off just to sit with the whole picture honestly and reconsider my approach from the ground up.
When I came back to it, the decision felt clear. If I was going to continue building the business I actually wanted, a practice that was sustainable and paid me well and felt good to show up to, then I needed to change how I was handling this. And understanding why I'd been stuck in the first place was the only way to do that properly.
The Loop
What I was living in during those years, and what I hear from bookkeepers consistently, follows a pretty recognizable pattern. I think of it as the pricing loop, and once you see it you can't unsee it.
It works like this. You don't have a number you fully trust, so when a discovery call comes up, the anxiety sets in. The anxiety makes it hard to hold the conversation with any real authority, so you either underquote to reduce the risk of a no, or you quote accurately and then cave when someone pushes back. Either way you end up with a rate that's lower than it should be. Now you're doing work for less than it's worth, and every unbilled admin hour, every scope expansion you absorb without comment, every "quick question" that turns into a thirty-minute thread makes the math worse. The resentment builds quietly, but addressing it would require having the conversation you've been avoiding, so you don't address it. And then another discovery call comes up, and the whole thing starts over.
What makes this so hard to escape is that each part feeds the next. The anxiety keeps you from setting a better rate, the low rate makes it harder to feel good about the work, the resentment makes you less likely to address any of it, and the avoidance keeps the anxiety firmly in place.
I want to be careful here, because I'm not saying the inner work doesn't matter. It does. How you feel about your own value, how much you trust yourself in a high-stakes conversation, whether you can hold your position when someone pushes back on it, all of that is real and it's not nothing. But in my experience, the structural piece is the bigger lever for most bookkeepers, and it's the one that gets skipped. And the reality is that most bookkeepers who make meaningful changes to how they price their services don't wait until they feel ready. They build the structure first, and the confidence tends to follow from actually having it work. You don't need to have this all figured out internally before you can fix it practically.
What's Actually Making It Hard
After years of running my own practice and working with bookkeepers who are stuck in some version of this, here's what I've come to understand: regardless of where you are with the inner work, if the pricing conversations aren't going well, there's almost always something structural missing underneath them. In my experience it tends to come down to three things.
A number you actually trust, as opposed to a guess, what the market seems to bear, or what you've always charged. I'm talking about a number that was built from your actual inputs, your income goal, your real capacity, your expenses, and the hours you're actually working including the ones you're not billing for. Without that number, any pricing conversation is inherently unstable, because you're defending a figure you arrived at by feel, and the moment someone pushes back, there's nothing solid under you.
A process for running the conversation. Most bookkeepers don't have a structured discovery call. They have a chat that starts, goes wherever the prospective client takes it, and somewhere near the end they say a number and hope. Without a clear structure, you're responding to the conversation rather than running it, and that's a very different position to be in. It shows in ways that are hard to put your finger on, but that prospective clients can absolutely sense.
Language for when things get uncomfortable. Even with the right number and a structured process, there will be moments where a client hesitates, asks if you can go lower, or starts quietly expanding the scope after work has begun. Most bookkeepers have no prepared language for those moments, so they improvise under pressure, and improvisation under pressure tends toward accommodation every single time.
What I've found is that when even one of these is genuinely missing, pricing conversations are harder than they need to be, and when all three are missing it becomes nearly impossible to hold your rate consistently, regardless of how capable you are or how excellent your work is. This is why "charge what you're worth" is such incomplete advice. Knowing your worth and being structurally set up to charge it are genuinely two different things, and most pricing advice stops at the first one.
The Quiet Cost of Staying in the Loop
Here's the thing nobody really talks about: staying in this loop has a real financial cost, and it adds up faster than most bookkeepers realize.
Every hour of unbilled admin time is money you worked for and didn't collect, and every client whose rate hasn't moved in two years while your costs have gone up is a real reduction in your effective income. Every scope expansion you absorb without comment is real labor that nobody is paying for. Most bookkeepers who feel underpaid actually are underpaid, but when you look at what's driving the gap, it's rarely just the hourly rate on a website. It's the hidden hours, the scope that doesn't match the fee, and the effective rate, which is the real number after taxes and expenses and all the unbilled time, and it tends to be dramatically lower than what a client ever sees.
Most bookkeepers have never calculated that number precisely. There's a general sense that something is off, but the actual math hasn't been done, and that matters because you can't address a problem you haven't clearly seen. The discomfort stays vague until you put a specific number on it, and once you do, you actually have something to work with.
You know your rate. But do you know your real effective hourly rate?
The Undercharge Audit runs the actual math, including unbilled hours, expenses, and taxes, and shows you the number most bookkeepers never look at. It's free, it takes about five minutes, and it's often the first honest look at what's actually going on.
The Practical Shift
When I took those few days to reconsider, I came back with a pretty clear picture of what needed to change, and it wasn't my attitude toward pricing. It was the structure around it.
I got clear on my actual number, not what I thought would be acceptable to a client but what I genuinely needed to charge for the practice to work. I built a way to run discovery calls that felt like I was actually in charge of the conversation rather than just surviving it. I prepared for pushback before it happened, so that when someone asked for a discount, I wasn't making that call under pressure with no language ready and nothing to stand on.
It was unglamorous work, honestly. But once the structure was in place, I stopped walking into discovery calls hoping for the best and started walking in knowing exactly where I stood. The anxiety didn't disappear entirely, because I'm human, but it stopped running the show.
If any of this sounds familiar, I want you to know that the discomfort you feel around pricing isn't a sign that something is wrong with you. It's a sign that something structural is missing, and that's actually a much more solvable problem.
Where This Starts
The foundation of all of this, the thing that makes the rest possible, is knowing your real effective hourly rate. What you actually take home per hour after taxes, after business expenses, and after accounting for all the hours you're working but not billing. When bookkeepers calculate this for the first time, it tends to be clarifying in a way that a lot of other conversations haven't been, because it takes that vague persistent sense that something is off and turns it into a specific number you can actually do something about. You can't fix a structure you haven't clearly seen.
That's what the Undercharge Audit does. It runs the real math in about five minutes using your actual inputs, and it gives you the honest starting point that everything else builds from.
Ready to see your actual number?
The Undercharge Audit calculates your real effective hourly rate from your actual inputs, unbilled hours, expenses, taxes, and all of it. Free, instant, and genuinely worth five minutes.

