Trades industry news, updated weekly
Business Tips

Your Net Profit Includes Your Salary — Or It Should

Maria ChenMaria Chen··13 min read

Your Net Profit Includes Your Salary — Or It Should

The 14-truck residential HVAC shop I pulled in 2019 had a net margin of 22% on its tax return. The owner had been showing that number to his banker, his wife, and himself for three years. He had used it to justify buying a second service vehicle. He had used it to hire a CSR. He had told his distributor rep he was doing well.

He was losing money on every install. He just couldn't see it, because the P&L he was reading was written for the IRS, not for him.

The P&L Your CPA Filed Is Not a Management Document

Most small shop owners have exactly one financial document they trust: the year-end tax return. It has their name on it, a CPA's signature, and a net income line that feels authoritative. The problem is that the document was designed to answer a specific question — how much does this entity owe in taxes? — and that question has almost nothing to do with whether the business is actually profitable.

Tax accounting and management accounting have different objectives. Using the tax return as your operating dashboard produces exactly the kind of junk financial information that small contractors run their businesses on every day. I started writing about this because I kept watching shop owners make irreversible decisions — buying equipment, adding headcount, setting flat rates — on data that couldn't survive a basic review.

The most common distortion involves the owner's own compensation. If you operate as an S-corp, the IRS requires that working owner-operators draw a W-2 wage representing "reasonable compensation" for the services they provide to the business. What happens in practice is that CPAs set that W-2 figure at the lower end of defensible to minimize payroll tax exposure. That's a legitimate tax strategy. On the management accounting side, it's a slow-moving disaster.

Your labor is a real cost. The hours you spend diagnosing systems or running estimates have a market price, and that price belongs in your cost of goods sold. When it isn't there — or when it's there at a discounted W-2 rate that doesn't reflect what the market would pay you — your gross margin is inflated, your net margin is inflated, and every downstream decision is built on a number that doesn't mean what you think it means.

The Number That Exposes the Fiction: What a Replacement Would Cost You

Here is the test I run with every shop owner in the first engagement. It takes about twenty minutes and it is almost always unpleasant.

Write down every function you personally perform over a typical week. Not the title you give yourself. The actual work. Hours in the truck on service calls. Hours reviewing load calcs or approving estimates. Hours on the phone with distributors. Hours supervising younger techs. Hours doing dispatch or bookkeeping because nobody else does it.

Then ask: what would I pay someone to do each of those things?

A journeyman tech with EPA 608 Universal and NATE certification in a competitive metro runs $32 to $40 per hour in labor cost before burden. Add 25-30% for payroll taxes, workers' comp, and benefits and you're at $40 to $52 per hour all-in. BLS OEWS data for HVAC mechanics and installers (SOC 49-9021) puts the 75th percentile hourly wage for the D.C. metro at $37. A working foreman handling field supervision and estimates runs $52 to $65 per hour all-in in the D.C. and Northern Virginia market I work in most frequently. Other metros will differ; pull your own OEWS table and use the number for your area, not the national median.

That range is not an abstraction for me. I spent four years at Bayview Mechanical in Sunnyvale and two more at Caldera running service calls in a Sprinter, then moving into a field lead role where I was the person dispatchers called when a callback needed someone who could actually diagnose the problem rather than swap a part and hope. I know what those roles cost to fill and what they cost to keep. When I reconstruct an owner's management P&L, I use the BLS OEWS figure for that specific metro as the floor and adjust upward if the shop has historically had trouble retaining at that rate.

Whatever market rate applies to your actual function in the business, that cost belongs in your P&L. If it isn't there, your profit number is wrong.

The 14-Truck Shop That Thought It Was Making 22%

Back to 2019. I was at Atlantic Comfort Partners working as an ops analyst. We were looking at a 14-truck residential shop outside the metro. The owner was competent, well-liked by his customers, and had been in the business for eighteen years. His tax return showed 22% net margin.

I reconstructed the management P&L.

