Contractor Bookkeeping in Ontario: Job Costing Basics That Prevent Tax Surprises
Published July 19, 2026 · By Vijay Goswami
If you're a contractor in Ontario, your numbers can look “fine” in the bank account and still be wrong on paper. The most common reason: no job costing. Without job costing, you don't know which jobs are profitable, you miss expenses, and tax time becomes a scramble.
This post explains a simple job costing system contractors can use to keep bookkeeping clean, stay CRA-ready, and avoid surprises.
Want help setting this up?
Book a call →What is job costing (plain English)?
Job costing means tracking income and expenses per job/project, not just “for the month.”
So instead of only knowing “I made $25,000 this month,” you know:
- Job A profit
- Job B profit
- Job C profit
…and which job is quietly losing money.
Who this applies to
Ontario contractors and trades businesses, including:
- general contractors
- renovation companies
- electricians, plumbers, HVAC
- landscaping, fencing, roofing
- subcontractors who invoice clients directly
The minimum job costing setup (simple and fast)
You only need 4 fields to start:
- Job name / Job code (example: “Smith Kitchen Reno”)
- Income (invoices paid for that job)
- Direct costs (materials, subcontractors, permits)
- Labour (your labour estimate or payroll cost if you run payroll)
If you do nothing else, do this. It instantly improves clarity.
What to track weekly (contractor checklist)
Once a week (15–20 minutes), update:
- Invoices issued + paid (by job)
- Materials purchased (attach receipts, note which job)
- Subcontractor invoices (who, what job, how paid)
- Fuel + vehicle costs (keep receipts; track business use)
- Tools/equipment purchases (note which job)
- Permits/inspection fees (note which job)
This weekly routine prevents the “year-end clean-up nightmare.”
The 5 contractor expense categories CRA questions most
To stay CRA-ready, keep clean support for:
- Materials (supplier invoices matter)
- Subcontractors (names, invoices, proof of payment)
- Vehicle (mileage log + receipts)
- Tools/equipment (what it's for + invoice)
- Meals (business purpose + detailed receipt)
If receipts are missing or unclear, claims get weak fast.
Common contractor bookkeeping mistakes (Ontario)
- Buying materials and not assigning them to a job
- Mixing personal and business spending
- Paying subcontractors without clear invoices (creates T4A confusion later)
- No mileage log (vehicle claims become risky)
- Tracking “cash jobs” loosely (CRA risk increases)
- Waiting until HST/T2 deadlines to reconcile accounts
Simple job costing example (so it clicks)
Job: Basement Renovation
- Income: $18,000
- Materials: $6,200
- Subcontractor electrician: $1,800
- Permits: $250
- Net before labour/overhead: $9,750
Now you can compare jobs and spot problems early.
FAQs
1) Do I need software for job costing?
No. A clean spreadsheet works if you update it weekly and keep receipts organized.
2) Should I open a separate bank account per job?
Not necessary. Better: one business account + job tracking in your bookkeeping.
3) What if I'm behind on bookkeeping?
Start with the last 30–60 days, reconcile bank/credit card, then assign transactions to jobs.
4) How does this help with HST and taxes?
Cleaner job costing = cleaner income/expense tracking = easier HST filing and fewer surprises at T2 time.
Want a CRA-ready contractor bookkeeping system set up properly?
If you want job costing + HST tracking done cleanly (without stress), book a call and we'll set up a simple system for your contracting business.
Book a Call with Vijay