What job cost accounting does
A general ledger tells you whether the company made money. Job cost tells you which jobs made it and which lost it. Every cost transaction (a vendor bill, a subcontractor pay application, a timesheet, an equipment charge, a material receipt) carries a job, a cost code and a cost type, and every billing carries the job and the schedule-of-values line it draws down. The two sides meet in the job cost report and the WIP schedule.
- Estimate vs. actual by cost code, updated as costs post
- Committed costs (open purchase orders and subcontracts) alongside incurred costs
- Percent complete and projected cost at completion per job
- Over/under billing per job, which feeds the balance sheet
- Margin fade: where the projected margin moved since the last period
The structure: jobs, phases, cost codes, cost types
Job cost is only as useful as its coding structure. Most contractors use a three-level scheme.
| Level | What it is | Example |
|---|---|---|
| Job (project) | The contract you are being paid for | Harbor Point parking structure |
| Phase / cost code | The scope element, usually from a standard list such as CSI MasterFormat or your own | 03300 Cast-in-place concrete |
| Cost type | The kind of cost inside a code | Labor, Material, Subcontract, Equipment, Other |
Keep the cost code list stable across jobs. Estimators, project managers and accounting all need to code to the same list, or estimate-vs-actual comparisons stop meaning anything. A new job should copy the company list and disable what it does not need, not invent new codes.
Labor burden and why it belongs in job cost
A field employee’s hourly wage is not the cost of that hour. Payroll taxes, workers’ compensation, union fringes, benefits and paid time off typically add 25–45% on top of the wage, and some trades run higher. If burden is booked to overhead instead of the job, every job looks more profitable than it is, and bids built from that history are underpriced.
The practical approach: compute a burden rate per employee class (or per union agreement), apply it to job-costed hours when payroll posts, and true it up quarterly against actual burden paid. Payroll itself can run in a payroll provider; what matters is that the job-costed hours and burden land in the ledger against the right job and cost code.
Committed cost: the number most systems skip
Incurred cost is what has been billed to you. Committed cost is what you have agreed to pay: open purchase orders and subcontracts, including approved change orders. A job that is 40% complete with 95% of its budget committed is in trouble even if only 35% has been incurred. Any system that cannot show committed cost next to incurred cost is forcing your project managers to keep that number in a spreadsheet.
Reports a contractor should run every month
- Job cost summary: budget, committed, incurred, projected at completion, variance, by job
- Job cost detail by cost code for any job over its budget threshold
- WIP schedule: contract value, estimated cost, cost to date, percent complete, earned revenue, billed to date, over/under billing
- Margin fade report: projected margin this period vs. last period, with the cost codes that moved it
- Committed cost report: open POs and subcontracts by job, aged
Where job cost goes wrong
- Costs coded to the job but not the cost code (“misc” becomes the biggest line)
- Burden left in overhead
- Change orders tracked in the field but not in the budget, so variances look worse than they are
- Subcontractor pay applications entered as the full invoice before they are approved, overstating incurred cost
- Re-keying: estimate in one system, POs in another, AP in a third, with month-end spreadsheets stitching them together
- Accrual timing: costs posted when the check is cut instead of when the work was done, which breaks percent complete
How Forge ERP handles job cost
In Forge, the job budget is created from the awarded estimate, cost codes are shared across modules, and every purchase order, vendor bill, subcontractor pay application and time entry carries job, cost code and cost type at the point of entry. Committed and incurred cost sit side by side on the job, and posting runs through a governed ledger so job cost and the general ledger cannot disagree. The assistant can prepare a job budget or a schedule of values from the estimate for review; approval and posting stay with the people who own them.
Forge ERP covers projects, purchasing, accounts payable, billing and receivables, job cost and WIP, reporting and close. Payroll runs in your payroll provider and lands in Forge as job-costed labor with burden. Forge is in beta with a 14-day free trial.
Frequently asked
- Is job cost accounting the same as project accounting?
- Mostly. Project accounting is the broader term used in professional services and engineering; job cost accounting is the construction-specific version, with cost codes, committed cost, retainage and percentage-of-completion built in.
- Can QuickBooks do job cost accounting?
- QuickBooks can tag transactions to customers and jobs, and QuickBooks Enterprise adds job cost reports, committed cost and a WIP report. Where it strains is cost codes with cost types, labor burden, subcontract management and approval workflow, which is usually why contractors move off it between roughly $5M and $20M in revenue.
- What is the difference between committed and incurred cost?
- Incurred cost is what has been billed to you or earned by your people. Committed cost is what you have contracted to pay but have not yet been billed for: open purchase orders and subcontracts. You need both to project cost at completion.