QuickBooks Online Guide · Job Costing
How to use QuickBooks Online for job costing
Job costing in QuickBooks Online is the difference between knowing a job made money and hoping it did. Set up correctly, QBO tracks labor, materials, subs, and overhead against each project — and gives you real profitability, not just a company-wide P&L.
Who this is for: General contractors, remodelers, home builders, real estate developers, and specialty trades using QuickBooks Online Plus or Advanced.
Step-by-step
1. Turn on Projects and class/location tracking
In Settings › Account and Settings › Advanced, enable Projects and (optionally) Track classes. Projects is the QBO-native job container — use it for every active job. Classes are useful when you want a second dimension like division or entity.
2. Build a job-costing chart of accounts
Split Cost of Goods Sold into Labor, Materials, Subcontractors, Equipment, and Other Job Costs. Keep overhead out of COGS. Every job-cost transaction should land in one of these buckets so gross profit by job is meaningful.
3. Set up Products & Services as cost codes
Create two-sided items (income + expense) for each cost code — Framing, Drywall, Electrical, Permits, etc. Map each item to the right COGS and income accounts. This is what makes an Estimate vs. Actual report work in QBO.
4. Create a Project for every active job
Under Projects, add each job with the customer, start date, and value. All future bills, expenses, checks, and timesheets get tagged to that Project so QBO can roll up costs automatically.
5. Code every cost to a Project and item
On bills, expenses, and checks, use the Item details section (not just Category details) and select the Project in the Customer/Project column. Skipping the item or the project is the #1 reason job reports come out blank.
6. Track labor with timesheets tied to Projects
Turn on Time tracking, add employees and vendors as time-trackable, and enter time against the Project and service item. If you run payroll in QBO, labor cost flows straight to the job.
7. Review Project reports weekly
Use Project Profitability, Unbilled Time and Expenses, and the Estimate vs. Actual report. Review weekly — not at year-end. Catching a slipping job in week 3 is a fix; catching it in month 6 is a loss.
Pro tips
- Use Projects for jobs and Classes for divisions/entities — don't overload one dimension.
- Rename the default 'Services' income account to something like 'Construction Income' so reports read cleanly.
- Set default markup on items so change orders bill correctly.
- Attach the signed contract and change orders to the Project for one-click access.
Common pitfalls
- Coding costs to Categories instead of Items — Estimate vs. Actual won't work.
- Forgetting to assign a Project on bills and expenses — the cost disappears from job reports.
- Mixing overhead (rent, office, insurance) into COGS — gross profit becomes meaningless.
- Using sub-customers instead of Projects — legacy pattern, harder to report on.
Frequently asked questions
Want us to handle this for you?
Other QuickBooks Online guides
- Why hire an outsourced accountant vs. an in-house hire
- Why hire a Washington-based accountant
- Bookkeeping for contractors: a practical monthly system
- Percentage of completion accounting, explained for contractors
- Contractor bookkeeping software: how to choose the right stack
- QuickBooks Desktop to Online conversion: a step-by-step plan
- Why reconciliations matter (and how to do them right)
- How to use QuickBooks Online for sales tax
- Buildertrend's QuickBooks Online integration doesn't handle WA sales tax correctly
- How to use QuickBooks Online for payroll
- How to use Products & Services mappings in QuickBooks Online
- Job costing bookkeeping vs. regular bookkeeping
Need a hand setting this up in QuickBooks Online?
We configure QBO for construction and real estate every week. Book a consultation and we'll get it right the first time.
Book a consultation
Book a call with Ruvim
Tell us a little about your business and we'll follow up to schedule a call — usually same day.
Prefer to reach out directly? We answer most inquiries within a few hours during business days.
Email us
Info@readyaccounting.coCall us
(253) 367-3672