Margin Leak Audit · System 01 · building the ledger

Score the Job, Not the Month

Every business that sells work in discrete pieces — a job, a matter, an engagement, a project — has two financial pictures. One is the month, and it is the one everybody looks at. The other is the job, and it is where every decision actually lives: what to quote, what to take, who to send, when to say no. A business can have a perfectly acceptable month and still be losing money on two thirds of what it sells.

The idea in one line: the month is an average of jobs you chose, so scoring the month tells you how the averaging came out and never which choices to make differently.

01

What the month hides

A quarter closes at twelve percent. That number is true, it reconciles, and it supports exactly one decision: whether the business made money. It cannot answer any of the questions an owner actually has that week.

Questions the month cannot answer
Which kind of work earns what we think it earns, and which kind is carried by the rest.
Whether the price is wrong, or the price is fine and the delivery is running past it.
Whether that customer who keeps coming back is worth having.
Whether the problem is what we charged, what we spent, what we billed, or what we collected — four different problems that arrive as one number.
The month can be healthy while every one of these is going wrong, as long as enough good jobs are averaging in with the bad ones. That is the failure mode: growth in the kind of work that loses money looks, for a while, 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 inherits the error.

The row
Quoted price: what the customer agreed to pay, including every change order they signed. This is what you were owed by the end.
Estimated cost: what you expected the work to cost when you set that price. Take it from the estimate as it stood then, rather than from a version revised once the job went sideways.
Actual cost: labor at a loaded rate, materials at what you paid, subcontractors at their invoices, and anything bought specifically for this job.
Invoiced: the total of what you actually sent them, whatever the reason it differs from the quote.
Collected: money received against those invoices as of the date you pulled the evidence. Write that date down; the column is meaningless without it.
Work added later goes in both: anything you agreed to do beyond the original scope adds to the quoted price at what it should have been charged, and to estimated cost at what it was going to take. Both columns or neither. Put it in one and the arithmetic in System 02 quietly blames the wrong thing.
Two margins fall out of the row. Intended margin is quoted price minus estimated cost: what you signed up for. Realized margin is collected minus actual cost: what you got. Everything the audit finds lives between those two numbers.
03

Four rules that make the row honest

1
Only finished jobs. A job in progress has real costs and no final invoice, so including it drags every total toward a loss that may never happen. Count the finished ones, and write down how many you excluded and why. If the excluded pile is bigger than the scored pile, the period is too short.
2
Labor at a loaded rate. Payroll taxes, insurance, vehicle, paid time off, and the hours somebody is paid for that are not on any job. A technician who costs $32 an hour in wages often costs $48 to put in front of a customer. Costing at the wage makes every job look profitable, which is the single commonest reason a business believes its pricing is fine.
3
Everything against the job that belongs to it. 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 coded them to it, and they are exactly the costs that vanish into overhead and reappear as a mysterious bad month.
4
Reconcile the columns before reading anything into them. The invoiced column should tie to revenue in the accounting system for the same jobs, and the collected column to deposits. If they do not tie, you have a data problem rather than a margin problem, and finding out now is much cheaper than finding out in the meeting.
04

Four traps, in the order they usually bite

Check for these before you interpret anything
Timing. Work done in March and invoiced in May sits in two different periods. Score the job by when it finished, and pull invoices and payments for the jobs rather than for the months.
Deposits. Money taken up front is collected against a job that may not have finished. Match it to the job, not to the week it arrived.
Unsigned change orders. Work agreed on site and never written down is the one that ruins a ledger silently. Left out of both columns, its cost lands in actual cost with no price against it and the job reads as an overrun, which sends you to fix your estimating when the problem was that nobody invoiced it. Put it in the quoted price at what it should have been charged and in estimated cost at what it took, and keep a note of every job where it happened. System 02 needs the list.
Retainers and flat fees. Where the price is not per job, define the unit before you start: one month of the retainer, one matter, one engagement. Any consistent unit works. Changing it halfway does not.
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, and the owner’s explanation was a large commercial job that had gone badly.

Four of the forty-one rows
Panel upgrade, residential: quoted $4,800, estimated cost $3,100, actual cost $3,040, invoiced $4,800, collected $4,800. Intended margin $1,700, realized $1,760. The job the business is good at.
Service call, repeat customer: quoted $680, estimated cost $410, actual cost $770, invoiced $680, collected $680. Intended $270, realized −$90. Two trips, because the part was wrong the first time.
Tenant fit-out: quoted $58,200, estimated cost $41,000, actual cost $50,400, invoiced $58,200, collected $29,800 at the pull date, with the balance 74 days past the final invoice. Intended $17,200, realized −$20,600 so far.
Kitchen remodel add-ons: quoted $12,400, estimated cost $8,600, actual cost $11,900, invoiced $12,400, collected $12,400. Intended $3,800, realized $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 entirely different problems, and only one of them is an overrun.

Across all forty-one rows the intended margin was 30.0 percent and the realized margin was 12.7 percent. That gap is the audit. What it is made of is System 02.

Do this step with an AI assistant

Upload your job list, your cost detail, and your invoice and payment exports for one period. Send these three messages in order.

  • “Build one row per job that finished in this period, with five columns: quoted price including signed change orders, estimated cost at the time of the quote, actual cost, invoiced, and collected as of the date I pulled this. List separately every job you excluded for being unfinished, and say how many.”
  • “Before you interpret anything, reconcile the invoiced column against revenue for those jobs in the accounting export and the collected column against deposits. Tell me where they fail to tie and by how much.”
  • “Tell me whether the labor in actual cost is at a wage rate or a loaded rate. If you cannot tell from what I gave you, ask me before you go any further.”

One row per finished job is the whole foundation, and it is worth more than the audit that sits on top of it: a business that can produce this table every month can answer the pricing question, the hiring question, and the which-customers question without running anything else. System 02 takes the gap the table exposes and splits it into the four things it can possibly be.

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