EVERYTHING, ONE PAGE
Resources
1,008 published data points, 8 steps, 6 template packs holding 20 working files, and one diagnostic.
START HERE
If you only open one thing
DIAGNOSTIC
Find your numbers
Pick your trade and revenue band. Three targets, the shortfall you have, and the order to close it.
REFERENCE LIBRARY
Every citable chart and data file
Benchmarks, labor burden, markup to margin, overbilling against payment terms, and retainage and payment laws by state, each with a dated answer and the credit to use.
ANNUAL REPORT
2027 Benchmark Report
All 48 trades across 7 bands, with sources and methodology.
PROOF
What it did for 14 contractors
Every figure unrounded, no company identified. What was wrong, why, and what changed.
TEMPLATES
The 6 CONTROL template packs
20 working files: job cost codes, equipment rates, overhead, alignment, PM standards, cash flow, the lender WIP schedule and the CEO report skill.
WORKED EXAMPLE
What the CEO report looks like
Thirteen months, eleven charts, benchmarked to the trade. Built on invented figures so you can read it before giving up an address.
THE OUTCOME TARGETS
What it looks like when the system is working
ALL THREE
The outcome targets
Gross profit on the project, net profit on the company, and cash on the balance sheet, in the order they come.
PER PROJECT · CFOS-04
Projects making 22 to 30% gross profit
A range, not a number, because where you fall inside it is decided by how much of the work your own crews touch and how clean your cost codes are.
PER COMPANY · CFOS-03
The company with 12% net profit
Twelve percent is above what every one of the benchmarked trades averages at $1M to $5M. That's the point of it. It's a target, and the published averages are what happens without one.
ON THE BALANCE SHEET · CFOS-07
$650,000 in the bank at all times
The figure comes from the working capital rule applied at one revenue size, and the rule scales to whatever size you are.
CFOS-07
The New Zero
Zero is not zero. The floor a construction company has to hold is 3 to 6 months of fully burdened monthly operating expenses, and everything under it is a deficit that was never measured.
CFOS-07
Stabilize before you scale
Growth does not fix a weak financial system, it magnifies it. Three tests that say whether you are stable enough to grow.
MARGIN
Margin, the CFOS newsletter
Straight knowledge on cash, cost and profit for subcontractors doing $1M to $100M+. Every issue so far, with the date it was published.
MARGIN · CFOS-01
Where the money goes in a construction company
Crews are busy, the backlog is full and bids keep going out. At the end of the month the money is gone anyway, and the owner can't say where it went.
CFOS-02
The 13 month rule
52 weeks divided by a 4 week billing cycle is 13 periods. What that does to the rate you charge for iron you already own.
THE BENCHMARKS
By metric
ALL 48 TRADES
Overhead
What your trade reports at your size, what the CFOS target is, and why the number on your bid sheet doesn't match either one.
ALL 48 TRADES
Gross margin
What your trade earns above direct cost at your size, and the margin the system is meant to maintain as a minimum.
ALL 48 TRADES
Net profit
What is left after all expenses, by trade and by size, and the number the system is built to reach.
THE BENCHMARKS
By trade group
15 TRADES
Civil and earthwork
How the group compares on margin, overhead and net profit at $1M to $5M.
8 TRADES
Concrete and masonry
How the group compares on margin, overhead and net profit at $1M to $5M.
2 TRADES
Landscape and irrigation
How the group compares on margin, overhead and net profit at $1M to $5M.
6 TRADES
Electrical and technology
How the group compares on margin, overhead and net profit at $1M to $5M.
7 TRADES
Mechanical and life safety
How the group compares on margin, overhead and net profit at $1M to $5M.
8 TRADES
Envelope and structure
How the group compares on margin, overhead and net profit at $1M to $5M.
9 TRADES
Interiors and finishes
How the group compares on margin, overhead and net profit at $1M to $5M.
4 TRADES
Specialty
How the group compares on margin, overhead and net profit at $1M to $5M.
Or open all 48 trades in one index.
THE SYSTEM
The 8 steps
CFOS-01 · CHAPTER 1
Job cost structure
Seven cost categories and three levels of granularity, built so the estimate and the ledger use the same words.
CFOS-02 · CHAPTER 2
Equipment cost basis
A correct internal rate per machine covering ownership, maintenance, fuel, and transport, charged to the projects that used it.
CFOS-03 · CHAPTER 3
Overhead calculation
What indirect cost really comes to at your size, and the rate your estimating template should be using.
CFOS-04 · CHAPTER 4
Estimating system
The estimate maps one to one onto the job cost codes, so variance means something the day it appears.
CFOS-05 · CHAPTER 5
Software and bookkeeping alignment
Live job costs inside thirty seconds, with the bookkeeping cadence that keeps them current.
CFOS-06 · CHAPTER 6
Project management
Billing dates, change orders, and notices, written as standards that work without anyone following up on them.
CFOS-07 · CHAPTER 7
Monthly cadence
Weekly bookkeeping, cost to complete, and one CEO report, on the same days every month.
CFOS-08 · CHAPTER 8
Standards and accountability
Five hours a month of owner time, spent projecting the work.
WHAT GOES WRONG
All 99 problems, and the step that fixes each
CFOS-07
Profitable on the P&L, out of cash
Your P&L says you made money and your bank account says you didn't. Neither is wrong.
CFOS-07
Pay-when-paid, and how to size what it costs you
You get paid when the GC gets paid, which means the GC's problems are now your problems.
CFOS-07
Your retainage is your whole net profit
Add up your retainage receivable. Compare it to your net profit for the year. They're usually about the same number.
CFOS-03
You're bidding below your own overhead
If the overhead percentage in your estimating template is lower than your actual overhead, every job you win loses money before a single hour is worked.
CFOS-03
Your overhead rate has not been updated in years
The rate in your bid sheet was right once. Revenue doubled, you hired two PMs and a fleet, and the rate never got revisited.
CFOS-02
Your equipment is reducing the margin
The machine is paid for, so the jobs use it at no charge. Then the transmission goes and the year is gone.
CFOS-06
The change orders you did and never billed
The field did the work. The paperwork never caught up. Ninety days later there is no record that proves it happened.
CFOS-07
Underbilling is masking the loss
Underbilling looks like a timing problem. Often it's a job that has gone over, and the PM has not said so yet.
CFOS-04
The estimate and the actual never match
You can compare the estimate to the job cost report, but the two use different words, so the comparison means nothing.
CFOS-05
Your job costs are six weeks old
By the time the report is right, the job is closed and the only thing left to do is feel bad about it.
CFOS-07
Growth is using up your cash faster than it pays you
The best year you ever had on the income statement was the year you almost didn't make payroll.
CFOS-07
The month payroll nearly didn't clear
You moved money on a Thursday night and kept it to yourself. It's happened more than once.
CFOS-07
AP is stacking and you stopped opening it
The stack on the corner of the desk is a financial statement. It just isn't a very good one.
CFOS-07
The MCA trap, and how subs fall in
It comes back as a fast yes when every other answer was slow. The daily draw starts before the job does.
CFOS-07
Your bonding capacity stopped growing
The surety looks at working capital and equity. Both come from a clean close, and yours happens once a year in March.
CFOS-07
You don't have a WIP schedule
If someone asked today which open jobs are over and by how much, the honest answer would take a week to produce.
CFOS-01
Cost codes the field ignores
You have 200 cost codes. The crews use four of them, and one is called Miscellaneous.
CFOS-03
Your salary isn't in your overhead
You take draws when cash allows. That means your own pay is invisible in every bid you write.
CFOS-04
Mobilization you never got paid for
Moving equipment in and getting the first crew productive costs real money that no line item on your bid covers.
CFOS-01
The small jobs are the ones losing money
The big jobs get watched. The small ones get fit in, and they never get costed out.
CFOS-07
One GC is too much of your revenue
One general contractor is 40% of your year. Their payment terms are your payment terms, and their bad quarter is your bad quarter.
CFOS-01
You can't see which crew makes money
Two crews perform the same scope under the same conditions. One finishes ahead of the other, and your reports can't tell you which one it was.
CFOS-04
Material prices moved and the bid didn't
You bid the material in March and buy it in September, and by then the price is nothing like the number you used.
CFOS-05
Your bookkeeper can't answer the question
You asked whether the Henderson job is making money. Three days later the answer was a printout of the P&L.
CFOS-05
You've outgrown QuickBooks
The workaround has a workaround. Someone maintains a spreadsheet that the whole company depends on.
CFOS-07
There's no monthly close, only a tax return
The books get done once a year for the accountant. In between, you manage the company on the bank balance.
CFOS-08
PMs aren't accountable for margin
Your PMs are measured on schedule and on the client being happy. No role in the company is measured on the number at the bottom.
CFOS-07
Winter costs you every year
You know it's coming. Winter comes anyway, and every year the bank account takes it as a surprise.
CFOS-06
You can't price a change order fast enough
The GC wants a number today. Getting one takes three days, so the work starts anyway and the price gets argued later.
CFOS-03
You have no idea what good looks like
You know your numbers. You don't know whether they're any good, because you've never seen anybody else's.
CFOS-01
You don't know what an hour of labor really costs
You know the wage. You don't know the burden, so every labor line in every estimate is a guess with a confident number on it.
CFOS-03
Revenue is up and profit hasn't moved
You did another two million in work this year and kept the same money. The work wasn't the problem.
CFOS-08
You're the bottleneck, so billing goes out late
You estimate during the day and bill at nine at night, so the pay application misses the cutoff by one day and waits a month.
CFOS-08
You signed before you knew whether they pay
You checked the scope, the schedule, and the price. You didn't check whether this GC pays, and that's the term that decides the job.
CFOS-01
Demolition scrap is revenue inside your cost of work
You bid the job assuming the steel was worth something. Between the bid and the teardown, the price moved.
CFOS-07
SWPPP retainage releases when the grass comes in
Your last productive day was in August. Release depends on vegetative cover, so the money doesn't reach you until next spring.
CFOS-06
Late 811 locates bill you twice
You can't legally dig until someone else marks the utilities, and if the marks are wrong you pay for the strike.
CFOS-07
You float the switchgear for a year before you bill it
Switchgear and transformers are quoted in weeks that turn into quarters. You buy early to protect the schedule and fund it on your own money.
CFOS-06
You can't release for fab until someone else approves
The submittal has been on the engineer's desk for five weeks. The lead time didn't pause while it waited there.
CFOS-04
Copper moved and your bid didn't
You priced the wire in February and you buy it in November. The metal price moves regardless of what you signed.
CFOS-07
You set temp power first and wait two years for retention
You set temp power before the slab and you're still there at closeout. Retention is held against all of it, the whole way.
CFOS-07
You are operating the company against an empty account
Zero is not zero. If you do not know your New Zero, a balance above zero tells you nothing.
CFOS-07
The line of credit has no rules on it
A line with no rules stops being a backstop and becomes the operating account.
CFOS-07
You have four debts and no order to pay them in
Paying the wrong one first can put you back where you started, with less cash and the same problem.
CFOS-03
You cannot tell whether the next hire pays for itself
Hiring before the work is contracted is the most common way a good year turns into a bad one.
CFOS-03
You need to cut and do not know what is safe to cut
Cutting blind takes out the thing that was producing revenue and leaves the thing that was not.
CFOS-02
Buying the machine is a gut call
A machine you own can't be billed for a week it doesn't move, but the payment is still due every month.
CFOS-08
You missed the preliminary notice. Now what?
Lien rights depend on notices going out on time, and in most companies no one is assigned to send them.
CFOS-07
The GC is withholding pay on one job over another
A finished job goes unpaid because the GC is unhappy about a different job, and the contract may decide who is right.
CFOS-06
The change order work is done and no one signed it
The crew did the extra work and the paperwork never caught up, so the cost stays on your job.
CFOS-08
A sub has no insurance and you already owe them
The sub's certificate of insurance expired or never came in, and the invoice is on your desk.
CFOS-08
What goes on the lien waiver, and who sends it
The waiver amount, the check and the pay application should agree, and in most companies three different people touch them.
CFOS-01
How to track labor time so it reaches the right job
Hours get written down somewhere, and by the time they reach the books the job and the cost code are guesses.
CFOS-05
Receipts and invoices pile up with no job on them
Job costing needs every cost on a job, and the stack of receipts is where most small companies stop.
CFOS-06
The punch list and the callbacks never end
The job is done and the crew keeps going back, because no one set when it ends.
CFOS-07
How much to set aside for taxes is a CPA question
The right number depends on the entity, the year and the strategy, and the CPA decides it.
CFOS-08
PM or superintendent: who does what on a job
Both roles work on the same job, so each one assumes the other has the contract, the buying and the billing.
CFOS-01
Does labor go in cost of goods sold for a contractor?
The question usually means the job has no structure that says where each kind of cost belongs.
CFOS-07
Customers pay late, or don't pay at all
The company waits for the money, and the follow up only starts after the due date has passed.
CFOS-07
You bid low and the job is already under way
The job is under way, the bid was too low and every week adds cost to a number no one checks.
CFOS-07
When can you ask for your retainage back?
Retainage stays on the job until someone asks for it, and no one is assigned to ask.
CFOS-06
Is pay when paid legal, and what do you do about it?
Whether it holds depends on your state and on the language you signed.
CFOS-04
Estimating turns the job over and the PM starts cold
The estimator knows why the numbers are what they are, and the PM finds out in month three.
CFOS-07
The WIP report takes days every month
The report waits on late costs, unclosed books and managers who haven't reviewed their jobs.
CFOS-07
You don't know your cash flow until it's tight
The stress comes from not knowing which weeks are short until that week is here.
CFOS-04
How to decide which jobs to bid
The estimator bids what comes in, because no one above them decided what the company should be bidding.
CFOS-06
The contract is signed and estimating never read it
The scope in the contract differs from the scope that was bid, and the person who built the number finds out after the job starts.
CFOS-04
You lost the bid and no one looks at why
A lost bid gets blamed on the estimator, and the company learns nothing about what was off or by how much.
CFOS-01
Who should set up the chart of accounts and cost codes?
Two structures decide what every report can say, and they often get set up by whoever has the software open.
CFOS-02
What to charge for your own equipment by the hour
A rental yard quotes a day rate, and the truck in your yard has no rate at all, so the job that used it pays nothing and the shop pays for it later.
CFOS-06
The GC kicked back your pay app
Find the reason in writing, fix it, and check every pay app before it goes.
CFOS-06
Missed the pay app cutoff by a day
Put the due date on a calendar someone checks, and send early.
CFOS-06
A schedule of values that bills you into a hole
Build the SOV from the estimate, by cost code, and compare billing to cost monthly.
CFOS-06
T&M bills the GC won't pay without backup
Get the GC's signature on the ticket the day the work happens.
CFOS-06
Material on site you haven't billed for
Bill stored materials with the backup the contract requires, the month you buy them.
CFOS-06
Unit price quantities the GC won't approve
Agree on the measuring method and the quantity in writing before you bill.
CFOS-06
Invoices go out two weeks after the work
Give billing a fixed day, a fixed owner and a simple trigger from the field.
CFOS-07
Nobody calls about the overdue invoices
Pick one person, one list and one weekly call, oldest invoice first.
CFOS-06
Closeout paperwork holding up your last check
Start the closeout list at mobilization and chase missing items before the work ends.
CFOS-07
POs nobody adds up until the bills arrive
Add up open POs and subcontracts by job before the PM enters cost to complete.
CFOS-06
Daily reports that never get written
Make the daily a two minute phone entry tied to billing.
CFOS-06
Crews stood around and nobody billed it
Record each delay on the daily that day, then send notice.
CFOS-07
Percent complete is a guess
Take percent complete from the PM's cost to complete, not from billing.
CFOS-06
Material that disappears between the yard and the job
Tie every purchase to a PO and a job, then count leftovers.
CFOS-07
The schedule slipped and the cost never showed up
Update cost to complete for the new end date every month.
CFOS-08
Fifteen PMs, fifteen spreadsheets
Give every PM one form, one deadline, and one approval.
CFOS-04
Estimating with no real costs from past jobs
Code every job like your estimate and your own costs build up.
CFOS-04
The labor rates in your estimate are years old
Compare your estimate's hours per unit to posted hours, then reset them.
CFOS-04
One takeoff mistake ate the job's profit
Add a second quantity check before bigger bids go out.
CFOS-04
Every estimator has their own spreadsheet
Standardize cost codes and markup rules so every estimate compares.
CFOS-04
Scope you didn't price and had to do anyway
Compare crew work to the estimate, then fix the template.
CFOS-04
You don't know your win rate
Win rate is bids won over bids sent. Track every bid.
CFOS-04
Bids that go out and never get followed up
Follow up a week after sending, and again before award.
CFOS-04
Bidding everything that hits your inbox
Write rules for a good job and check each invite.
CFOS-07
Not sure how much work you have lined up
Backlog is contract value minus billed, added up by job.
CFOS-08
Every GC relationship lives in the owner's head
Put each GC's contacts, history and payment habits on a shared list.
CFOS-08
Everybody in the company can see everything
Give each seat only the jobs and numbers it needs.
CFOS-07
Rolling up divisions in spreadsheets every month
Use one job list and one cost structure for every division.
CFOS-07
The surety wants an audited WIP
Build WIP monthly from approved cost to complete.