Gross Margin by Client: Which Clients Are Actually Profitable?

Gross margin by client shown on a printed financial report with bar chart

The Client You Love Might Be Costing You

You closed the month. Revenue is up, profit is flat, and nobody can name the client responsible.

Gross margin by client is one account’s revenue minus the direct cost of serving it, shown as a percent. Calculate it for every account, rank the list, and the bottom usually explains your missing profit. Most owner-operated businesses never build this view. They rank clients by revenue and assume the biggest name is the best one. That assumption is expensive, and it is usually wrong.

Key Takeaways

  • Gross margin by client equals client revenue minus direct delivery cost (loaded labor plus subcontractor and pass-through cost), divided by revenue. Revenue rank and margin rank rarely match.
  • Ranked profitability forms a whale curve: a few accounts carry most of the profit, a middle group breaks even, and a small tail quietly drains it.
  • You do not need new software. QuickBooks Online Projects and Xero tracking categories both produce a client-level margin report, once your chart of accounts separates direct cost from overhead.

Why Your P&L Cannot Answer This

Your profit and loss statement is built to file taxes, not to price work. It stacks all revenue in one block and all payroll in another, so it can tell you margin fell three points but not which client pulled it down. Revenue ranking hides cost: a $600,000 account that eats 5,000 delivery hours is worth less than a $400,000 account that eats 2,000. And when delivery labor sits in operating expenses instead of above the gross profit line, gross margin becomes a meaningless number.

This matters more now. The JPMorgan Chase Institute found half of small businesses hold just 27 days of cash buffer. Carrying two unprofitable accounts for a year is not a rounding error. It is the whole cushion, which is why a 13-week cash flow forecast and a client margin view belong side by side.

The Method in Four Moves

1. Split direct cost from overhead. Direct cost disappears if the client leaves: delivery payroll, subcontractors, pass-through media and materials, client-specific software. Overhead stays: owner salary, rent, admin, sales commissions. Move the direct rows above the gross profit line in your chart of accounts.

2. Build a fully loaded hourly cost. Total loaded delivery payroll, meaning wages, taxes, benefits, and PTO, divided by available hours rather than billable hours. Roughly 1,700 hours per person is realistic after holidays and PTO. Billable hours hide idle capacity you still paid for. Recalculate quarterly.

3. Tag revenue and cost to the client. Use QuickBooks Online Projects or Xero tracking categories. The one failure point: if payroll posts as a single lump journal, no report can split it by client. Import timesheet detail or post a monthly allocation as a standing month-end close step.

4. Rank and act. Rank by margin dollars, then by margin percent. The disagreement between the two lists is the insight. Then sort every account into four quadrants.

QuadrantMarginRevenueCorrect move
AnchorHighHighProtect. Senior coverage, multi-year term.
EfficientHighLowGrow. Expand scope at the current rate.
HeavyLowHighFix. Reprice, cut scope, or reassign.
DrainLowLowExit or reprice hard. Redeploy the hours.

Set the target margin before you look at the list, or you will bend it to protect a favorite account. Run the review twice a year, about sixty days before renewal season.

What This Looks Like

Take a $4.2M agency with six accounts. By revenue, a $630,000 e-commerce client and a $378,000 logistics client look fine. By gross margin they run 23.8% and 15.9%, and once overhead is spread across delivery hours, both contribute negative profit. Repricing the logistics account 30%, from $378,000 to $491,400 with cost held flat, lifts operating income about 30% on a 2.7% revenue increase. No new client, no new hire. A working gross margin by client report simply pointed at the right conversation.

Frequently Asked Questions

How do I calculate gross margin by client? Subtract the direct cost of serving one client, meaning loaded delivery labor plus subcontractor and pass-through cost, from that client’s revenue, then divide by revenue. Exclude rent, admin, commissions, and owner pay.

What is a good gross margin per client? It varies by model. Professional services often target 50% to 60%, software runs higher, and trades or e-commerce run lower. The better benchmark is internal: set your floor at the margin that covers overhead at current volume.

Should I fire an unprofitable client? Not immediately. Repricing works more often than owners expect. Exit only when an account refuses a rate correction and occupies capacity you can resell.

Stop Guessing Which Clients Pay You

Thirty minutes, no pitch, no obligation — and you leave with a Custom Financial Roadmap.