How Much to Charge for Bookkeeping and Accounting Services
Accounting Financial
16.05.2024
How much to charge for bookkeeping depends on the pricing model you use, not just the hours involved: hourly rates suit unpredictable or one-off work, fixed monthly retainers suit recurring bookkeeping with a stable scope, and value-based pricing suits advisory or cleanup work where the outcome matters more than the time spent. Whatever the model, clients dispute fees far less when a firm consistently works to show clients what they get for the fee. Most growing practices move away from pure hourly billing as they mature. Hourly vs. monthly fixed pricing Hourly billing is the easiest model to start with because it's easy to defend — the invoice matches the time logged — but it punishes a firm for getting faster at its own job, and it makes a client's bill unpredictable from month to month, which is itself a source of friction. A client who gets a $400 invoice one month and an $800 invoice the next, for what feels like the same work, is a client primed to be surprised and upset, even if every hour billed was real. A fixed monthly retainer solves the predictability problem for both sides. The firm quotes a flat monthly fee based on an estimated scope — transaction volume, number of accounts, complexity of the business — and the client knows exactly what to expect every month regardless of how long the work actually takes that particular month. The tradeoff is that the firm absorbs the risk if a client's volume grows faster than the fee does, which makes an annual scope review a necessary habit rather than an optional one. Most firms that make the switch from hourly to fixed retainers do it gradually — quoting new clients on a retainer basis while leaving existing hourly clients alone until a natural renewal point, rather than converting an entire book of business overnight. A fictional firm, Castellano Bookkeeping, moved its newest client cohort to flat retainers first, used the first two quarters to see how its own time estimates held up against actual hours worked, and only then started offering existing hourly clients the option to switch once the retainer pricing was reliably profitable. Why hybrid pricing is common in practice Plenty of firms end up running a hybrid model rather than picking one approach for the entire practice: a flat monthly retainer for the recurring bookkeeping itself, with hourly billing carved out separately for anything outside the defined scope — a one-off cleanup project, an unusual reconciliation issue, a client request for extra reporting mid-year. The retainer covers the predictable work; the hourly rate covers the unpredictable part, which keeps the firm from either underpricing genuine scope creep or overcharging for a stable, routine engagement. Value pricing for advisory and cleanup work Value-based pricing — quoting a flat fee for a defined outcome rather than a flat fee for recurring hours — fits one-off engagements particularly well: a messy-books cleanup before a loan application, a valuation for a business sale, an advisory engagement to fix a specific reporting problem. The price reflects what the outcome is worth to the client, not how many hours it happens to take, which rewards efficiency instead of punishing it. The hard part is scoping the engagement clearly enough upfront that "value" and "flat fee" don't quietly become "unlimited hours for one price" once the real mess becomes visible. What rate ranges actually depend on Bookkeeping and accounting rates vary by region, by the complexity of a client's business, and by how specialized the firm's niche is, enough that a single national average number is close to meaningless for any individual firm trying to set its own pricing . A firm serving multi-location restaurant groups with inventory and tip-reporting complexity reasonably charges more than one serving single-owner service businesses with simple books, regardless of what a national survey says the "average bookkeeper rate" is. The more useful exercise for a firm setting its own prices is pricing against comparable firms in the same region and niche, not against an industry-wide figure that doesn't reflect the actual work. Transaction volume and account count are the two inputs most firms actually use when quoting a new client, more than any published rate card. A business running a handful of accounts through a single bank with low monthly transaction counts costs far less to reconcile than one running multiple entities, several bank and credit card accounts, and inventory tracking through the same books. Quoting off those concrete inputs, rather than a flat "small business rate," keeps the fee tied to the actual work and makes it easier to explain an increase later if the client's volume grows. Raising prices on existing clients without losing them The clients most likely to leave over a price increase are the ones who were never told why the old price existed in the first place — if a client has no sense of what they're getting for the fee, any increase reads as pure extraction. Framing the increase around added value — more frequent reconciliation, a new reporting package, direct access to a senior bookkeeper instead of a junior one — gives the client a reason beyond "costs went up." Our broader guide on how to raise prices without losing customers covers the general mechanics of notice periods and communication; for recurring engagements specifically, giving 60 to 90 days' notice rather than changing a bill without warning avoids turning the increase itself into the thing a client reviews you over. Preventing the surprise before it happens The single most common negative review in this industry isn't about sloppy work — it's about a bill that was accurate but higher than the client expected, because their books were messier than they realized going in. A clear engagement letter that spells out the base scope, what triggers additional fees (a disorganized set of books requiring extra reconciliation hours, a client who's behind by several months), and a rough estimate of what that could cost, prevents most of these surprises before they happen. A quick phone call the moment it becomes clear a job will run over the original estimate — rather than waiting for the final invoice to deliver the news — turns a potential bad review into, at worst, a slightly awkward but expected conversation. The engagement letter does the most good when it's specific rather than boilerplate. "Additional work outside the defined scope will be billed separately" is technically honest but tells a client nothing useful before they sign. "If your books are more than two months behind or require reconstructing missing records, we'll quote the cleanup work separately before starting it" tells them exactly what triggers an extra charge and gives them a chance to ask about it upfront, while the relationship is still just a conversation and not yet an invoice dispute. A short onboarding review — looking through a new client's books before quoting a final retainer rather than quoting blind off a sales call — catches most of the "messier than expected" surprises before the engagement even starts. It takes an hour or two of unbilled time, but it's cheaper than discovering the real scope three months in and having that conversation after the client has already built expectations around the original number. Replying when the surprise becomes a review anyway Even with good engagement letters, a fee-dispute review happens eventually. The reply needs to stay general — acknowledging the concern without restating the actual bill, hours, or scope in public, since doing so risks disclosing confidential client information on top of not actually helping. "We take billing concerns seriously and would welcome the chance to walk through this with you directly — please reach out to our office" does more good publicly than any explanation of the math ever will, and it signals to anyone else reading that the firm handles disputes like a professional. Our full guide, how CPAs should respond to negative reviews, covers the complete reply framework and the confidentiality rules behind it. It's worth resisting the urge to defend the fee in detail even when the firm is clearly in the right — when the client genuinely did have a disorganized set of books, and the invoice genuinely did reflect real extra hours spent reconciling them. Being technically correct in a public dispute about a client's finances isn't a win; it's a second confidentiality problem stacked on top of the first one. The private follow-up call is where being right actually matters, because that's where the client can see the detail and, often, come around once they understand what the extra hours actually covered. One habit worth building regardless of how a dispute resolves: keep a short internal note of what was asked, what was said publicly, and what got resolved privately. If a billing disagreement ever escalates — a client disputing a charge with their bank, or threatening a complaint to a state board — having a clear record of the engagement letter, the scope conversation, and the reply history makes that conversation far less stressful than reconstructing it from memory months later. Showing clients what they get for the fee Whatever pricing model a firm uses, the clients least likely to dispute a bill or leave a negative review are the ones who can see, concretely, what the fee buys them — a monthly summary that highlights what was caught or fixed, a short note explaining why a particular month took more reconciliation work than usual, or simply a consistent habit of explaining scope before work happens rather than after. A firm just starting out, still figuring out its own pricing model from scratch, benefits from building that habit early; see our guide on how to start a bookkeeping business for the fuller setup picture, pricing included. Frequently asked questions Should I charge by the hour or a flat fee? Hourly works best for unpredictable, one-off work where scope is genuinely hard to estimate upfront. A flat monthly retainer works best for recurring bookkeeping with a reasonably stable scope, because it gives the client predictability and rewards the firm for getting more efficient over time instead of penalizing it. Most firms land on some version of flat-fee retainers for recurring work and hourly or value-based pricing for one-off engagements. How do I raise prices on long-time clients without losing them? Give real notice — 60 to 90 days rather than a surprise line on the next invoice — and frame the increase around something the client is actually getting, not just rising costs on your end. Clients who understand what their fee buys them are far less likely to leave over a reasonable increase than clients who've never had that conversation. What do I say when a client leaves a review complaining about the bill? Stay general in public: acknowledge the concern, don't restate the dollar amount or scope details, and invite them to a direct conversation where the actual numbers can be discussed privately. Explaining the math in a public reply means disclosing client financial information in public, which creates a bigger problem than the original review did. Every review from Google, Facebook and Yelp in one inbox → Try Tailwind free. Tailwind runs $5 a month per tool, or $50 a month for the Full plan covering every tool, with the first month free and no card required to start.
Ready for more than a one-off tool?
What Tailwind does for your business
- Online reputation — we grow your rating
- Connect your business to LLMs — MCP connector
- Generate content — we improve your SEO rankings
- AI Visibility — see how high you rank in AI answers and exactly what to do
- …and other useful tools
All of it from $29/month
Try free — first month on usNo credit card required. Cancel any time.
Subscribe to our newsletter
We send helpful materials once a month, along with information about discounts and special offers. No daily spam
We use your email only to send this newsletter. You can unsubscribe at any time from the link in every email. See our Privacy Policy.
How to unsubscribe from the mailing list?