How do I set up job costing in QuickBooks Online for a general contractor?
QuickBooks Online can handle job costing for general contractors, but a default setup won’t get you there. The out-of-the-box configuration treats every business the same, which means you’ll get financial statements that show total revenue and total expenses without any visibility into whether individual jobs are making or losing money. Getting it right requires configuring several features to work together.
The foundation is sub-customers. Create a parent customer for each client, then add each job or project as a sub-customer underneath them. Every transaction you enter (bills from suppliers, subcontractor invoices, labor costs, material purchases) gets tagged to the specific sub-customer it belongs to. This is what allows you to pull profitability reports at the job level. If you skip this step, your books will show that you spent $14,000 on lumber last month but won’t tell you which jobs consumed it.
Enable the Projects feature on top of sub-customers. Projects give you a dashboard view of each job with income, expenses, and profitability in one place. It’s a useful visual layer, but it has real limitations for construction. You can’t run work-in-progress reports natively, and progress billing with retainage requires workarounds. Projects work best as a complement to sub-customers, not a replacement.
Classes are where you separate cost categories. Set up classes for labor, materials, subcontractors, equipment, and overhead. When you record a bill or expense, you tag it with both the sub-customer (which job) and the class (what type of cost). This lets you see not just total spend per job but how that spend breaks down. If materials are eating 60% of a job’s budget when you estimated 45%, you’ll catch it before the job is done instead of after.
Your chart of accounts also needs to reflect how construction companies actually operate. Cost of goods sold should break out into the same categories as your classes. Revenue accounts should separate contract income from change orders. Retainage receivable and retainage payable need their own accounts. A generic chart of accounts lumps everything together and hides the details that matter.
For estimated vs. actual tracking, enter your job estimates into QBO so you can compare budgeted costs against actual costs as work progresses. This is the core of construction job costing and it’s what tells you whether a job is on track or heading toward a loss. Without estimates in the system, you’re just recording history instead of managing profitability.
The honest reality is that QBO has limits for contractors. It doesn’t produce WIP schedules, which banks and bonding companies often require. Percentage-of-completion reporting takes manual work outside the system. And if you have dozens of active jobs with complex billing structures, you’ll feel the friction. But for most general contractors running a manageable number of projects, a properly configured QBO file handles the job.
The configuration is the hard part. Most contractors who set this up themselves miss pieces, and those gaps compound over time into reports that don’t match reality. If you’re handling construction job costing in Phoenix and want QBO done right from the start, it’s worth having someone who understands both the software and how GCs actually run their business do the initial setup. Getting it right on the front end saves months of cleanup later.
Your Valley of the Sun Bookkeeper
The Next Step:
A Quick Conversation
Tell us what's going on with your books. We'll listen, ask a few questions, and give you a clear quote with no surprises.
More Questions
How do I track commission splits and brokerage fees as a real estate agent on Schedule C?
Report the full gross commission on Schedule C line 1, then deduct the brokerage split as a commission expense. Never net them. Your 1099 shows the gross amount, and your return must match.
Read answerWhat expense categories should I set up in QuickBooks for a cleaning business?
Start with cleaning supplies as cost of goods sold, then set up operating expense categories for labor, vehicles, insurance, equipment maintenance, marketing, uniforms, licensing, phone, and office costs. You should also separate residential and commercial income if you do both.
Read answerWhat is the true cost of running payroll in-house vs outsourcing to a payroll service?
In-house payroll software runs $45-125/month plus 2-8 hours of your time each pay period. Outsourced full-service payroll typically costs $50-200/month and handles everything. The real difference is risk. One missed payroll tax filing can cost more than a full year of outsourced payroll.
Read answerWhat bookkeeping system should I use to track insurance reimbursements by payer for my medical practice?
Use your practice management system for claims and aging, then reconcile monthly into QuickBooks Online. Set up each insurance payer as a customer in QBO so you can track payments, denials, and adjustments by payer.
Read answerWhat bookkeeping records does a licensed contractor need to keep for state board compliance?
Arizona's Registrar of Contractors requires financial records that demonstrate solvency. That means keeping job contracts, invoices, receipts, payroll records, insurance certificates, and license renewal documentation with a minimum three-year retention period.
Read answerHow do I separate personal and business expenses as an owner-operator leased to a carrier?
Open a dedicated business bank account and route all carrier settlements there. Pay yourself through owner's distributions, use a business credit card for expenses, and track every deductible category separately. This keeps your books clean and prevents missed deductions at tax time.
Read answer