Guides

How to Calculate Profit Per Hour for Every Client (Without Spreadsheets)

Revenue isn't profitability. How to see which clients are actually most profitable per hour, without building a spreadsheet to figure it out.

Last Updated: December 2025
Read Time: 12 min

How to Calculate Profit Per Hour for Every Client (Without Spreadsheets)

You billed $120K last year. You're exhausted. And somehow, you're still not sure if you're actually getting ahead.

Here's the problem: Revenue isn't profitability.

You know Client A pays $15,000 per project. What you might not know is that after 60 hours of meetings, emails, revisions, and scope creep, you're earning $250/hour from them.

Meanwhile, Client B pays $5,000 for a project that takes 8 hours. That's $625/hour.

Client B is 2.5x more profitable than Client A. But if you're only looking at revenue, you'd think Client A was your best customer.

This is the profitability blindness problem. And according to recent industry data, consultants are leaving 15% of billable work unreported — costing them $18,000-$45,000 annually in lost income they don't even realize they're losing.

Let's fix that.


The Simple Formula (That Nobody Actually Uses)

Profit Per Hour = (Revenue from Client - Direct Costs) / Hours Spent

Sounds easy, right? The problem isn't the math. It's tracking the inputs.

What most people track:

  • Revenue (invoices sent) ✓

What most people forget to track:

  • Direct costs per client (subcontractors, materials, software)
  • Time per client — the killer

The time tracking is where everyone fails. Not because they're lazy, but because "time per client" isn't just billable hours. It's:

  • The 45-minute call that wasn't on the calendar
  • The 12 back-and-forth emails about scope
  • The "quick revision" that took 3 hours
  • The meeting prep time
  • The mental overhead of context-switching to that client's project

Add it up, and that $15K client might have consumed 60 hours — not the 30 you estimated.


Why Your Current Tools Can't Show You This

Here's the uncomfortable truth: most business tools aren't designed to answer "which clients are profitable?"

They're designed to answer different questions:

ToolWhat It AnswersWhat It Can't Answer
QuickBooks/FreshBooks"What's my total revenue and expenses?""Which specific client is most profitable per hour?"
HoneyBook/Dubsado"Did the client sign the contract?""Was that project worth my time?"
Toggl/Harvest"How many hours did I bill?""What's my profit margin on Client A vs. Client B?"
Notion/AirtableWhatever you build (after 20 hours of setup)Automatic calculations without complex formulas

The Integration Problem

