A contractor's profit and loss statement shows whether the work you did over a period made money. Read it top down: revenue, minus cost of goods sold (job costs such as materials, field labor, subcontractors and permits), equals gross profit; minus overhead (office staff, rent, insurance, marketing, software) equals net profit. Check gross margin against your target first, then overhead, then net profit, and compare each to the same month last year.
A profit and loss statement (P&L, also called an income statement) answers one question: did the work you did over a period make money, and where did it go? It covers a stretch of time, such as a month or a year, and it's built from your invoices, bills, payroll and receipts.
It does not tell you how much cash you have. Unpaid invoices, loan payments, a new truck and what you take out for yourself can all make your profit and your bank balance tell different stories. Read the P&L for profit, and your bank balance and unpaid invoices for cash.
Every contractor P&L, from a one-van detailer to a solar installer with three crews, comes down to five lines. Bookkeepers and software label them differently, so the other common names are in parentheses:
| Line | What goes in it |
|---|---|
| Revenue (income, sales) | Service calls, installs, maintenance plans, memberships, change orders |
| Cost of goods sold (cost of sales, job costs, direct costs) | What the jobs cost: materials, equipment, field labor, subcontractors, permits, disposal |
| Gross profit | Revenue minus cost of goods sold |
| Overhead (operating expenses, indirect costs) | What it costs to be open: office staff, rent, insurance, marketing, software, accounting |
| Net profit (net income) | Gross profit minus overhead and other costs such as loan interest |
One revenue number hides what's going on. Break it into the kinds of work that have different costs, prices and seasons:
A month where replacements fell and service calls rose can look flat in total while the mix, and the margin, changed underneath.
Keep two more things on their own lines:
Cost of goods sold holds every cost that exists only because a job happened. The test: if the job hadn't happened, would you have spent this money? If not, it's a job cost.
| Trade | Typical job costs, besides field labor |
|---|---|
| HVAC | Condensers, furnaces, coils, line sets, refrigerant, thermostats, permits |
| Roofing | Shingles, underlayment, flashing, decking, dumpsters and dump fees, subcontracted crews |
| Plumbing | Water heaters, fixtures, pipe and fittings, permits, equipment rented for a job |
| Electrical | Wire, panels, breakers, devices, chargers you supply, permits, lift rental |
| Solar | Modules, inverters, racking, wiring, permit and interconnection fees, subcontracted trenching |
| Auto detailing | Chemicals, pads, towels, coating product |
| Pressure washing | Sodium hypochlorite and surfactants, fuel, wear parts such as nozzles |
Field labor belongs here, with its burden. Wages for time on jobs are a job cost, and so are the payroll taxes, workers' comp and benefits that come with them. If all wages sit in one overhead account, gross margin looks high, overhead looks bloated, and you can't tell whether your prices cover crew time. Labor-heavy trades like detailing and pressure washing get the most distorted picture. How to set your labor rate shows what an hour of field labor really costs.
Decide where the gray areas go, then leave them there. Truck fuel, small tools, shop supplies and a tech's paid time between jobs can sit in job costs or overhead. Either works. Switching back and forth doesn't, because then no two months compare. Write your rules on one page for whoever keeps your books.
Watch for stock-ups. If materials are expensed when you buy them rather than when you use them, a plumber who stocks up on water heaters in March shows a weak March and a strong April, even if the jobs were identical. Read gross margin over two or three months at a time, or track materials by job.
Gross profit is revenue minus cost of goods sold. Gross margin is gross profit as a share of revenue:
Check it first: it shows whether your prices cover what the work costs, and every dollar of overhead and profit comes out of it.
What a change usually means:
A margin target is not a markup. Adding a percentage to cost always yields a smaller margin percentage, so a markup equal to your target margin leaves you short; markup vs margin has the conversion table.
Don't compare your gross margin with another trade's, either. Equipment-heavy and labor-heavy work produce very different margins, and both can be healthy.
Example: Two businesses each bill $50,000 in a month, in made-up round numbers.
- A detailing shop spends $4,000 on chemicals, pads and coating product and $21,000 on detailer wages with payroll taxes. Cost of goods sold is $25,000, so gross profit is $25,000: a 50% gross margin.
- A solar installer spends $30,000 on modules, inverters and racking, $8,000 on crew labor and $2,000 on permit and interconnection fees. Cost of goods sold is $40,000, so gross profit is $10,000: a 20% gross margin.
Neither is good or bad alone. What matters is whether each gross profit covers that business's own overhead with room to spare.
Overhead is what it costs to run the business that doesn't belong to a particular job: office and dispatch wages, rent, utilities, insurance, marketing, software, phones, accounting and legal fees, and vehicles if you don't job-cost them.
Read it two ways:
Overhead also sets your break-even point: monthly overhead ÷ gross margin (as a decimal) is the revenue you need each month just to cover it, as the sample P&L below shows.
Net profit is gross profit minus overhead, minus items below the operating line such as loan interest. Only the interest belongs on the P&L; loan principal reduces what you owe, so it lives on the balance sheet. Owner's draws stay off the P&L too: they're money you take out of profit, not a cost of earning it, and recording them as expenses makes the business look less profitable than it is.
If you take draws rather than a wage, net profit also includes the pay for your own work, and the income tax on it usually isn't on the P&L at all. Two adjustments make the number honest:
Example: A solo pressure washing owner bills $150,000 in a year. Job costs (chemicals, fuel, wear parts and a part-time helper) are $30,000, and overhead (truck costs, insurance, marketing, phone and software) is $40,000. Net profit is $80,000, with an 80% gross margin.
Suppose hiring a full-time tech to do the owner's washing would cost $45,000 a year with payroll taxes. Moved into job costs, that wage drops gross margin to 50% and net profit to $35,000. That $35,000 is what the business earns beyond paying for its labor, and 50% is the margin the prices must survive once the owner steps off the wand.
If your prices only work because you don't pay yourself, they won't work on the day you hire.
Here's how the lines fit together for one made-up month.
Example: A three-truck plumbing company's month, in round, made-up numbers (not benchmarks):
Line Amount Service and repair $55,000 Water heaters and repipes $40,000 Maintenance plans $5,000 Revenue $100,000 Materials and equipment $24,000 Field labor, with payroll taxes and workers' comp $30,000 Subcontractors $3,000 Permits and disposal $1,000 Cost of goods sold $58,000 Gross profit (42% of revenue) $42,000 Office and dispatch wages $9,000 Marketing $6,000 Vehicles: fuel, repairs, leases $5,000 Rent and utilities $4,000 Insurance $3,000 Software, phones and office $2,000 Accounting and legal $1,000 Overhead (30% of revenue) $30,000 Operating profit $12,000 Interest on truck loans $1,000 Net profit (11% of revenue) $11,000 Reading it in order:
- Revenue: $100,000 means little alone; next to the same month last year, it shows growth, and the three lines show which work drove it.
- Gross margin: $42,000 ÷ $100,000 = 42%. Against a 45% target, the month's jobs fell $3,000 short, and job costing shows which ones.
- Overhead: $30,000, or 30% of revenue. At a 42% gross margin, the shop needs $30,000 ÷ 0.42, about $71,400 of revenue a month, just to cover overhead.
- Net profit: $11,000, or 11%. If the owner takes draws, that $11,000 still has to cover the owner's pay and income tax.
The same month can show a loss or a profit depending on the accounting basis, so check which one the report uses (it's usually printed in the header) before you read a line.
Those are the same two ideas the IRS uses for tax: under the cash method you generally report income in the year you receive it and deduct expenses in the year you pay them, and under an accrual method you generally report income in the year it's earned and deduct or capitalize expenses in the year they're incurred 2.
Example: A roofer installs a $20,000 roof in late March and pays the crew's $4,000 that month. The $8,000 of materials goes on the supplier account and is paid in April, and the customer pays the full $20,000 in April.
- Cash basis: March shows no revenue and $4,000 of cost, a $4,000 loss. April shows $20,000 of revenue and $8,000 of cost.
- Accrual basis: March shows $20,000 of revenue, $12,000 of cost and an $8,000 gross profit, in the month the roof went on.
Both total the same $8,000, but only the accrual view tells you in March whether the job made money.
Other timing gaps that distort cash-basis months:
Accrual is the clearer view for judging prices and crews; cash is the clearer view of money in and out. On cash-basis books, read margins over a rolling three months and keep a list of deposits held, unpaid invoices and unpaid bills beside the P&L. The method your tax return uses is a separate decision with its own rules; make it with your CPA.
Your monthly P&L is a management report; your tax return reports the same year in the tax form's own categories. If you're a sole proprietor, the income or loss from your contracting business is reported on Schedule C of your Form 1040 3. If your business is set up another way, such as a partnership or a corporation, it may file a different return, so ask your CPA which applies to you.
The P&L tells you what happened to the whole business; job costing tells you which jobs did it.
Make the two agree:
Example: An electrical contractor's gross margin runs at 40% through the spring and drops to 35% over the summer. The P&L can't say why. Job costing on the summer's jobs does: service calls and panel upgrades held 40%, while EV charger installs, a third of the summer's revenue, came in at 25%. The job records show two causes. Long wire runs to detached garages took more hours than the quotes allowed, and wire was priced from a supplier quote that was months old. The fix is in pricing (a per-foot adder past a standard run length and a validity date on every quote), not in cutting overhead.
The electrical pricing guide covers both fixes. Whatever you track jobs in, costs have to reach the job while they're fresh. Redline, which is chat-first field service software, includes job costing for this.
Read the P&L every month on the same day, with the same routine.
Close the month first, ideally within the first ten days: reconcile every bank, card and loan account, enter every supplier bill and receipt, and invoice every finished job, including change orders and extra trips.
Run three reports: this month, the same month last year and the last 12 months. For seasonal trades, the same-month-last-year column does most of the work: compare an HVAC July with last July, and a pressure washing January with last January.
Fill in the review sheet:
| Check | This month | Same month last year | Last 12 months | Target |
|---|---|---|---|---|
| Revenue | ||||
| Gross margin | ||||
| Overhead | ||||
| Net profit | ||||
| Net profit as a share of revenue |
Answer five questions in writing:
Keep every month's sheet; the notes matter as much as the numbers. "Margin fell because two water heater jobs were quoted before the supplier's price increase" tells you exactly what to fix.
Monthly, on a fixed day once the books are closed: every bank and card account reconciled, every supplier bill entered and every finished job invoiced. Each quarter, look at the last 12 months to see the trend through your busy and slow seasons, and sit down with your CPA before the year ends, while there's still time to act on what the numbers show.
In cost of goods sold. The wages of people working on jobs, plus the payroll taxes, workers' comp and benefits tied to those wages, are job costs. Office staff, dispatchers and salespeople go in overhead. A tech's paid time that isn't on a job, such as shop days or training, can go either way; choose one and stay consistent so your months compare.
Because profit and cash move at different times. On an accrual P&L, unpaid invoices count as revenue before the money arrives. Loan principal payments, truck and equipment purchases, materials on shelves, owner's draws and income tax payments all take cash without showing up as expenses, or not in the same month. Read the P&L next to your balance sheet and your list of unpaid invoices to see where the cash went.
A P&L covers a stretch of time, such as a month or a year, and shows revenue, costs and profit. A balance sheet is a snapshot of one day: what the business owns (cash, money customers owe you, trucks, equipment), what it owes (loans, supplier bills, card balances) and the difference, which is the owner's equity. Profit adds to equity, and the balance sheet shows whether it's sitting in the bank or tied up in receivables, equipment and stock.
Carefully, if at all. Trades and business models have very different cost structures, and two shops may record the same cost on different lines, so another company's gross margin can mislead you. Your own same month last year and your last 12 months are the most reliable comparison. If you use outside figures, make sure they're for your trade and size and that they define cost of goods sold the way you do.
Rules and figures change, and many requirements vary by state and city. Check the current version of each source and your local authority before acting, and talk to a licensed professional about your specific situation.