Two revenue engines, one set of books
The first thing we set up for an electrical contractor is the split between service work and contract work, because they earn money in opposite ways. Service calls are small tickets at strong margins, invoiced on completion and often paid before the van leaves the street. Contract work is quoted weeks ahead, billed in progress draws with a 10% holdback under Ontario's Construction Act, and settled long after the panels are energized. Run both through one undifferentiated income line and a profitable service division can quietly subsidize contract bids priced too thin.
So the chart of accounts carries the split from day one: revenue, direct labour and materials by stream, with a gross-margin line for each on every monthly statement. When contract margin drifts for two quarters in a row, you see it while there is still time to reprice the next bid, not after year-end when the money is already gone.
Job costing that answers to the estimate
A quote is a promise about costs, and job costing checks whether the promise held. Every contract job gets a cost record that mirrors the estimate line by line:
- Materials coded to the job from the wholesaler invoice, not from the month-end statement.
- Labour at loaded cost: wages plus CPP, EI, vacation pay and WSIB premiums, not just the hourly rate on the pay stub.
- ESA notification fees booked to the job they belong to, so permit-heavy work shows its true cost.
- Lifts, rentals and disposal, the small invoices that erase margin when they hide in overhead.
- Change orders invoiced as they happen, because absorbed extras are the most common reason a job that felt busy files thin.
If dispatch runs on Jobber or ServiceTitan, we map invoices and timesheets into QuickBooks Online instead of re-keying them, and Dext captures the supplier paperwork behind every input tax credit. The point is a cost-to-date you can hold against the estimate while the job is still open, when a conversation with the GC can still fix it.
Service work gets costed too, just differently: a flat-rate call is only profitable if you know what a tech-day actually costs, van and all. We keep that number current so the price book rests on your costs, not on what the shop down the road charges.
The wholesaler statement is not a bookkeeping system
Most shops buy on house accounts at electrical wholesalers, and the big monthly statement is where job costing usually dies. We post from invoices and packing slips so each purchase lands on its job while wire and breaker prices are still fresh enough to compare against the quote. Copper moves; a job priced in March needs its materials checked in June, and books that only see the statement total can never tell you that.
The receivable side gets the same discipline. Draws, retained holdbacks and service invoices age very differently, so the receivables report separates them instead of blending a 10% holdback due next quarter into a number that looks overdue.
Truck stock gets a simple policy: expense it on replenishment, count it periodically, and keep year-end inventory a number rather than an argument. Here is how the two sides of the trade behave in the books:
| What differs | Service calls | Contract work |
|---|---|---|
| Billing | Invoiced on completion, same day | Progress draws, 10% holdback |
| Cash | Card or e-transfer within days | 30 to 60 days after each draw |
| Margin driver | Charge-out rate and truck efficiency | Estimate accuracy and change orders |
| Books must show | Revenue per tech and callback rate | Cost to date against estimate, billings against work done |
What lands on your desk each month
Our End-to-End Accounting service puts bookkeeping, crew payroll, financial reporting and tax filing under one roof. Each month you get reconciled books, payroll run with source deductions remitted on time, and margin by stream and by job. HST is charged at 13% on every invoice, residential and commercial alike, with input tax credits claimed on materials, fuel and tools, so the quarterly remittance comes from real numbers instead of a bank-balance guess.
At year-end the same file flows straight into the T2 through Corporate Tax Filing, with no clean-up bill, and the T5018 slips a builder files on you reconcile to revenue that was tracked properly all year. We work with contractors across Mississauga and the GTA, often buying from the same wholesale counters, and every engagement starts with a free 15-minute discovery call and a written quote.
