Skip to main content
2,200+ contractors in the research universe benchmarked. Do you know your gross profit per labor hour? See where you stand →
Level
Job Costing

How to Set Up Job Costing in QuickBooks for Contractors

Sam YangEx-CFO across trades, SaaS & services · $2.5B in total PE/banking transactions · Stanford MBA
Updated October 8, 2026·Originally published July 9, 2025·12 minute read
Share

From Level's proprietary contractor research

QuickBooks job costing can work, but a report is only as complete as the job IDs on its invoices, bills, time entries, materials, and subcontractor costs. Here is the setup and the control process that keeps it trustworthy.

Pattern across 2,200+ contractors, $13.25B in job revenue analyzed

12 minute readJob Costing

The short answer

To set up contractor job costing in QuickBooks, create a consistent customer and project structure, map revenue and direct-cost accounts, require a job on every invoice, bill, time entry, and subcontractor cost, reconcile the field system to QuickBooks, review unassigned transactions, and handle WIP separately on long-term projects. QuickBooks can report only the costs actually assigned to each job.

Key takeaways

  • A job-profitability report is incomplete when revenue, labor, materials, or subcontractor costs are missing a project assignment.
  • Overhead allocation is the step that bites. $800K of overhead over 40,000 labor hours is $20/hr, and the separate fictional $20K, 300-hour job below moves from 45% direct-cost gross margin to 15% after its $6K allocation.
  • Across Level's 2.2M+ quote-line observations, median quoted line margin was 47.7% for labor and 31.5% for materials. These are quoted, cross-trade observations, not realized job margins or labor cost shares. Tag supported labor cost to the job.
  • Job costing earns its keep when jobs vary materially in labor, materials, scope, or billing method. Company size alone is not the deciding factor.

QuickBooks Online Projects can track income, expenses, and labor costs by project. The month-end control is equally important: review unassigned job costs before treating any project margin as complete.

Before You Trust a QuickBooks Job-Profitability Report

A populated report is not proof that the job data is complete. Before using it to price work or pay bonuses, confirm that:

  1. Every invoice and credit is assigned to the correct customer and project.
  2. Bills, card charges, purchase orders, time entries, and subcontractor costs carry the same job ID.
  3. Revenue and direct costs from the field system reconcile to QuickBooks for the same period.
  4. The unassigned-cost queue is reviewed before month-end close.
  5. Long-term projects use a separate WIP process so billing, revenue recognition, and work completed are not treated as the same event.

A software sync moves fields. It does not prove that the crew selected the right job, that every cost crossed the integration, or that the accounting period matches the operational report.

Why Most Contractors Don't Know Which Jobs Make Money

Level's proprietary contractor research provides a recorded-margin distribution, not a test of report completeness. Across 1,747,089 completed jobs from 1,791 companies, the median recorded job gross margin was 44.3%. Before treating a high recorded margin as a pricing result, verify that labor, materials, and subcontractor costs are assigned to the same job as revenue.

A matched job-cost review can reveal something uncomfortable. A job they thought was profitable was actually underwater once you allocate overhead. A customer they love is actually their worst margin account. A service type they've been pushing is diluting their overall profitability.

Job costing fixes this. It's the practice of tracking every dollar of revenue and cost against a specific job, so you can see true profit per job, per customer, per service type.

And you can set it up in QuickBooks. Here's how.

QuickBooks Online vs. Desktop: Which Is Better for Job Costing?

QuickBooks Desktop (QBD) has historically been better for contractors because of its dedicated "Job Costing" reports and the ability to create sub-customers as jobs. Many established contractors still use QBD for this reason.

QuickBooks Online (QBO) supports project-oriented workflows and configurable reporting, subject to the subscription and connected apps in use. Intuit's current documentation says Projects is available in QuickBooks Online Plus and Advanced. Advanced adds estimate-versus-actual reporting, while more detailed construction budgeting requires Advanced with the Construction add-on or Intuit Enterprise Suite. Whether QBO is sufficient depends on transaction volume, WIP requirements, approval controls, and the reliability of the field-system integration, not a revenue cutoff.

FeatureQBOQBD
Customer-linked projects or jobsProjects linked to customersCustomer:Job records
Projects featurePlus and AdvancedUses jobs natively
Class trackingPlan-dependentYes
Job costing reportsLimited, needs customizationBuilt-in
Time trackingYesYes
Multi-user accessCloud-basedServer or hosted
IntegrationsCloud app ecosystemDesktop-compatible connectors

New US buyer boundary: Intuit stopped new subscriptions for Desktop Pro Plus, Premier Plus, Mac Plus and Enhanced Payroll after September 30, 2024; existing renewals were preserved. This is not a universal Desktop shutdown. Check the currently available product and your region before selecting a path. Official Intuit notice.

