People ask this question in two very different ways, and QuickBooks handles one of them well and the other badly. Sorting out which one you actually mean saves a lot of clicking.

First, the version QuickBooks already does

If you want total money in next to total money out, that report exists and it is called the Profit and Loss. Income at the top, expenses underneath, net profit at the bottom.

  1. Left menu, then Reports.
  2. Open Profit and Loss.
  3. Set the Report period.
  4. Set "Display columns by" to Months if you want the trend rather than one lump sum.

Anyone who tells you QuickBooks cannot put revenue and expenses on the same report is wrong. It can. If that is what you needed, you are done.

Now the version that causes the trouble

The harder question sounds almost the same but is not:

"Show me what each client paid me, next to what it cost me to serve that client, so I can see who is actually worth keeping."

That is not a Profit and Loss. A P&L groups by account. This question groups by customer, and it needs two different kinds of record, invoices and expenses, lined up on the same row. QuickBooks is built to work down one of those axes at a time.

What QuickBooks gives you, and what it costs

Projects (QuickBooks Online Plus and above)

Projects is the built-in answer, and it does genuinely show income, costs and profit per project. Two catches:

  • It is not on the cheaper plans. Projects needs Plus (around $90/month) or Advanced (around $200/month). Simple Start and Essentials do not have it.
  • It only counts what you tagged.An expense that was never attached to a project simply does not appear. Rent, software, your own time and most overhead usually fall outside, so "profit" comes out flattering.

Classes and tags

Classes let you slice both income and expenses by a label you invent, which gets you closer. But you have to tag every single transaction from now on, it does nothing for history you already entered, and bookkeepers regularly hit the ceiling on how many levels they can nest before reports get unreadable.

The workaround almost everyone actually uses

Export the income report to Excel. Export the expense report to Excel. Match them up with a VLOOKUP or an XLOOKUP. Rebuild it next month.

This is not a niche habit. It is the default. Whole consulting invoices get written for exactly this, and finance people describe it as the reason their month-end runs long.

The plain-English shortcut

With AskLedger you type the question the way you would say it out loud, for example "revenue and expenses by month" or "which customers made me the most profit this year", and it pulls both sides and lines them up for you.

Two things worth being straight about. Costs still come from the customer tag on your expenses, because that is the only place the information exists, so untagged overhead is not secretly spread around. When some of your costs are left out, the answer says so instead of quietly inflating your profit. And every answer carries a "Showing:" line explaining how the question was read, plus you can click any total to see the individual transactions behind it.

FAQ

Can I get profit per customer on QuickBooks Simple Start?

Not through Projects, which needs Plus. You can approximate it with classes if you tag consistently, or export and match in a spreadsheet.

Why does my project profit look too good?

Almost always untagged costs. Projects only counts expenses you explicitly attached to the project, so overhead sits outside and profit reads high. Check what share of total expenses is tagged before trusting the number.

Does the Profit and Loss by Customer report solve this?

Partly. It splits income by customer and picks up expenses you assigned to a customer, so it has the same tagging limitation. It is a reasonable starting point if your costs are already tagged well.

What about cash basis versus accrual?

It changes the answer a lot, because invoices and the costs behind them rarely land in the same month. Decide which basis you are working in before comparing the two sides, and make sure your report says which one it used.