Two Reports, One Month, Ten Points of Margin Apart

Reading Time: 23 minutes
Low sun raking through stud framing inside a half-finished concrete building shell, construction dust visible in the light

A contractor's job-cost report showed gross margin near 48 percent. The financial statements for the same period said 36.

Both came out of the same accounting system, in the same month, produced by the same people. Neither was fabricated and nobody had made an obvious mistake. The business had been bidding, hiring, and forecasting off the higher number for most of a year.

Key Takeaways

  • Your job-cost report and your income statement disagree, and nobody has been assigned to find out why
  • Cost gets coded to the job that was open when the invoice arrived, not the job that incurred it
  • Payroll allocations stop at the department and never reach the individual job
  • Your forecast is built on a margin percentage that has never been tested against the financial statements
Take the Financial Control Score Quiz 7 questions. About a minute. See where your business actually stands.

What Are Construction Job Cost Codes Supposed to Do?

Put every dollar on the job that caused it, so reported margin describes a real job rather than an accounting category. That is the entire function, and it fails quietly whenever the code is chosen by whoever happens to be entering the invoice rather than by what the cost was actually for.

The failure is quiet because nothing breaks. The general ledger still balances, the close still completes, and the reports still produce numbers that look plausible. The only visible symptom is that two reports about the same month stop agreeing, and most companies treat that as a reconciling item rather than a defect.

It is worth being precise about the stakes. Job cost codes are not a bookkeeping convenience. They are the mechanism that decides whether you know which work makes money.

Why Does My Job Cost Report Disagree With My Financial Statements?

Usually because some costs never reach a job record at all. They post to the general ledger correctly, satisfy the accounting, and remain invisible on the job-costing side, so the job-cost report describes a partial version of the month.

A construction client of ours carried roughly a ten-point gap between the two: a job-cost report showing about 48 percent gross margin against financial statements closer to 36. Part of it traced to payroll setup, where project-manager allocations were configured at a level that never pushed down to individual jobs. Roughly $3.8 million of work on hand was carried at about 45 percent margin, which a further adjustment would move closer to 35. A separate $62,000 revenue discrepancy between the calculated figure and the statements sat unexplained, unassigned, and deliberately unbooked until someone understood it. The month had been treated as closed without anyone reviewing it.

Ten points of margin on $3.8 million of work on hand is not a presentation difference. It is the difference between a bid that wins profitably and a bid that wins.

What Happens When a Cost Lands on the Wrong Job?

The job that did not incur it looks worse, the job that did looks better, and both numbers get used — in bids, in commissions, and in the forecast. One error produces two wrong answers and there is no natural point at which either surfaces.

Another construction client of ours found a pre-blast charge of roughly $24,400 coded to one project that belonged to a different one, with the matching billable pass-through recorded alongside it. A further $32,000 was still assigned to a job nobody could confirm was correct by the end of the review. The company had set itself an explicit target of 99 percent coding accuracy, which is a reasonable goal and also a fair signal of where they were starting from.

The same review found a job carrying costs from one month against revenue recognised in the next, because a pay-application billing arrangement had not been reflected in how work was booked. The work was real, the revenue was real, and the margin on that job in either month was fiction.

Why Do Forecast Errors Survive Review?

Because a report that looks structurally normal does not get read closely, even when a single line inside it is absurd. Review is usually a check that the report exists and arrived on time, not that the numbers inside it are possible.

At the same construction client, a summary-sheet formula error valued one individual job event at roughly $4.5 million against a typical figure near $40,000. The formula existed precisely to expose anomalies of that kind. It produced the anomaly. Nothing in the process required anyone to look before the number was carried forward, and the same review found physical inventory off by roughly 150,000 units, which is well past the point where a rounding explanation applies.

The lesson is not that people were careless. It is that a review step with no defined test is not a review step, and it will pass an impossible number as readily as a correct one.

How Do You Tell Whether Your Margin Is Real?

