Cost Code Audit & Cleanup

QuickBooks Profit and Loss by Job: The Report Every Builder Needs

The QuickBooks Profit and Loss by Job report shows gross profit for each active project — what you billed, what you spent on direct costs, and the difference. To use it correctly in construction, every expense and revenue transaction must be assigned to a Customer:Job in QuickBooks. Most builders have this set up incorrectly: some transactions are assigned to jobs, others aren't, and the report produces meaningless partial data. When set up correctly, the P&L by Job is the report that tells you which project types are actually profitable, which foremen produce the best margin, and which clients cost you money on every job. Every builder running QuickBooks needs this report working correctly.

The Short Version

I audit QuickBooks setups for construction companies regularly. The single most common finding: the Job Profitability Report exists in the software, the builder has opened it at least once, and it shows completely wrong numbers because job cost assignment is inconsistent. Half the materials purchases are assigned to jobs. Labor is not. Subcontractor invoices sometimes are, sometimes aren't. The report shows patchwork partial data — and most builders look at it, decide it's wrong, and stop looking. Here's how to fix it.

Sound Familiar?

Your QuickBooks job profitability reporting has a setup problem if:

What We Found

How QuickBooks Job Profitability Actually Works

QuickBooks Online and Desktop both generate job-level P&L reports — but they only show accurate data if every revenue and direct-cost transaction is assigned to a Customer:Job at the point of entry. This is the part that breaks down in most construction company setups.

Here's the architecture: in QuickBooks, every project you run should be set up as a Customer:Job (QuickBooks Desktop) or a sub-customer (QuickBooks Online). When you enter a bill, a check, a payroll expense, or a credit card charge that relates to a specific project, you assign it to that job at the time of entry. When you create an invoice or receive a payment, you assign it to the same job. The P&L by Job then pulls all revenue and costs associated with each job and shows you gross profit by project.

The Three Places Job Assignment Breaks Down

Breakdown Point 1: Payroll and Labor

This is the most common failure. If you run payroll through QuickBooks Payroll or a third-party processor, payroll expenses often hit the company-level profit and loss — not individual jobs. The fix depends on your payroll setup, but the core solution is job-costing your payroll: either entering time against jobs within QuickBooks using the time tracking feature, or using a weekly allocation to distribute total labor cost across active jobs based on actual hours worked per project.

Without labor in the job P&L, you're seeing revenue minus materials and subcontractors — which dramatically overstates job profitability. A project that looks like it made $45,000 gross profit might actually have made $12,000 once labor hours are allocated correctly.

Breakdown Point 2: Materials and Supplier Invoices

Every vendor bill for job-specific materials should be assigned to a Customer:Job in QuickBooks when the bill is entered. This breaks down when the bookkeeper isn't on-site and doesn't know which materials went to which job, or when one vendor invoice covers materials for multiple jobs and needs to be split across jobs.

The "Flying Blind" Problem in Job Reporting

Running a construction company without real-time financial data — not knowing which jobs are profitable, what the true overhead burden is, or what net margin actually looks like. The P&L by Job fixes this — but only if it's set up correctly. Partial job assignment produces partial visibility, which is worse than no visibility because it creates false confidence in numbers that don't reflect reality.

Breakdown Point 3: Overhead Allocation

Job-level P&L in QuickBooks shows gross profit — revenue minus direct job costs. It does not automatically allocate overhead (insurance, equipment, office costs) to individual jobs. This is correct and by design: gross profit by job is useful; allocating overhead to jobs requires a separate calculation using your overhead rate. Know what you're looking at: P&L by Job shows gross margin, not net margin. You need your company-level P&L for net margin after overhead.

🗂
Free checklist: Cost Code Audit — find the duplicates killing your reports
Get It Free →

Setting Up and Reading the Report Correctly

Once job assignment is clean, the P&L by Job becomes the most important report in your business. Here's how to use it:

How to Run the QuickBooks P&L by Job

In QuickBooks Online: go to Reports, then Business Overview, then Profit and Loss — customize by Customer and group the report by customer/job for the time period you want to analyze. In QuickBooks Desktop: go to Reports, then Jobs, Time & Mileage, then Job Profitability Summary or Detail. The Summary shows gross profit by job. The Detail shows revenue and cost breakdowns by expense category within each job.

Run it for the last 12 months, sorted by gross profit margin percentage (highest to lowest). What you see will surprise you. Almost every builder who first runs a correct P&L by Job finds one of three patterns:

