You finished a project. The client paid. But when you look at your bank account, the profit you expected is not there.
Sound familiar?
This is what happens when you do not track job costing properly. You win work, deliver it, and then wonder why your margins are thinner than projected.
QuickBooks can fix this—but only if you set it up correctly from the start.
Why Job Costing Matters for Service Businesses
Job costing tells you what each project actually cost versus what you billed. Without it, you are guessing.
What job costing reveals:
- Which projects are profitable (and which are not)
- Which clients drain your resources
- Where scope creep is killing your margins
- How accurate your estimates really are
Most service businesses quote projects based on gut feel. They finish work, invoice, and move on—never learning whether that project was worth taking.
The result: They keep bidding the same way, repeating the same mistakes, and wondering why growth does not translate to profit.
The QuickBooks Job Costing Setup (Step by Step)
Here is how to configure QuickBooks Online for proper job costing:
Step 1: Turn on Project Tracking
- Go to Settings (gear icon) → Account and Settings
- Click Advanced
- Find Projects and toggle it On
- Click Save and Done
This enables the Projects feature, which is the foundation of job costing in QBO.
Step 2: Create Your First Project
- Go to Projects from the left sidebar
- Click New project
- Select the Customer (or create a new one)
- Enter the Project name (be specific: “Smith Kitchen Remodel Q1 2026”)
- Add notes and estimated start/end dates
Pro tip: Use consistent naming conventions. Include the client name, project type, and timeframe. This makes reporting easier later.
Step 3: Assign Income and Expenses to Projects
Every transaction related to a project must be tagged:
For income (invoices):
- When creating an invoice, select the Customer and Project
- The income automatically links to that project
For expenses:
- When recording a bill, expense, or check, select the Customer/Project in the details
- For credit card charges, assign them during categorization
For time:
- Use the Time feature to track labor hours
- Assign time entries to specific projects and service items
Step 4: Set Up Service Items for Labor Tracking
Create service items that reflect your different labor types:
- Go to Settings → Products and Services
- Click New → Service
- Create items like:
- “Senior Consultant Time” ($150/hour)
- “Project Manager Time” ($100/hour)
- “Technical Work” ($85/hour)
When you log time, select the appropriate service item. This gives you labor cost breakdown by role.
Step 5: Configure Classes for Expense Categories (Optional but Recommended)
Classes let you slice expenses by type across all projects:
- Go to Settings → Account and Settings → Advanced
- Enable Track classes
- Create classes like:
- Materials
- Subcontractors
- Travel
- Software/Tools
Now when you record expenses, assign both the Project and the Class. This lets you analyze where money goes across your entire business.
Reading Your Job Costing Reports
Once transactions are tagged, run reports to see profitability:
Profit & Loss by Customer
- Go to Reports
- Search for Profit and Loss by Customer
- Set your date range
- Review revenue and expenses by customer/project
This shows which clients are most (and least) profitable.
Project Profitability Report
- Go to Projects
- Click on any project
- View the Project Profitability summary
This shows:
- Total income
- Total expenses
- Unbilled time
- Gross profit
Time Activity by Employee
- Go to Reports
- Search for Time Activities by Employee Detail
- Review hours by project and team member
This reveals who is spending time where—and whether it matches your estimates.
Common Job Costing Mistakes (And How to Avoid Them)
Mistake 1: Inconsistent Tagging
The problem: Some expenses get tagged to projects, others do not. Your reports are incomplete.
The fix: Create a weekly review process. Pull all unassigned transactions and tag them. Make it a habit, not an afterthought.
Mistake 2: Ignoring Unbilled Time
The problem: Your team logs time, but it never gets invoiced. Work is done for free.
The fix: Run the Unbilled Time report weekly. Before closing a project, review all time entries and bill or write off appropriately.
Mistake 3: Overhead Allocation
The problem: You track direct costs but forget that every project should carry some overhead (rent, admin, insurance).
The fix: Calculate your overhead rate (monthly overhead ÷ monthly revenue). Apply it mentally when evaluating project margins. A project with 30% gross margin might only be 10% net after overhead.
Mistake 4: After-the-Fact Entry
The problem: Transactions are entered weeks or months later. Details are forgotten, tagging is rushed.
The fix: Enter expenses within 48 hours. Use the QuickBooks mobile app for receipts. The longer you wait, the worse your data gets.
What Good Job Costing Looks Like
When job costing is working:
- You know margins before billing. No surprises when the project closes.
- You can benchmark projects. Similar jobs should have similar margins. Outliers get investigated.
- You quote better next time. Historical data improves future estimates.
- You fire bad clients with data. When a client is consistently unprofitable, the numbers prove it.
A professional services firm we worked with discovered that their largest client—the one they thought was their best—was actually their least profitable. The volume was high, but the margins were terrible. They adjusted pricing on the next contract and recovered $40,000 in annual profit.
When to Go Beyond QuickBooks
QuickBooks job costing works for most small service businesses. But you might outgrow it if:
- You have 50+ active projects simultaneously
- You need multi-level project hierarchies
- You want integrated scheduling and resource planning
- You need advanced earned value reporting
At that point, consider dedicated project management and accounting software integrations (like Harvest, Monday, or dedicated PSA tools).
But for most businesses under $5M in revenue: QuickBooks job costing is enough. The problem is not the tool—it is the discipline.
Your Next Step
- This week: Turn on Projects in QuickBooks if you have not already
- Next week: Create your first project and start tagging transactions
- 30 days: Run your first Profit and Loss by Customer report
- 90 days: Review project margins and adjust your quoting process
The businesses that know their numbers outcompete the ones that guess. Job costing is how you stop guessing.
Where This Fits in the Constraint Pyramid
Job costing is a Layer 2 (Financial Visibility) activity. You cannot scale profitably if you do not know which work makes money.
But it connects directly to Layer 1 (Operations)—because costing accuracy depends on consistent time tracking and expense logging. If your team is not disciplined about recording their work, no costing system will save you.
And it sets up Layer 3 (Systems & Tooling)—once you know where money goes, you can automate the repetitive parts (expense categorization, invoice generation, report distribution).
Related reading:
- Why Your QuickBooks Cleanup Keeps Failing (Layer 2—fixing the foundation)
- Three Signs You Have Outgrown QuickBooks (Layer 2—when to upgrade)
- Case study: QuickBooks Stabilization for a Trade Contractor (Layer 2 in action)