JOB COSTING, SETUP

CONSTRUCTION JOB COSTING SETUP, DONE RIGHT.

QUICK ANSWER

Job costing setup starts with cost codes structured to match your actual estimate format, not a generic chart of accounts. From there, WIP calculation logic, overhead allocation, and weekly cost-to-complete tracking all get built on top of that structure. Setup done this way lets actual job cost be compared directly to the bid, line by line, instead of approximated after the fact.

The order of operations is the whole job. Cost codes come first because every report built later reads off them, so a structure that doesn't mirror the estimate produces reports that compare your cost to the wrong reference point forever. Overhead allocation comes second, because a flat percentage applied evenly across every job is a guess dressed up as math. WIP logic comes third and has to match how you bill rather than how a software template assumes you bill. Get that sequence backwards and the system produces numbers nobody in the field believes.

BY JOSH LUEBKERPublished 2026-08-06Updated 2026-10-19
THE DEFINITION

WHAT IT MEANS.

Job costing setup is translation work: taking the structure your estimators already use to bid work and building the accounting system to track cost in that identical structure, so actual cost and bid cost can be compared line by line rather than approximated at a category level.

Most setups fail for the same reason: somebody imported a template. A generic chart of accounts is built for a business that sells one thing at one margin, and a subcontractor sells forty jobs at forty margins with a different cost mix on each one. The structure has to be built from your estimates outward, which means the estimating team has to be in the room for it.

COMMON MISTAKES

WHERE IT GOES WRONG.

01

We will use a template and adjust later

The belief is that a standard chart of accounts gets the system started and the structure can be corrected once the business knows what it wants. Adjusting a mismatched cost code structure after the fact means rebuilding every historical job cost report to the corrected structure, one job at a time. The alternative is living with reports that never reconcile to the estimates they're supposed to be measured against.

02

Overhead is close enough at a flat percentage

A flat percentage applied to every job is the fastest way to set overhead up and the least useful. It systematically overstates the profitability of low-overhead jobs and understates the high-overhead ones, so the two kinds of work look more alike than they are. That distorts the one decision job costing exists to inform, which is what kind of work to go after next.

03

We will figure out the WIP calculation later

WIP logic has to match the business's real billing structure from the day the system goes live. Configured generically and corrected later, every WIP report between those two dates is potentially wrong, including the ones the bank and the surety already read. There's no way to unsend a WIP schedule, so the logic has to be right before the first one goes out.

HOW SPM FIXES IT

WHAT COUNTS MOST.

Cost codes built from your estimate, confirmed with your estimators

The first step is structuring cost codes to mirror the company's own estimate format rather than a generic chart of accounts or an industry template. That confirmation happens with the estimating team, not around them, because they're the only people who know how the bid is broken out. Once the two structures line up, actual cost can be compared line by line to the bid instead of category by category.

Overhead allocated by a driver, not a flat rate

Overhead gets allocated based on real activity or a specific driver relevant to the business, equipment hours or admin time for example, rather than one percentage spread evenly across every job. Picking the driver is the work, and it's different for an equipment-heavy civil contractor than for a labor-heavy concrete crew. Once the driver is right, a job that consumes more of the office and the yard bears more of the cost of both.

WIP logic matched to how you bill

The WIP calculation gets configured against your real revenue recognition method and your real billing structure, then validated against one finished job before anything is reported off it. Validation is the step most setups skip, and it's the cheapest insurance in the whole project. A structure that produces the right answer on a job you already know the answer to is a structure you can trust on the jobs you don't.

WHAT YOU GET

THE OUTPUTS, NAMED.

Cost codes built directly from your estimate structure, confirmed with your estimating team
Overhead allocated by real activity or a specific driver, not a flat percentage
WIP calculation logic matched to your revenue recognition method and billing structure
Setup validated against one real job before being relied on for reporting
Weekly, not monthly, cost-to-complete comparison built into the ongoing process
$10.7M+
Client AR Recovered Since 2023
48
Active Trade Specializations
60 DAYS
Average Onboarding Time
PRICING

FLAT MONTHLY FEE. NO SURPRISES.

