How Do We Make Money? Getting Profit by Job and by Customer You Can Trust
July 14, 2026
The problem: You can say what you billed last month, but not which customers and jobs actually carried the margin.
The solution: Connect the job, the labor, and the invoice into one picture so profit by job and by customer is something you look up instead of rebuild.
The math
A $9M contractor running 18 percent of its work at near-zero margin is putting roughly $1.6M of revenue through the business for almost nothing, tying up crews that could be on work that pays.
Ask most owners how their business makes money and you get a real answer, just not the one that helps. They can tell you revenue by month, revenue by division, maybe gross margin for the year. What they usually cannot tell you is which specific customers and which specific jobs produced that margin, and which quietly consumed it.
That gap matters because you cannot do more of what pays if you do not know what paid.
Revenue is not the same as profit
Revenue is easy to see. It arrives in one system, it is one number, and everybody watches it.
Profit by job is hard to see because it is assembled from pieces that live apart. The quote sits in one place. The hours sit in a time app or on paper. Materials sit with the supplier invoices. The change order sits in somebody's email. Overhead sits in an allocation nobody has revisited in three years.
To answer "did this job make money" you have to gather all five. Doing it once, carefully, for one job takes an afternoon. Doing it for every job, every month, is a full-time role nobody has hired.
So it does not get done. The business runs on the number it can see, which is revenue, and hopes margin follows.
The part that costs real money
Here is the trap. Work that loses money does not announce itself. It looks like work. Crews are busy, invoices go out, the customer is pleased, and the phone rings again next quarter.
Without job-level profit, the natural response to a busy year is to chase more of the same. If a meaningful slice of that work is at or below break-even, chasing more of it makes the problem larger, not smaller. You add revenue, add crew, add stress, and the bank balance does not move the way the top line suggests it should.
That is the quiet version of this failure, and it is the common one. It rarely shows up as a crisis. It shows up as a business that feels busier every year and no more profitable.
A look at a $9M specialty contractor
Take a specialty contractor doing about $9M a year, with roughly fifty people, running on accounting software and a set of spreadsheets that one person maintains.
They know their annual gross margin. They do not know it by job. Connect the quote, the field hours, the material invoices, and the billing into one picture, and the shape of the business would change on paper without changing at all in reality.
You would not be surprised to find something like 18 percent of jobs, by revenue, coming in at close to zero margin. That is roughly $1.6M of annual revenue moving through the business and leaving almost nothing behind. It would rarely be random. Typically it clusters in one job type the business drifted into over several years because it was easy to win, and it was easy to win because they were the cheapest bidder, and they were the cheapest bidder because the original estimate was never corrected for how long that work actually took.
Two customers would likely account for most of it. Neither is a bad customer. Both are being served at a price set years earlier against a cost the business never measured.
The response need not be dramatic. Reprice that job type, keep one of the two customers at the new number, and let the other go to a competitor. The crews that come free go onto work that is already earning well. Revenue would dip slightly the following year. Profit would go up.
What it takes to answer the question properly
- Join the job to its costs. The quote, the hours, the materials, and the invoice need to be connected to the same job, automatically, not reconciled by hand at month end.
- Get labor time to the job level. This is the piece most businesses are missing, and it is usually the largest cost on the sheet.
- Make overhead allocation explicit. It does not have to be perfect. It has to be written down, consistent, and revisited when the business changes shape.
- Automate the assembly. An answer somebody has to build by hand is an answer you will get four times a year. An answer that assembles itself is one you will actually use to make decisions.
- Then look by customer, not just by job. Job-level margin tells you what to price. Customer-level margin tells you who to keep.
The takeaway
Knowing how you make money means knowing it at the level you can act on: this job, this customer, this type of work. Once the information behind those jobs is connected and the assembly happens on its own, the question stops being a research project and becomes something you check. That is when you can start doing more of the work that pays and less of the work that only looks like it does.
Every business has a number like that hiding in it.
Text us where your team loses its time, and we’ll put a real number on yours, then show you what’s worth organizing and automating first. No forms, no sales call.