Every firm has a client who pays well and costs more. The trouble is that QuickBooks Online is very good at telling you who pays you the most, and much less good at telling you who is actually worth keeping. Those are different questions, and only one of them has a built-in report.
Start with what QuickBooks does well: revenue per customer
This part takes about thirty seconds and it is genuinely useful on its own.
- Go to Reports.
- Open Sales by Customer Summary.
- Set the Report period to the range you care about.
- Click the Total column header to sort, so your biggest payers rise to the top.
You now have a ranked list of who sends you the most money. If you have never looked at this, look at it. Most owners are wrong about at least one name in the top five.
But this is a revenue list. It says nothing about what those clients cost you, so it cannot tell you who is profitable. The client at the top may also be the one eating forty hours a month.
The hard part: getting costs attached to customers
To know profit per client, every cost has to be tagged to a client at the moment it is recorded. QuickBooks will not infer this. If the tagging was never done, no report and no tool can reconstruct it later, because the information simply is not in the file.
This is the part people skip, and it is the whole game.
Option 1: Projects (Plus and Advanced)
Projects is the closest thing QuickBooks Online has to real job costing. Turn it on under Settings, then Advanced, then Projects. Once enabled, each project belongs to a customer, and you can assign income and expenses to it.
The project view then shows income, costs and profit for that piece of work. For firms that bill by job, this is the right tool and it works.
Two catches. It needs Plus or Advanced, so Simple Start and Essentials are out. And it is organised around projects rather than clients, so a client with nine small jobs gives you nine numbers to add up.
Option 2: Tag the customer on each expense
On an expense, bill or cheque, the line items have a Customer/Project column. Filling it in attaches that cost to that client. You can then run Profit and Loss by Customer, which puts a column per customer across the page.
This is lighter than Projects and does not need a project set up for every small piece of work. It also depends entirely on whoever enters the expense remembering to fill that column in, every time.
The limit nobody mentions: overhead
Here is the thing that catches people out, and it is worth saying plainly because no software solves it.
Rent, software subscriptions, insurance, your own salary: none of these belong to a single client. They are the cost of being open. QuickBooks will not spread them across customers, and neither will any reporting tool, including ours, unless you tell it a rule for how to split them.
So "profit per customer" in QuickBooks really means revenue from that client, minus the costs you directly tagged to them. That is a gross margin, not a net profit. It is still enormously useful for ranking clients against each other. It is not the number to quote as what the client "made" you.
Any tool that shows you a confident net profit per customer without asking how you want overhead allocated is hiding an assumption from you.
Reading the result properly
Once you have revenue and tagged costs side by side, three patterns are worth looking for.
The big client with thin margins
High revenue, high direct costs. Losing them would hurt the top line and might not hurt profit at all. Worth a pricing conversation before it becomes a crisis.
The quiet client with strong margins
Modest revenue, almost no direct cost. These are the ones to find more of, and the ones firms routinely neglect because they are not noisy.
The client whose costs are untagged
If a client shows near-perfect margins, check that someone has actually been tagging their costs. Perfect margins usually mean missing data rather than a wonderful client.
Why this ends in a spreadsheet so often
Profit and Loss by Customer puts one column per customer. With thirty customers that is thirty columns, which does not print, does not fit a screen, and cannot be sorted by profit. So the report gets exported, pivoted, and sorted by hand.
That is the actual monthly job for a lot of bookkeepers, and it is why this question keeps coming up.
AskLedger answers it as a sentence instead. Ask "which customers make us the most profit?" and you get revenue, tagged costs and net per client in one sorted table, with a line telling you how many expenses were untagged and therefore excluded. You can see what was counted before you send anything to a client.
It reads your invoices and expenses only, so it inherits the same honest limit described above: it can only use costs that were tagged to a customer in QuickBooks. It says so on the report rather than quietly rounding the problem away.
In short
- Sales by Customer Summary gives you revenue per client in seconds, and it is worth checking.
- Profit per client needs costs tagged at entry time, through Projects or the Customer/Project column.
- Projects needs Plus or Advanced.
- Overhead cannot be split automatically by anything, so treat these figures as gross margin rather than true profit.
- If a client's margin looks too good, suspect untagged costs before celebrating.
Related reading: revenue and expenses side by side and where your money actually goes.