He was paying himself a W-2 salary of $62,000 per year. He was spending roughly 30 hours per week in the field on installs and complex diagnostic calls, and another 10 hours per week as the de facto operations manager. At market rate for those two functions in his metro, his labor cost to the business was $121,000 annually. That's where I landed after running the BLS figures for his area and adjusting for his certification level.

The spread between what he was paying himself and what his labor was worth was approximately $59,000 per year. That spread was being counted as net profit.

When you underpay yourself and call the difference profit, you're not running a profitable business. You're running a business where your own discounted labor is covering the gap between what you charge and what things actually cost.

Once I restated the P&L with market-rate owner compensation in COGS, the net margin dropped from 22% to approximately 6%. That's not a rounding error. That's a different business.

The 6% margin — at that shop's revenue — was not enough to service the truck loan he had taken out for the second vehicle. It was not enough to justify the CSR he had hired. Both decisions had been made against the 22% margin assumption. The shop wasn't in immediate financial danger because it had low debt and strong cash flow from service contracts, but the growth decisions were wrong, and they were wrong because the underlying number was wrong.

This is the default situation for working owners of small shops. The specific distortion varies; the direction almost never does.

Why Your CPA Is Not Wrong (And Why That's the Problem)

Your CPA is not making a mistake when they set your W-2 low. They are optimizing for the objective you hired them for: minimizing your tax liability within legal bounds. The IRS "reasonable compensation" standard has enough range that a competent CPA can set your W-2 at $65,000 for a shop doing $2.4 million in revenue and defend it if audited. That's the job.

The error is treating the tax return as a management document. I went back for my MBA at George Mason in 2016, part-time while I was still working in HVAC operations, specifically because I kept watching shop owners make pricing decisions that couldn't survive a spreadsheet. The gap I saw was not a character flaw. Nobody had taught these owners to read management accounts.

Trade school teaches installation and diagnostics. The good ones teach psychrometrics and load calculation. Nobody in the HVAC program at De Anza explained contribution margin or walked us through how to build a cost-of-doing-business worksheet — a single-page calculation that allocates all direct and indirect costs across your billable hours to show what each hour actually needs to recover before you've made a dollar of profit.

The owner moves from journeyman to working owner. The CPA hands over a year-end tax return. That becomes the only financial document anyone looks at. Nobody made an error. The information gap just went unnoticed until someone ran the numbers.

The fix: run two sets of books. The tax return stays as is — it's for the IRS. Your internal management P&L charges your own labor at market rate and uses that as the basis for every business decision you make.

How to Reconstruct Your P&L With Real Owner Compensation

Start with your cost-of-doing-business worksheet. If you don't have one, build a simple version in a spreadsheet with three columns: function, hours per week, and market rate per hour all-in with burden. List every role you fill.

Field technician hours get priced at the fully-burdened rate for a journeyman tech in your metro. Pull the BLS OEWS table for SOC 49-9021 at bls.gov/oes, sortable by state and metropolitan area. Use the 75th percentile wage for your area as your baseline. You have more than median skill, or you wouldn't still be running the shop. Add 27-30% for burden.

Supervisory and estimating hours get priced separately. A working foreman or field supervisor in a competitive mid-Atlantic market runs $52 to $65 per hour all-in. Your metro may differ; use your OEWS number, not mine.

Administrative and dispatch hours — if you're handling callbacks, scheduling, or vendor calls — get priced at what a competent service coordinator would cost. Lower than field labor in most markets. Not zero.

Add those annual figures to your COGS. Restate gross profit. Restate net income.

The SEER2 transition broke this the same way. About 60% of the independent shops I've worked with absorbed the equipment cost increases when SEER2 rolled out without passing them through in their flat rates — that's my observed estimate from engagements since 2022, not a published figure. The cost entered the business. It didn't appear as a line item because it distributed across equipment expense and compressed margin quietly. Owners kept charging the old install price on a higher-cost unit and wondered why cash felt tighter than the P&L suggested. Owner compensation disappears the same way: real cost, no line item, margin compressing until someone goes looking.

What To Do Before Friday's Close

Pull your last 12 months of pay records. Find your total W-2 wages from the business. Add any draws. That's your starting number.

Pull the BLS OEWS table for your metro. Look up SOC 49-9021. Get the 75th percentile hourly wage. Multiply by 1.28 for burden. Multiply by your actual hours in the field over the last 12 months. That's your market-rate field labor cost.

Run the same calculation for supervisory and administrative functions. Use the appropriate rate for each function.

Add those figures to your COGS. Subtract from revenue. Look at the restated gross margin and net margin.

If the restated net margin is more than 4 points below what you've been using, your flat-rate price book is built on a wrong cost basis. Wrong enough to reprice before the next install estimate goes out.

If the restated margin goes negative, that's addressed in the FAQ below. Don't skip ahead yet.

Call your CPA and ask for a management P&L alongside the tax return this year, with owner compensation restated at market rate. Some will do this without discussion. Some will want to understand what you're measuring before they build it. Have the conversation either way. The tax return will keep doing what it does. You need a document that tells you whether the business is profitable at the cost of actually running it.


FAQ

If I'm already taking a reasonable salary plus draws, how do I know if I've set the salary at the right level?

Run the substitution test. List every function you personally perform, assign each one a market hourly rate using BLS OEWS for your metro, and calculate what those hours would cost if you hired someone to do each role. Compare that total to your W-2. If your W-2 is more than 15% below the substitution cost, your management P&L is understating your labor expense. The draws on top don't fix this. Draws are a distribution of profit, not a recognition of labor cost. You want the labor cost in COGS before any profit is calculated.

My accountant says I'm profitable. My bank account says something different. Which one is right?

They're answering different questions. Your accountant is reporting taxable income. Your bank account reflects cash movement, which includes loan payments, inventory, timing of receivables, and owner draws — none of which appear on a standard P&L the way you might expect. The more useful question is what your management P&L shows with real owner compensation in COGS. In most small shops I've worked with, the cash-feels-tight problem is a margin problem in disguise. Fix the P&L first, then look at cash conversion.

I wear five hats in this business — tech, estimator, dispatcher, sales, and owner. Do I have to price out all of them separately?

Yes, and the reason matters. Each function has a different market rate. Blending them into one number hides the information you need. If you're spending 20 hours a week in the field at $48 per hour all-in and 10 hours a week on estimating at $38 per hour, those are different cost lines with different implications for your pricing. Field hours belong in COGS directly against service and install revenue. Estimating and dispatch hours sit closer to overhead. Where you allocate them changes your gross margin calculation and, by extension, your flat-rate pricing floor.

At what point does fixing my management P&L actually change what I charge customers, and how do I make that transition without losing jobs to competitors?

The restated P&L tells you where your pricing floor actually is. Whether you move immediately depends on how far off you are. At 4% restated net, you can't absorb a slow season without a cash problem. Move. The transition works best when you raise diagnostic and service rates first — those are easier to adjust without losing the job outright — and reprice installs at the next estimate opportunity. Losing price-sensitive jobs during a reprice is not the failure. Winning jobs at a margin that doesn't cover real costs is.

I run an LLC, not an S-corp. Does this still apply to me?

The tax mechanics differ. As a single-member LLC taxed as a sole proprietorship, you don't have a W-2 requirement, and net income passes through to your personal return with self-employment tax applied. The management accounting question is identical. Your labor still has a market rate. It still belongs in your COGS. Build the same substitution calculation, slot your labor cost into your internal P&L at market rate, and use that to make business decisions. Entity structure changes the tax treatment. It doesn't change what your hours actually cost the business.

If I restate my net profit using real owner compensation and the number goes negative, is the business insolvent?

No. Insolvency is a cash and obligations problem. A negative restated net income means the business, priced at what it actually costs to operate including your labor, is not covering its costs. The business is currently subsidized by your discounted labor. If you tried to hire a replacement for yourself tomorrow, the business would lose money at current prices. Identify where the margin gap is largest — usually install pricing or diagnostic fees — and start closing it. The number is uncomfortable. It's also the only version of the number that's true.

Enjoyed this article?

Get articles like this in your inbox every Monday. Free, no spam.

More from The Backcharge