Our recommendation: Choose the QuickBooks version that supports your current reporting and integration requirements, then test the complete transaction path before migrating. Product capabilities and plan availability change, so verify the current QuickBooks documentation before buying or switching.

Step 1: Set Up Your Chart of Accounts

Before you can track costs per job, your chart of accounts needs to separate costs into categories that matter for contractors.

Revenue accounts:

  • Service Revenue
  • Install/Project Revenue
  • Maintenance Agreement Revenue
  • T&M (Time & Materials) Revenue

Cost of Goods Sold (direct costs):

  • Direct Labor (field technicians, installers)
  • Materials & Parts
  • Subcontractor Costs
  • Equipment Rental
  • Permits & Fees

Overhead (indirect costs):

  • Office Salaries
  • Rent & Utilities
  • Vehicle Expenses (fleet)
  • Insurance (GL, WC, auto)
  • Marketing
  • Software & Subscriptions
  • Depreciation

The key distinction: direct costs are assignable to a specific job. Overhead is not. You'll allocate overhead later.

Step 2: Create Customers and Projects

In QBO, create a Project and link it to the customer. In QuickBooks Desktop, create a Customer:Job record for each job. A consistent hierarchy can look like this:

ABC Property Management (Customer)
  ├── ABC - HVAC Install Building A (Job)
  ├── ABC - Service Call 4/1 (Job)
  └── ABC - Maintenance Q2 (Job)

Naming convention matters. Use a consistent format:

