Gross profit: what it means for home-service and trades companies
A plain-English explanation of gross profit for contractors, including how the formula works, what it tells you about each job, and why it shows up differently when QuickBooks data lives separately from your CRM.
Formula
Gross profit = Revenue minus Cost of goods sold (COGS)
If a plumbing company invoices 120,000 dollars in a month and spends 54,000 dollars on direct labor, materials, subcontractors, and other job costs, its gross profit is 66,000 dollars. That number is what the business has left to cover overhead and generate net income before a single office expense is counted. Gross profit is the first real profitability checkpoint after you know how much a job or a period actually cost to deliver.
For gross margin (gross profit expressed as a percentage of revenue), see /glossary/cogs and the related KPI dictionary pages. This page owns the definition of gross profit as a dollar figure and as a concept.
Gross profit in plain English
Revenue is what customers pay you. COGS (cost of goods sold) is what it costs you to deliver that work: direct labor, materials, equipment, subcontractors, and any other job-level costs. Gross profit is the gap between those two numbers. It is not net income, and it is not cash in the bank. It is what remains after you have paid to do the work, before you pay for anything that keeps the lights on at the office.
In the trades, gross profit is the number that tells you whether you are pricing and delivering work at a level that can sustain the rest of the business. A company can grow revenue quickly while shrinking gross profit by discounting, under-pricing materials, or running callbacks that cost labor without recovering it on the invoice. Gross profit catches that problem where revenue alone cannot.
Why gross profit matters for home-service companies
Home-service operators often have a clear view of their booked revenue and a much fuzzier picture of their costs at the job level. When you can see gross profit in real time by department, technician, or job type, you stop managing revenue as if it equals success and start managing the spread between what you charge and what you spend to earn it. That spread is what funds payroll, marketing, equipment, and growth.
The specific problem in the trades is that gross profit requires two data streams: invoiced revenue (usually in the CRM) and actual job costs (usually in the accounting system). When those two systems do not talk to each other, the only way to know gross profit is a monthly accounting close, which means you discover a margin problem after the month is already gone.
Info
Owner takeaway: gross profit is a real-time coaching number
When gross profit is only available after the monthly close, it is a scorecard. When it updates in near-real-time as jobs close and costs post, it becomes a coaching tool. An operations leader who can see gross profit by technician or job type through the month can catch a pricing problem, a callback pattern, or a material-cost spike before it shows up as a bad month. The goal is not a better report at month-end; it is a faster feedback loop through the month.
How gross profit reads across trades
| Trade | Common COGS components | What gross profit tells you |
|---|---|---|
| HVAC | Technician labor, refrigerant, equipment, install crew hours | Whether the gap between equipment cost and installed price is holding across repair vs. install jobs |
| Plumbing | Plumber hours, pipe and fixture cost, drain-service consumables | Whether service-call profitability is holding versus drain jobs or water-heater installs |
| Electrical | Electrician labor, wire and panel materials, permit costs | Whether panel upgrades or service calls are carrying more of the total gross profit |
| Roofing | Shingles and materials, subcontractor labor, disposal fees | Whether insurance vs. retail vs. commercial jobs have materially different gross profit per square |
| Garage door | Technician time, springs and openers, door units | Whether same-day service calls vs. full-door replacements drive the majority of profit dollars |
Gross profit signal ranges for trades businesses
There is no universal gross profit target that applies across all trades, job types, and markets. The ranges below are illustrative of what operators in home services commonly treat as healthy, watch, or poor signals. Validate against your own historical data and trade benchmarks before setting company targets.
- Gross profit as share of revenue (service/repair-heavy mix)Service and repair work typically carries fewer material costs, so gross profit per dollar billed often runs higher than install-heavy mixes.Good
- Current
- Above target floor
- Target
- Covers overhead and produces net income at current volume
- Gross profit trending down while revenue is flat or upIndicates rising direct costs (callbacks, material overruns, unrecovered labor) or pricing pressure that has not yet shown up in revenue decline.Watch
- Current
- Declining spread
- Target
- Should track revenue growth proportionally
- Gross profit insufficient to cover fixed overheadA company that runs gross profit below its overhead structure loses money on every dollar of overhead paid, regardless of how much revenue it generates.Poor
- Current
- Below breakeven floor
- Target
- Must at minimum cover all overhead to produce any net income
- One department's gross profit subsidizing another'sSeen when install or service run at thin margins while CSR-driven same-day calls carry the overall number. The subsidy masks the underperforming line.Watch
- Current
- Uneven contribution
- Target
- Each revenue-generating department should carry its direct costs
| Metric | Current | Target | Status |
|---|---|---|---|
| Gross profit as share of revenue (service/repair-heavy mix)Service and repair work typically carries fewer material costs, so gross profit per dollar billed often runs higher than install-heavy mixes. | Above target floor | Covers overhead and produces net income at current volume | Good |
| Gross profit trending down while revenue is flat or upIndicates rising direct costs (callbacks, material overruns, unrecovered labor) or pricing pressure that has not yet shown up in revenue decline. | Declining spread | Should track revenue growth proportionally | Watch |
| Gross profit insufficient to cover fixed overheadA company that runs gross profit below its overhead structure loses money on every dollar of overhead paid, regardless of how much revenue it generates. | Below breakeven floor | Must at minimum cover all overhead to produce any net income | Poor |
| One department's gross profit subsidizing another'sSeen when install or service run at thin margins while CSR-driven same-day calls carry the overall number. The subsidy masks the underperforming line. | Uneven contribution | Each revenue-generating department should carry its direct costs | Watch |
Warning
Data visibility gap: when your CRM and QuickBooks do not talk
The most common gross profit problem in the trades is not a pricing problem, it is a data problem. Invoiced revenue lives in the CRM (ServiceTitan, Workiz, Housecall Pro). Actual job costs, especially material postings and labor burden, live in QuickBooks. Until those two datasets are connected to the same view, gross profit is a monthly accounting number, not an operational one. Teams that run jobs all month without seeing real cost data make pricing and staffing decisions on revenue alone and discover margin erosion at the close.
Gross profit vs. related financial terms
| Term | How it differs from gross profit |
|---|---|
| Gross margin | Gross profit expressed as a percentage of revenue. Gross profit = 66,000 dollars on 120,000 dollars revenue means gross margin is 55 percent. Same underlying math, different presentation. |
| Net operating income (NOI) | What remains after overhead and operating expenses are subtracted from gross profit. Gross profit is the intermediate step; net income is what the owner actually keeps. |
| COGS | The subtraction. COGS is the total of direct job costs; gross profit is what is left after COGS comes out of revenue. |
| Revenue / booked revenue | The top line. Revenue tells you how much you invoiced; gross profit tells you how much of that you kept after paying to deliver the work. |
| Contribution margin | A project-level variant that subtracts only variable costs (not fixed direct costs). Gross profit in the trades usually includes all direct job costs, so it is a fuller view than contribution margin. |
| Labor percentage | One component of COGS expressed as a share of revenue. Labor percentage tells you what one input is costing you; gross profit tells you what all direct inputs combined are costing you. |
Gross profit FAQs
See gross profit on a live datacube financial dashboard
Datacube can consolidate QuickBooks financial data with your CRM revenue figures so gross profit updates as jobs close and costs post, not just at month-end. See what a financial dashboard built for your operation could show.
Keep exploring
Related
Go deeper