Three tiers, priced by your trailing twelve month revenue. Which one you're in depends on how much of the work you want off your desk. No hourly billing. No payroll. The one-time onboarding fee is right here in the table.

Last 12 months revenueMonthly feeOne-time onboarding
Under $1M$1,900 to $3,300$1,000
$1M to $3.5M$2,600 to $5,300$1,500
$3.5M to $6.5M$3,800 to $8,300$3,000
$6.5M to $9.5M$5,100 to $11,800$4,500
$9.5M to $12.5M$6,100 to $14,900$6,000
$12.5M to $15.5M$7,400 to $17,650$7,500
$15.5M to $18.5M$9,400 to $22,400$9,000
$18.5M+Quoted individuallyQuoted individually

The onboarding fee covers migrating your books back to the start of your last taxable year and getting you fully operational in 60 days. It's billed once, with your first invoice. It's the same for all three tiers. Your first month is prorated, and your monthly engagement starts on the first of the first full month.

Range reflects the three tiers below. Which one you're in depends on how much of the work you want off your desk. No payroll. No hidden line items. The onboarding fee is right here in the table.

Core

You stop guessing.

You get the CFO work. Job costing built against the way you estimate, a 13 week cash forecast, monthly WIP, and a meeting every month that ends in decisions and never in a report.

Your bookkeeper still does the books.

Strategic

Every job shows its margin while it is still open.

Everything in Core, plus the bookkeeping and bank reconciliations done for you, and the job costing and WIP software set up, loaded with your cost codes, and managed every month. Use your own online software, or move to ours and we cover it.

A bookkeeper we choose does the books and reconciliations. No payroll.

Platinum

You approve, and the money side gets handled.

Everything in Strategic, plus a controller we choose who handles your bills and receivables for you the way an in-house controller would. They call vendors, pay the bills and keep the accounting current. We plan the cash flow first, and you approve every payment because it is your money.

A controller we choose does the payables and receivables. No payroll, no pay applications, no collections.

COMMON QUESTIONS

FREQUENTLY ASKED.

Build the cost codes from the estimate format, so each estimate line has a cost code with the same label and structure. Then actual job cost can be compared to the bid line by line instead of approximated after the job. A generic chart of accounts cannot do this, because its categories were built for taxes.

The first step is structuring cost codes to mirror the company's own estimate format, not a generic chart of accounts or an industry template. That's what lets actual cost be compared line by line to the bid instead of rolled up into categories nobody bid in. Everything built after this step reads off that structure, which is why it goes first.

Overhead should be allocated based on real activity or a specific driver relevant to the business, equipment hours or admin time for example, rather than a flat percentage applied evenly across all jobs. A flat rate makes every job look like the average job, which is the one thing no job is. Choosing the driver is the part that takes judgement, and it changes by trade.

Every report built on top of a mismatched structure compares actual cost to the wrong reference point. That can make jobs look more or less profitable than they are, and real variance goes unseen inside categories that were never bid that way. The reports are answering a question you didn't ask.

As part of a full SPM engagement, job costing setup happens inside the standard 60 day onboarding window. That covers the cost code structure, the historical data migration, and validation against one real job. Sixty days is the whole onboarding, not just this piece of it.
WHAT THIS TIES INTO
Josh Luebker, SPM The Construction CFO
Josh Luebker
FRACTIONAL CFO · SPM THE CONSTRUCTION CFO

Josh Luebker is a master electrician turned construction CFO, president of SPM The Construction CFO and author of CONTROL: C.F.O.S. Construction Financial Operating System.

DOES YOUR JOB COST REPORT LINE UP WITH YOUR BID?

Twenty minutes is all it takes, and it's questions about how your job costing is set up and where it stops helping. Josh isn't selling and he isn't proposing. If he can help, you'll set a longer second call.

You don't hire a CFO because it's safe, you do it because the real risk isn't having one.
Book a 20 minute call

20 minutes. Nothing gets sold on this call and nothing gets proposed. Josh asks questions to work out whether he can help at all.

OR GET THE WIP SCHEDULE TEMPLATE. NO CALL NEEDED.