[Customer Abbreviation] - [Job Type] [Description] [Date or #]

This makes it easy to search, sort, and report. When you have 500 jobs in a year, consistent naming is the difference between usable data and chaos.

Free benchmark review

See how your margins benchmark.

Start with a free conversation about your priorities. With agreed access to the relevant records, we compare your numbers with applicable benchmarks and identify what to review first.

Step 3: Assign Every Transaction to a Job

This is where discipline matters. Every invoice, every bill, every time entry must be tagged to a job.

Revenue: When you create an invoice, assign it to the project or Customer:Job record, not only the parent customer.

Materials: When you enter a bill from your supply house, split it by job. If one PO covers parts for three jobs, create three line items on the bill, each assigned to the correct job.

Labor: Use QuickBooks Time, Workforce, or another connected time system. Every hour logged by a field technician needs a project assignment. Intuit documents two QBO labor-cost views: posted payroll expenses after payroll runs, and estimated hourly costs for a faster but less exact view between payroll runs.

Subcontractors: Bills from subs should be assigned to the job they worked on.

An unassigned or wrongly assigned bill can affect job profitability. Investigate missing records, mappings, period scope and manual assignments rather than assuming negligence is the cause.

Step 4: Handle Overhead Allocation

Here's where it gets real. Your direct costs (labor, materials, subs) tell you the gross margin on each job. But they don't include the cost of running your business.

The overhead rate method:

  1. Calculate total annual overhead (all indirect costs)
  2. Calculate total annual direct labor hours
  3. Overhead rate = Total Overhead / Total Direct Labor Hours

Example:

  • Annual overhead: $800,000
  • Annual direct labor hours: 40,000
  • Overhead rate: $20/hour

Now every job gets charged $20 per labor hour for overhead. A job with 200 labor hours gets $4,000 in overhead allocation.

Why this matters: In a separate fictional job, $20,000 revenue and $11,000 direct cost produce $9,000 gross profit, or 45%. At 300 direct labor hours and the illustrative $20/hour overhead rate, the $6,000 allocation leaves $3,000, or 15%, before any other excluded expenses and tax. This differs from the 200-hour allocation example above. Level's pooled quote-line dataset reports median quoted margins of 47.7% for labor and 31.5% for materials; those are not realized job margins. Price from your own selling amounts, complete costs and consistent overhead treatment rather than prescribing a markup from quote medians.

If you're not sure whether your cash position can absorb overhead correctly, read our guide on how retainage kills contractor cash flow. Retainage timing is a separate cash-flow question from overhead allocation.

Step 5: Run the Reports

In QBO, run these reports weekly or monthly:

Profit & Loss by Customer: Shows revenue and direct costs per customer. Filter by date range. This is your first view of who's profitable.

Job Profitability Detail: (QBD has this built in. In QBO, use the "Profit and Loss by Customer" report and drill into sub-customers.) Shows revenue minus direct costs per job.

Unbilled Charges by Customer: Review supported items marked billable that have not been invoiced. This view is not a complete list of all job costs or all uninvoiced work; reconcile the field evidence separately.

Current QuickBooks product sources

QuickBooks features and navigation change. These official Intuit pages were checked in September 2026:

Those sources verify product behavior. The contractor completeness and margin observations above come from Level's proprietary contractor research and use the stated metric cohorts.

Common Mistakes

1. Not tracking labor by job. If your techs aren't logging hours against specific jobs, you're missing your biggest cost. The actual share depends on the work mix, cost classifications and burden. Measure it from your own complete costs.

2. Dumping everything into one "Materials" account. Break it out. You need to know if a job's materials cost was $5K or $50K without digging through individual transactions.

3. Ignoring WIP (Work in Progress). If you bill monthly on a project that takes 6 months, your financials are misleading unless you track WIP. Revenue recognized doesn't equal cash collected doesn't equal work completed.

4. Not reviewing regularly. Job costing data is only useful if someone looks at it. Monthly at minimum. Weekly is better. The contractor who reviews job profitability every Friday makes better decisions than the one who looks at it in January.

What Job Costing Reveals

Once you have 3-6 months of clean job costing data, you'll see patterns:

  • Which customers are actually profitable (your biggest customer might be your worst margin)
  • Which service types earn the best margin (service calls vs. installs vs. T&M)
  • Which techs are most productive (labor efficiency by employee)
  • Where materials waste happens (comparison of estimated vs. actual materials)
  • Whether your pricing is right (investigate price, scope, timing and complete costs when recorded margin is low; the percentage alone does not identify underpricing)

This is the data that turns a contractor from "we had a good year" to "we know exactly why."

When Job Costing Isn't Worth the Effort

Not every contractor needs a complex job costing system. A single-service company with a small crew and consistent work may get enough decision value from a clean P&L by service line. Complexity, not revenue alone, should decide the reporting design.

Similarly, if 95% of your work is identical residential service calls at flat-rate pricing, your margins are embedded in the price book, not in job-level variance. Tracking every call as a separate "job" adds friction without much signal.

Job costing becomes essential when you have multiple service types (installs vs. service vs. T&M), multiple crews or divisions, or jobs that vary significantly in scope and margin. Those conditions can appear at any company size.

If you're at the stage where job costing matters but nobody reviews job margins weekly, the gap isn't data entry. It's a CFO function that turns job cost data into pricing and crew decisions.


When two systems report two different margins

If your field software and QuickBooks disagree about the same job, the cause is usually one of three structural differences rather than a data-entry error. They are separated out in Why Your Field Software Numbers Don't Match Your Accounting.

The Bottom Line

Job costing in QuickBooks is usually easier to configure than to maintain. Every person and integration that touches a transaction needs to preserve the correct job assignment, and the close process needs to reconcile missing or mismatched records every period.

Where job mix, scope or crew cost vary materially, job-level evidence can improve pricing and capacity decisions. Confirm what source records exist and what remains missing before choosing the reporting design.

Q: Can Level help me set up job costing? A: Depending on your systems, edition, plan and permissions, we connect to or ingest QuickBooks and field-service records, then reconcile job identities and costs with human review. If required costs are missing, the job remains unmeasured. The first audit is free; its output identifies supported results and the evidence still needed, rather than promising profitability visibility for every job.

Q: What if I'm already on QuickBooks but my data is messy? A: First scope missing records, assignments and reconciliation differences. Clean the relevant chart of accounts and tags, then test a permitted recurring workflow. Historical repair needs depend on reporting, tax, lender and decision requirements; a fixed five-year exclusion is not appropriate for every case.

Q: What should I be tracking beyond job-level P&L? A: Job costing is step one. The next layer is understanding why revenue-only job reports create phantom margin, because cost data is not being entered. Layer in WIP schedules for commercial work, and build a monthly P&L review process that connects your job-level numbers to your financial statements. That's the progression from bookkeeping to actual financial management.

Share

Get the next one

Want next week's benchmark in your inbox?

One email a week. Real numbers from 2,200+ contractors in the research universe. No fluff. Unsubscribe anytime.

Sam Yang

About the author

Sam Yang

Founder & CEO

Founder of Level, the always-on finance team for contractors, service businesses, and ecommerce brands. Ex-CFO across trades, SaaS, and service businesses. 4 years as Director of Growth Product at BuildOps, building financial tooling used by 1,000+ commercial contractors. Four years in PE and investment banking rolling up and acquiring service businesses, $2.5B in total transactions including M&A and IPOs. Stanford MBA, Brown undergrad. The Level founding team's analysis of 2,200+ contractors ($13.25B in job revenue) across operating, private-equity, and CFO roles anchors the Level Index benchmark research.

LinkedIn

See how your margins benchmark.

Start with a free conversation about your priorities. With agreed access to the relevant records, we compare your numbers with applicable benchmarks and identify what to review first.

2,200+ businesses benchmarked$13.25B in revenue analyzedWeekly action cadence

No credit card. Start with a 15-min call. We only follow up if we can actually help.

No commitment. Real numbers, not generic advice.