The company P&L hides what the jobs are doing
A GC running six jobs does not have one margin, it has six, and a company-level statement averages them into a number nobody can act on. Job costing is the fix, and it only works when the coding mirrors the estimate: every subcontractor invoice, material ticket, rental charge and site-labour hour lands on a job, under the cost code that matches the line you bid. Done that way, the monthly cost report reads as estimate-versus-actual by trade, and drift shows up while there is still time to claw it back with a change order.
- Direct costs by trade and division: subs, materials, rentals, and site labour carrying its full burden of CPP, EI and WSIB.
- General conditions: supervision, temporary power and fencing, bins, permits, the costs every job needs and no trade line owns.
- Overhead kept out of the jobs entirely and recovered deliberately in the markup, so job margins stay honest.
The half most books miss is committed costs. A signed subcontract is a cost you have agreed to before any invoice arrives, so a report built only from posted bills flatters every open project. We track commitments against budget, which turns cost-to-complete from a hope into a calculation.
WIP: what you billed is not what you earned
On any job that crosses a month-end, billings and earnings are different numbers, and the work-in-progress schedule reconciles them. Under percentage-of-completion, costs to date over total expected costs sets the percent complete; applied to the contract price, that gives the revenue actually earned. Set earned revenue against what you have invoiced and every open job is one of two things:
| Position | What it means | What to check |
|---|---|---|
| Overbilled | Draws are ahead of the work; the excess is a liability and part of the bank balance is unearned | That early profit is not being borrowed from the back half of the job |
| Underbilled | The work is ahead of the draws; you are financing the owner's project | Unapproved change orders, a missed draw, or an estimate quietly over budget |
Read monthly, the WIP catches profit fade, the margin that erodes as a job closes, months before the final invoice makes it official. It is also the schedule every bond desk and construction lender asks for first, so keeping it current is not extra work; it is the same work done once.
Draws, deposits and the holdback line
A progress draw is booked against the job its schedule of values describes, not dropped into revenue when the cheque clears, and a customer deposit is a liability until the work behind it exists. Then there is the 10% the Construction Act holds back from every payment. We carry holdback receivable as its own account, apart from regular receivables, because it collects on a different clock: after substantial performance is certified and the lien period runs out. That separation matters beyond tidiness, since release timing also drives when the revenue is taxed and when its HST becomes due, questions the corporate tax filing answers straight from these accounts.
Subs, suppliers and paper that survives a draw meeting
Most of a GC's cost side is other people's invoices, and their quality decides how defensible the books are. Everything flows through Dext, so each sub billing carries an HST number, a job, and its backup; input tax credits on 13% HST are only as strong as the paper behind them. Sub payments run through Plooto with approvals, leaving a trail that matches the payment certificates job by job.
The same records do double duty. They feed the T5018 slips every contractor must file for subcontractor payments, a filing with rules of its own that we handle on the tax side. And site payroll, salaried project managers and the WSIB remittances that follow wages all run inside the same engagement, so labour burden lands on the jobs that used it instead of pooling in an untraceable lump.
A monthly close, not a year-end excavation
None of this survives as a heroic once-a-year effort; it works as a rhythm. Our End-to-End Accounting service closes GC books monthly: banks and cards reconciled, costs coded to jobs in QuickBooks Online Projects or synced from Buildertrend or Procore where your field team already lives, the WIP schedule refreshed, HST tracked for the period, payroll remitted on time. Each month you see margin by job, overhead as its own layer, and cash split into what is yours, what is holdback, and what is HST that never was yours.
We run this from Mississauga for contractors across the GTA. The year-end T2 becomes the output of twelve honest closes rather than a reconstruction, and when a lender or surety eventually wants CPA-prepared statements, books built this way are exactly the raw material a compilation or review engagement starts from.
