Clients Want Proactive Advice AND 2019 Prices—How Do You Set Boundaries Using Beancount Data?

I need to vent and get some advice from this community, because I’m hitting a wall with client expectations in 2026.

The Expectation Explosion

Wolters Kluwer’s latest survey confirms what we’re all feeling: managing client expectations jumped from #4 to #2 among top challenges for accounting firms this year. Every one of my 20+ small business clients seems to want:

  • Proactive advice (“Why didn’t you warn me about that tax deadline?”)
  • Faster turnaround (“Can you have this done by tomorrow?”)
  • Personalized service (“You should know my business well enough to catch that”)
  • But still pay 2019 rates (“Your competitor quoted me $300/month”)

Meanwhile, 83% of financial leaders report talent shortages, so there’s fewer of us to deliver MORE service. Something’s gotta give.

The Scope Creep Problem Is Real

Here’s what happened to me last month. A restaurant client on a $600/month retainer started asking “quick questions” about expanding to a second location—lease analysis, cash flow projections, break-even modeling. None of that is bookkeeping. But because I know their numbers intimately (thanks to Beancount), they assume it’s all part of the package.

By month-end, I’d spent 18 hours on their account instead of the 8 hours their retainer covers. That’s 10 hours of unbilled work at my $85/hour rate = $850 I gave away for free.

Multiply that across 3-4 clients who do this regularly, and scope creep is costing me $2,000-3,000/month in lost revenue.

Can Beancount Data Help Set Boundaries?

Here’s what I’ve been experimenting with. I track my own practice time in a separate Beancount ledger alongside client work:

2026-03-15 * "Client: Rosario's Kitchen" "Monthly reconciliation"
  Expenses:Practice:ClientWork:Rosarios  8.0 HOURS
  Income:Practice:BillableHours

2026-03-18 * "Client: Rosario's Kitchen" "Ad-hoc: location expansion analysis"
  Expenses:Practice:ClientWork:Rosarios  4.5 HOURS
  Income:Practice:UnbilledAdvisory

Then I run a BQL query at month-end:

SELECT account, sum(position) WHERE account ~ "ClientWork" GROUP BY account

This gives me a clear picture: which clients consume more hours than their retainer covers, and how much of that is scope creep vs core bookkeeping.

The Tier System I’m Testing

Based on this data, I’m rolling out a three-tier pricing structure:

Tier Monthly Fee What’s Included Response Time
Essential $500 Bookkeeping, reconciliation, quarterly reports 48-hour email
Growth $1,200 Essential + monthly Fava dashboard, cash flow alerts, 2 advisory calls/month 24-hour email
Strategic $2,500+ Growth + weekly check-ins, proactive analysis, unlimited advisory Same-day

The key insight: when clients can SEE the tier structure, most self-select into the appropriate level. The restaurant client who was getting Strategic-level service at Essential pricing? They chose Growth tier when I showed them the data—my Beancount time tracking proved they were consistently using 15+ hours/month.

The Uncomfortable Question

But here’s what I’m struggling with: some clients are unprofitable no matter what tier they’re on. My Beancount data shows three clients where my effective hourly rate drops below $40/hour—well below the $85/hour I need to sustain the practice.

80% of firms plan to raise fees by 5-10% in 2026. But I’m not sure a 10% increase fixes a client who’s 50% underpaying.

Questions for the community:

  1. How do you handle scope creep conversations with long-term clients? Do you show them the data or keep it behind the scenes?
  2. Has anyone built a Beancount-based practice dashboard that tracks per-client profitability in real time?
  3. At what point do you fire a client who’s chronically unprofitable—even if they’re pleasant and pay on time?
  4. For those using tiered pricing: how did existing clients react when you switched from flat-rate to tiers?

Bob, this resonates deeply. I went through the exact same transition at my CPA firm two years ago, and the Beancount data approach is what finally gave me the confidence to have those uncomfortable conversations.

The Data-Driven Boundary Conversation

To your first question—yes, show them the data. But frame it carefully.

