Margin Leak Audit · System 01 · scoring each job

Score Each Job Separately

Every business that sells its work in separate pieces (a job, a matter, a project) has two financial pictures. One is the month, and it’s the one everybody looks at. The other is the job, and it’s where every decision gets made: what to quote, what to take on, who to send, when to say no. A business can have a perfectly good month and still be losing money on two thirds of what it sells.

The idea in one line: a month is an average of the jobs you chose to take, so it tells you how the average came out. Scoring each job tells you which choices to make differently.

01

Questions the monthly figure can’t answer

A quarter closes at twelve percent profit. That number is true, it matches your accounts, and it answers one question: did the business make money? It can’t answer any of the questions an owner actually has that week.

What the monthly figure can’t tell you
Which kind of work earns what we think it does, and which kind is being carried by the rest.
Whether the price is wrong, or the price is fine and the work is costing more than planned.
Whether the customer who keeps coming back is worth having.
Whether the problem is what we charged, what we spent, what we invoiced, or what we got paid: four different problems that show up as one number.
The month can look healthy while all of these go wrong, as long as enough good jobs are averaged in with the bad ones. That’s the danger: growing the kind of work that loses money looks, for a while, just like growth.
02

Five columns, one row per finished job

The whole audit runs on this table. Get it right and the rest is arithmetic. Get it wrong and every finding after it carries the mistake.

Each row
Quoted price: what the customer agreed to pay, including every signed change. This is what you were owed by the end.
Expected cost: what you expected the work to cost when you set that price. Take it from the estimate as it stood then, rather than a version updated after the job went wrong.
Actual cost: people’s time at their full hourly cost, materials at what you paid, subcontractors at their bills, and anything bought specially for the job.
Invoiced: the total you actually billed, whatever the reason it differs from the quote.
Received: money paid against those invoices by the date you pulled the records. Write the date down; the column means nothing without it.
Extra work goes in two places: anything you agreed to do beyond the original job adds to the quoted price (at what it should have been charged) and to the expected cost (at what it took). Both columns or neither. Put it in one and the sums in System 02 quietly blame the wrong thing.
Two margins come out of each row. Planned margin is the quoted price minus the expected cost: what you signed up for. Actual margin is the money received minus the actual cost: what you got. Everything the audit finds sits between those two numbers.
03

Four rules that keep each row accurate

1
Finished jobs only. A job still in progress has real costs and no final invoice, so including it pulls every total toward a loss that may never happen. Count the finished ones, and write down how many you left out and why. If you left out more than you counted, the period is too short.
2
People at their full hourly cost. Payroll taxes, insurance, the van, paid time off, and the hours people are paid for that aren’t on any job. A technician paid $32 an hour often costs $48 an hour to put in front of a customer. Costing jobs at the wage makes every job look profitable, which is the most common reason a business believes its pricing is fine.
3
Put every cost against the job it belongs to. The return trip for the part nobody ordered. The hour on the phone about the invoice. The apprentice who was there to learn. These are costs of that job whether or not anyone recorded them against it, and they’re exactly the costs that disappear into overheads and come back as a mysterious bad month.
4
Check the columns against your accounts before reading anything into them. The invoiced column should match sales in your accounting software for the same jobs, and the received column should match deposits. If they don’t match, you have a record-keeping problem, and finding out now is far better than finding out in the meeting.
04

Four traps, in the order they usually catch people

Check for these before you read anything into the numbers
Timing. Work done in March and invoiced in May sits in two different months. Score each job by when it finished, and pull the invoices and payments for those jobs rather than for those months.
Deposits. Money taken up front is paid against a job that may not have finished. Match it to the job, rather than the week it arrived.
Changes agreed on site and never written down. This is the one that quietly ruins the table. Left out of both columns, its cost lands in actual cost with no price against it, and the job looks like it ran over, which sends you off to fix your estimating when the real problem was that nobody invoiced it. Put it in the quoted price at what it should have been charged and in expected cost at what it took, and note every job where it happened. System 02 needs that list.
Retainers and flat fees. Where the price isn’t per job, decide what counts as one before you start: one month of the retainer, one matter, one project. Any consistent choice works. Changing it halfway doesn’t.
05

What the spread looks like when you finally see it

An eleven-person electrical contractor, one quarter, forty-one finished jobs. The accountant’s figure for the quarter was just under thirteen percent profit, and the owner blamed one big commercial job that had gone badly.

Four of the forty-one rows
Home electrical panel upgrade: quoted $4,800, expected cost $3,100, actual cost $3,040, invoiced $4,800, received $4,800. Planned margin $1,700, actual $1,760. The work this business is good at.
Service call, repeat customer: quoted $680, expected cost $410, actual cost $770, invoiced $680, received $680. Planned $270, actual −$90. Two trips, because the part was wrong the first time.
Office fit-out: quoted $58,200, expected cost $41,000, actual cost $50,400, invoiced $58,200, received $29,800 by the date the records were pulled, with the rest 74 days after the final invoice. Planned $17,200, actual −$20,600 so far.
Kitchen remodel extras: quoted $12,400, expected cost $8,600, actual cost $11,900, invoiced $12,400, received $12,400. Planned $3,800, actual $500. Three separate extras agreed on site and never added to the price.
The big commercial job the owner blamed was one row, and ran $9,400 over. The four rows above are four completely different problems, and only one of them is a job that ran over.

Across all forty-one rows, the planned margin was 30.0 percent and the actual margin was 12.7 percent. That gap is the audit. What it’s made of is System 02.

Do this step with an AI assistant

Upload your job list, your cost details, and your invoice and payment reports for one period. Then send these three messages, in order.

  • “Build one row for each job that finished in this period, with five columns: the quoted price including signed changes, the expected cost when we quoted, the actual cost, the amount invoiced, and the amount received by the date I pulled this. List separately every job you left out for being unfinished, and say how many.”
  • “Before you read anything into it, check the invoiced column against sales for those jobs in the accounting report, and the received column against deposits. Tell me where they don’t match, and by how much.”
  • “Tell me whether people’s time in the actual cost is at their wage or their full hourly cost. If you can’t tell from what I gave you, ask me before going any further.”

One row per finished job is the foundation, and it’s worth more than the audit built on it: a business that can produce this table every month can answer its pricing, hiring, and which-customers questions without running anything else. System 02 takes the gap the table shows and splits it into the four things it can be.

Next in the Margin Leak Audit · System 02Where the Margin Went 9 min read