You could theoretically calculate profit per hour by:

  1. Exporting invoices from QuickBooks
  2. Exporting time logs from Toggl
  3. Manually matching them in a spreadsheet
  4. Building formulas to calculate profit per hour
  5. Updating this weekly (you won't)

Reality check: You'll do this once, maybe twice. Then life happens, and you're back to guessing.

Why Accounting Tools Don't Do This

QuickBooks and FreshBooks are built for accountants, not business owners. They answer "What do I owe in taxes?" not "Which clients should I clone?"

They track transactions at the account level, not the relationship level. Your accountant needs to know your total consulting revenue. They don't need to know that Client A took 3x more hours than Client B for the same revenue.

Why CRMs Don't Do This

HoneyBook, Dubsado, and most CRMs track the sales pipeline — getting clients to sign. Once they sign, the relationship tracking largely stops. You might see total revenue per client, but you won't see hours invested.

Time tracking? You'll need a separate tool. And then you're back to the spreadsheet problem.

Why Time Trackers Don't Do This

Toggl and Harvest track time beautifully. But they don't track revenue or expenses per client. You know you spent 40 hours on Client A. You don't know if that was profitable.


The Manual Way (If You Insist)

If you want to calculate profit per hour manually, here's a template:

ClientRevenue (3 mo)Direct CostsNet RevenueHours SpentProfit/Hour
Client A$15,000$2,000$13,00060$217/hr
Client B$5,000$500$4,5008$563/hr
Client C$8,000$0$8,00035$229/hr
Client D$3,500$200$3,3005$660/hr

What this reveals:

  • Client B and D are your most profitable (highest $/hour)
  • Client A is your biggest revenue but only 3rd most profitable
  • You should raise prices for clients like A or reduce time spent

Why this breaks down:

  • You have to remember to update it
  • Time estimates are guesses without actual tracking
  • You'll abandon it in 2 weeks

The Automated Way: What to Look For

If you want profit-per-hour tracking without spreadsheet maintenance, look for a tool that:

  1. Tracks time on tasks, appointments, AND transactions — not just one entity type
  2. Links everything to contacts — so time spent on "Website Redesign" automatically credits Client A
  3. Calculates automatically — profit per hour updates in real-time as you log activity
  4. Shows rankings — sort clients by profitability, not just revenue

What This Looks Like in Practice

Imagine opening your client list and seeing:

ClientTotal RevenueTotal HoursProfit/HourStatus
Sarah M.$4,2006.5 hrs$646/hr⭐ Top performer
Tech Corp$18,50072 hrs$257/hr⚠️ High maintenance
James K.$2,8004 hrs$700/hr⭐ Top performer
Design LLC$12,00055 hrs$218/hr⚠️ Review pricing

In 5 seconds, you know:

  • Sarah and James are your ideal client profile (high profit/hour, low maintenance)
  • Tech Corp pays a lot but consumes massive time
  • Design LLC needs a price increase or scope reduction

This changes which phone calls you return first. Which proposals you prioritize. Which clients you actively seek to replicate.


What the Numbers Tell You

Once you can see profit per hour by client, three categories emerge:

Top 20%: Clone These

  • High profit per hour
  • Pleasant to work with (usually)
  • Scope stays contained
  • Action: Study what makes them great. Find more like them.

Middle 60%: Optimize These

  • Decent profit per hour
  • Room for improvement
  • Action: Raise prices gradually. Tighten scope. Reduce meetings.

Bottom 20%: Fire or Renegotiate These

  • Low profit per hour (sometimes negative)
  • Often the "difficult" clients you dread
  • Action: Raise prices significantly, restructure the relationship, or end it.

The Counterintuitive Discovery

Many freelancers and consultants discover their highest-revenue clients are NOT their most profitable.

The $50K annual client who calls constantly, requests endless revisions, and drains your energy? When you calculate profit per hour, they might be earning you $75/hour.

The $15K annual client who sends clear briefs, approves quickly, and pays on time? They might be earning you $400/hour.

Revenue is vanity. Profit per hour is sanity.


Action Steps: Start Today

You don't need perfect data to start. Rough estimates are better than nothing.

This Week:

  1. List your top 5 clients by revenue
  2. Estimate hours spent on each (last 3 months) — include calls, emails, everything
  3. Calculate profit/hour: (Revenue - Direct Costs) / Hours
  4. Circle the surprises — which client is NOT where you expected?

This Month:

  1. Start tracking time — even rough estimates per client
  2. Review in 30 days — are your estimates accurate?
  3. Make one decision based on what you learn (raise a price, fire a client, double down on a profitable niche)

The Outcome:

You'll never look at your client roster the same way. Revenue becomes a starting point, not the answer.


Why Most Tools Can't Give You This View

Let's be specific about the gap:

HoneyBook tracks projects and revenue beautifully. But time tracking requires integrating Toggl. And even then, you're calculating profit per hour manually.

FreshBooks tracks billable hours and invoices. But it shows profit at the business level, not the client level. You can't sort clients by profitability.

Notion/Airtable can theoretically do anything — if you build it. Most people spend 15-20 hours building a system that breaks when they want to add a field. And automatic calculations require complex formula knowledge.

QuickBooks is for taxes, not decisions. Your accountant loves it. Your business strategy doesn't need it.

The gap exists because these tools were built for different purposes:

  • Accounting tools → Tax compliance
  • CRMs → Sales pipelines
  • Time trackers → Billing hours
  • Productivity tools → Task management

None were built to answer: "Which relationships are actually profitable?"


The Velvet Ledger Approach

Velvet Ledger calculates profit per hour automatically because it tracks everything at the contact level:

  • Transactions (income and expenses) link to contacts
  • Tasks (with time tracking) link to contacts
  • Appointments (with duration) link to contacts

When you add a $5,000 invoice to Client A, revenue updates. When you log a 2-hour task for Client A, hours update. When you track a 45-minute call, that adds too.

Profit per hour updates in real-time. No formulas. No spreadsheets. No manual matching.

You can sort your entire contact list by:

  • Highest profit per hour (clone these)
  • Lowest profit per hour (renegotiate these)
  • Most time invested (are they worth it?)
  • Revenue vs. hours ratio

What Others Don't Do

CapabilityVelvet LedgerHoneyBookFreshBooksNotion
Automatic profit/hour per contact✅ Yes❌ No❌ No⚠️ Build it yourself
Time tracking on tasks + appointments + transactions✅ All three❌ Requires Toggl⚠️ Tasks only⚠️ Manual
Sort contacts by profitability✅ Yes❌ No❌ No⚠️ Complex formulas
Revenue per hour updates automatically✅ Yes❌ No❌ No⚠️ Manual refresh

This isn't a feature comparison — it's a capability that doesn't exist elsewhere.


Start Seeing Which Clients Are Worth Your Time

You work hard. You deserve to know if it's paying off — not in total revenue, but in actual profitability per hour invested.

The clients who drain you might be literally costing you money. The clients who feel easy might be your most valuable relationships.

The only way to know is to measure.

Velvet Ledger tracks time across transactions, tasks, and appointments — showing profit per hour for every contact without spreadsheets, formulas, or manual matching.

Start with a 30-day trial of our Flourish plan (unlimited records, all features, no credit card). After 30 days, pick your plan — from free (250 records) up to unlimited; see pricing. Every feature stays available on every plan. No feature gating, just capacity.

And if you outgrow your plan? Nothing is locked or deleted — new records wait until you upgrade or tidy up, and your data is always yours to export. We don't hold it hostage.

Start your 30-day trial →


Last updated: December 2025

See where your money actually goes.

Try it free for 30 days. Track what each client costs you, what they bring in, and whether the math works.

No credit card • Cancel anytime