When I sat down with a client who’d been paying $800/month but consistently consuming 20+ hours (effective rate: $40/hour), I didn’t say “you’re underpaying me.” Instead, I pulled up a simple report from my practice Beancount ledger:

“In Q4, your account required an average of 22 hours/month. Our retainer covers 10 hours of core bookkeeping. The additional 12 hours were advisory work—cash flow analysis, vendor negotiations support, and tax planning conversations. I want to make sure you’re getting the level of service that actually helps your business grow.”

The key: position it as an upgrade conversation, not a punishment. You’re offering them MORE intentional service, not threatening to take things away.

The Engagement Letter Is Your Foundation

Here’s what I’ve learned from 15 years of practice: your engagement letter is the single most important document in the relationship. In 2026, 80% of firms are raising fees 5-10%, but the firms that struggle are the ones whose engagement letters don’t define scope clearly.

My engagement letters now include:

  1. Explicit service list — every deliverable named (monthly reconciliation, quarterly P&L, year-end 1099 prep)
  2. Explicit exclusion list — “Advisory services including but not limited to: financial projections, expansion analysis, loan preparation, and strategic planning are NOT included in this engagement”
  3. Out-of-scope billing clause — “Work outside the defined scope will be billed at $150/hour with advance client approval”
  4. Change order process — client must email approval before I start any ad-hoc work

This eliminates the “I thought that was included” conversation entirely.

On Firing Unprofitable Clients

Your question #3 is the hardest one. Here’s my framework:

The 3-Month Rule: If a client’s effective hourly rate stays below your minimum threshold for 3 consecutive months AFTER you’ve had the scope/pricing conversation, it’s time to transition them.

I track this with a simple Beancount query that calculates effective hourly rate per client:

SELECT account, sum(position) / count(position) as "Avg Monthly Hours"
WHERE account ~ "ClientWork" AND date >= 2026-01-01
GROUP BY account

Then I compare hours against their retainer to get effective rate. Anyone consistently below $65/hour (my floor) gets a conversation, then a 60-day transition period if they can’t move to an appropriate tier.

The hardest part: some of your most pleasant clients are your least profitable. The data removes the emotion from the decision. That’s the real power of tracking this in Beancount—you can’t argue with the numbers.

Great thread, Bob. I want to offer a slightly different perspective from Alice’s excellent advice.

The “Boundary” Framing Might Be Backwards

I’ve been managing my rental property finances and personal investments in Beancount for 4+ years, and I’ve watched friends who run bookkeeping practices struggle with this exact issue. Here’s what I’ve noticed: the practitioners who frame it as “setting boundaries” tend to have adversarial client relationships, while those who frame it as “designing service packages” build partnerships.

It’s subtle but important. “Boundaries” implies the client is doing something wrong by asking for help. “Service design” implies you’re building something valuable that they want to buy.

The Real Problem: You’re Undercharging for Advisory

Bob, your restaurant client wasn’t “scope creeping”—they were telling you exactly what they need. Lease analysis, cash flow projections, break-even modeling? That’s $200-300/hour advisory work. They were getting it for free because you hadn’t packaged it separately.

The Beancount time tracking you’re already doing is gold. But instead of using it to draw lines, use it to discover what clients actually value. My bet is that most of your “scope creep” falls into 3-4 categories:

  1. Cash flow forecasting — “Will I have enough to make payroll next month?”
  2. Expansion analysis — “Can I afford a second location/new hire/equipment?”
  3. Tax planning questions — “How will this purchase affect my taxes?”
  4. Vendor/contract negotiation support — “Is this lease a good deal?”

Each of those could be a standalone service add-on. You’re not taking something away—you’re offering something new that you previously gave away.

From Personal Experience: The Fava Dashboard Approach

I don’t run a client practice, but I’ve built personal Fava dashboards that I think translate well to the client boundary question. For my rental properties, I track time spent on management tasks the same way you track client hours.