What to Do With the Data

The P&L by Job is a diagnostic tool, not just a reporting tool. When you find the project type with consistently higher margins, adjust your bidding strategy: pursue more of that work, price it at your true margin level, and deprioritize project types that consistently compress margin.

When you identify the client pattern, have a direct conversation about your change order process before taking another job from that client — or price the relationship risk into your markup on their next bid.

When you see the foreman effect, the first question is training, not termination. Does the foreman understand the budget? Do they have a mechanism to see real-time budget variance during the job? Most foremen running over budget don't know they're over budget until you tell them — because they've never been shown the job cost data while the job is active. The Go First financial systems methodology builds this into the weekly PM review cadence.

The QuickBooks and JobTread Connection

If you're running both QuickBooks and JobTread, your job profitability data should be primary in JobTread during the project — it has deeper cost-code-level visibility than QuickBooks. But the QuickBooks P&L by Job serves a different function: it's your accounting-grade job profit record, synced to your financial statements. Both reports should agree at month-end. If they don't, there's a sync issue in your QuickBooks-JobTread integration that needs to be resolved.

The SkillMatch Diagnostic assesses your full financial systems setup — including job costing configuration, reporting accuracy, and financial review process — and gives you a prioritized improvement plan based on your specific setup and revenue stage.

Find Your Revenue Leaks in 5 Minutes

Answer diagnostic questions about your operations, finances, and sales. Get ranked AI skill recommendations with dollar recovery estimates and an implementation roadmap — free, instant results.

Take the Free SkillMatch Diagnostic →

Frequently Asked Questions

In QuickBooks Online: go to Reports, then Business Overview, then Profit and Loss — customize to group by Customer. In QuickBooks Desktop: go to Reports, then Jobs, Time & Mileage, then Job Profitability Summary. The report only shows accurate data if every revenue and direct-cost transaction has been assigned to a Customer:Job at the time of entry. If your transactions aren't consistently job-assigned, the report will show incomplete or misleading data.

Inaccurate job P&L in QuickBooks is almost always a job assignment problem: some transactions were assigned to jobs and others weren't, creating partial data. The most common gaps are payroll and labor (often hits the company P&L, not individual jobs), mixed-job vendor invoices that weren't split, and credit card transactions entered without job codes. Fixing it requires a systematic audit of transaction job assignment for the period you're analyzing, then building workflows to ensure consistent assignment going forward.

Use both — they serve different purposes. JobTread provides real-time job costing against your budget during the project, with cost-code-level detail that QuickBooks doesn't match. QuickBooks P&L by Job is your accounting-grade profitability record, synced to your financial statements. The two should agree after month-end sync. For active job management, JobTread wins. For financial reporting and accounting, QuickBooks is the system of record.

QuickBooks P&L by Job shows gross profit (revenue minus direct job costs) — it doesn't automatically allocate overhead to jobs. To calculate net margin by job, take your annual overhead, divide by your total annual direct job cost to get your overhead rate, and apply that rate as a percentage to each job's direct costs. This gives you allocated overhead per job, which you subtract from gross profit to get estimated net margin. Most builders track this in a job analysis spreadsheet rather than inside QuickBooks.

Residential builders targeting $1.5M-$15M in annual revenue should aim for 30-38% gross margin on completed projects. New custom home construction typically runs 25-32%. Residential remodeling and renovation runs 32-42% when priced correctly. If your P&L by Job consistently shows gross margins below 28%, there's a pricing, cost control, or change order billing issue that needs addressing. The net profit target after overhead is 8-15% — below that, the business is not producing adequate return for the risk and capital required.

Grant Fuellenbach, Founder of GO First Consulting

About the Author

Grant Fuellenbach

Founder of GO First Consulting • 15+ years in construction technology • Certified Salesforce Administrator • B.S. Cognitive Neuroscience, Colorado State University • 312+ builder engagements • $5.3M+ documented client impact

Grant helps residential builders overhaul their operations — from fixing broken cost code systems and building master budget templates to installing daily log workflows. His systems have been deployed at 312+ construction companies across the US, generating $5.3M+ in documented client impact.

Read full bio →

Find Your Revenue Leaks in 5 Minutes.

The SkillMatch Diagnostic Engine scores your operations, finances, marketing, and sales — then gives you a ranked list of AI skill recommendations with dollar recovery estimates and an implementation roadmap.

Take the Free SkillMatch Diagnostic → Or book a strategy call →