Tie the job-cost report to the income statement on a fixed schedule, and treat any gap as a defect with an owner rather than as a reconciling item to be noted. The tie-out is what forces errors to surface on a schedule instead of at year end.

The version of this we see most often across construction prospects is a spreadsheet maintained alongside the accounting system to compensate for something the system is not doing. It works, right up until the two disagree and nobody can say which one is right — at which point the business has two sets of numbers and no tiebreaker.

If you want a quick diagnostic before any of that: pick one closed job and trace every cost on it back to the document that created it. Most companies find something in the first hour, and what they find is usually a rule problem rather than a software problem. Our page on construction-specific CFO work covers how this runs as an ongoing engagement.

What Should Change Before You Build the Forecast?

Fix attribution, then reconcile, then forecast, in that order. A forecast built on a margin percentage that has never been tested against the statements is a projection of an error, and it will be defended more confidently than the error itself because it has a model behind it.

At the construction client with the ten-point gap, the decisions that actually got made were unremarkable: a closing calendar with a review step before anything is finalised, bills coded on arrival instead of batched and coded later, WIP and job cost moved off a manual spreadsheet into the system of record, and a $62,000 discrepancy left deliberately unbooked until it was understood rather than plugged to make the statements tie.

That last one matters more than it looks. Plugging a difference to make two reports agree destroys the only signal you had that something is wrong.

The same client's thirteen-week forecast showed the consequence plainly. It opened at roughly $151,000 of cash, carried about $40,000 of expected weekly receipts against payroll near $25,000 a week and a monthly card balance around $29,000, and projected a weekly cash decline of about $48,000. The forecast only contained receipts that were already known, which is the correct way to build one and also the reason it looked as bad as it did. On one project, costs were being incurred months before a billable ticket or change order existed, with payment landing four to five months later.

A gap that size is not a cash problem on its own. It is what a cost-attribution problem looks like once it reaches the forward view, and no amount of collections effort closes it.

Why Does Backbone CFO Start With Coding Rather Than Reporting?

Because reporting only works downstream of correct attribution, and every reporting improvement applied above a coding problem makes the wrong number easier to read and more persuasive.

The instinct at this point is usually to buy software. Most contractors we work with do not have a software problem; they have a rule problem about who selects the cost code, at what moment, and against what document. New software applied to the same habits produces the same errors in tidier categories, and it costs a year.

We also resist starting with the chart of accounts for the same reason. It feels foundational and it is usually a detour from the question of whether cost is landing where the work happened.

Your Next Step

A Ten-Point Margin Gap Is Not a Reporting Difference. It Is a Coding Problem.

If your job-cost report and your income statement have never been formally tied out, you do not currently know which of your jobs make money. Profit discipline is one of the dimensions the Financial Control Score Quiz scores directly. Seven questions, about a minute, no cost.

Common Questions

Frequently Asked Questions

How Do You Improve Job Costing Accuracy in Construction?

Decide who selects the cost code and against which document, then tie the job-cost report to the income statement monthly. Accuracy is a rule problem before it is a software problem, and the monthly tie-out is what turns a silent drift into a visible defect.

How Do You Prevent Miscoded Expenses in Construction Job Cost Reports?

Code bills on arrival rather than batching them, and require the coder to work from the document that created the cost instead of from whichever job is currently open. Most miscoding happens at the moment of entry, not at review.

What Is Job Costing in Construction?

Assigning every cost on a project - labor, materials, subcontractors, equipment, and burden - to that specific job, so profitability can be measured per job rather than per period. Done properly it tells you which work to bid more of and which to stop pursuing.

How Do Construction Companies Track Job Costs in Real Time?

By coding costs as they arrive and pushing payroll allocations down to the individual job rather than stopping at a department. Real-time tracking fails most often at payroll, where the allocation structure is set once and never re-examined.

How Do Construction CFOs Manage Job Cost Tracking?

By treating the tie-out between job cost and the financial statements as a control rather than a report. The CFO's contribution is not producing the schedule; it is owning the rule that any gap between the two gets investigated rather than noted.