What I found: I was spending 12 hours/month managing one property that nets $400/month profit. Effective hourly rate: $33/hour. That “passive income” was actually a below-minimum-wage job.

The data didn’t just help me set boundaries with tenants—it helped me decide whether to keep the property at all. I eventually hired a property manager (reducing my time to 2 hours/month of oversight) and accepted the lower profit margin because my time was worth more elsewhere.

The parallel to your practice: some clients aren’t just unprofitable to serve—they’re costing you the opportunity to serve better clients. Your Beancount data can calculate that opportunity cost too.

Practical Suggestion: The “Value Discovery” Conversation

Instead of showing clients “here’s how much unbilled work I did” (which feels accusatory), try:

“I’ve been tracking the services we provide, and I noticed your business needs have grown significantly beyond basic bookkeeping. That’s actually a great sign—it means your business is at a stage where financial advisory adds real value. I’d like to propose a service package that formally includes the strategic work we’ve been doing informally.”

Same data. Same outcome. Completely different emotional response from the client.

I want to add the tax compliance angle here, because scope creep in tax work carries liability risk that bookkeeping scope creep doesn’t.

The Tax Planning Trap

Bob, you mentioned your restaurant client asked “how will this purchase affect my taxes?” Those questions feel harmless, but they’re actually the most dangerous form of scope creep for anyone who isn’t a licensed CPA or Enrolled Agent.

As a former IRS auditor, let me be blunt: if you provide tax advice informally and the client acts on it, you could face liability even without a formal engagement. The IRS doesn’t care whether you billed for the advice. If the client says “my bookkeeper told me I could deduct that” during an audit, you’re in an uncomfortable position.

Your tier system needs to address this explicitly:

  • Essential/Growth tiers: Include a clear disclaimer that tax planning is NOT included and clients should consult their CPA or EA for tax-specific questions
  • Strategic tier: If you’re going to include tax planning conversations, make sure you have E&O insurance that covers advisory services, not just bookkeeping

Engagement Letters: The Tax-Specific Clauses You Need

Building on Alice’s excellent engagement letter framework, here are the tax-specific clauses I include in every engagement:

1. Circular 230 Disclaimer (if you’re an EA or CPA):

“Any tax advice contained in this communication is not intended to be used, and cannot be used, for the purpose of avoiding penalties under the Internal Revenue Code.”

2. Scope Limitation for Non-Tax Professionals:

“Our services are limited to bookkeeping and financial record-keeping. We do not provide tax advice, tax planning, or tax preparation services. For tax-related questions, we recommend consulting a licensed CPA or Enrolled Agent.”

3. The “Quick Question” Boundary:

“Informal tax questions asked during bookkeeping meetings or via email do not constitute a formal tax engagement and should not be relied upon for tax planning purposes.”

This isn’t just about pricing—it’s about protecting yourself legally.

The Profitability Angle: Tax Season Tells the Truth

Here’s something I’ve noticed from the tax side: your most demanding clients during tax season are usually the same ones who scope-creep all year. They show up in March with disorganized records, missing receipts, and urgent deadlines because they’ve been relying on you to catch everything informally rather than maintaining proper documentation.

Your Beancount time tracking could add a “tax season penalty” calculation. Track extra hours spent during Jan-April on clients who provide poor documentation. I’d bet the clients with the worst tax season behavior are the same ones under $40/hour effective rate.

One More Thing: The “Proactive” Expectation Is Actually an Opportunity

The Wolters Kluwer data about clients wanting proactive advice is real, but here’s the thing—Beancount practitioners are uniquely positioned to deliver this efficiently. You already HAVE the data. A simple Python script that flags unusual expense patterns, declining margins, or approaching tax deadlines costs you 30 minutes to build but delivers “proactive advisory” that clients pay premium rates for.

The gap between what clients expect and what they’ll pay closes when you can deliver proactive insights at minimal marginal cost. That’s the Beancount automation advantage—your time-per-insight drops dramatically once the scripts are built.

Just make sure you’re billing appropriately for the value, not the time.