Confirmed after the accounting transition. The business had been this profitable all along.
More profit year-to-date than the same point the prior year — before any revenue increase.
Gross profit expanded 6% year-over-year once true costs were visible.
What the cash-basis P&L showed. What actually happened: nothing. The books were wrong.
Kevin had been running Pacific Basement & Waterproofing for four years. He'd grown the company from $700K in year one to $2.42M by the end of 2025, adding crews, hiring salespeople, and pushing hard into new markets across Oregon and Washington. By any external measure, the business was working.
So why did every winter feel like a slow bleed?
His profit and loss statement said he was losing money. Not a small amount, either: roughly $27,000 in the red during the slower months. Kevin had chalked it up to seasonality. Basement waterproofing slows in the Pacific Northwest winter. That's just how it goes.
Except it wasn't seasonality. His books were simply wrong.
We'll call the company Pacific Basement & Waterproofing. Kevin has asked us to keep the details anonymous, but the numbers are real and drawn directly from the engagement record.
Kevin described himself as a math guy. He liked numbers, tracked his jobs, and stayed on top of his business in ways a lot of owner-operators don't. And yet every time his Fractional CFO, Hassy Jamal, pulled the books, the gross profit was all over the place. Some months it showed 48%. Others it dropped to 36%. The swings made no sense.
"We need to figure out what your gross profit is," Stuart Trier told Kevin on their first call in January 2026. That's not a sentence you expect to hear about a business generating $2.4M a year. But it was the right question.
The problem wasn't the business. It was the accounting method.
Kevin was using cash-basis accounting, which means his books recorded revenue when it was received, not when it was earned. A customer paid a 50% deposit in November for a job that wouldn't be completed until January? That deposit counted as November revenue. A bulk material order from a waterproofing supplier arrived in March for jobs spread across the next six months? The whole purchase hit March expenses. The result was a P&L that looked like a rollercoaster, with no actual correlation to what the crews were producing.
Clear Results CEO Stuart Trier put it plainly: "When you run your books on cash like you are right now, your financial statements are just slightly better than useless. You're not matching revenue and expenses."
Kevin's response: "I paid you to tell me my baby's ugly."
What "unearned revenue" actually means — and why your deposits are messing up your margins
When a customer hands you a 50% deposit, it feels like revenue. The money is in your account. But here's the thing: you haven't done anything yet. That deposit is a liability, not income. You owe the customer a completed job.
Under cash-basis accounting, that deposit hits your books as revenue the day it arrives. Then, weeks later when the crew actually does the work, all the labor and material costs pile in with no revenue to match them. The month you collect looks wildly profitable. The month you deliver looks like a disaster.
Accrual accounting fixes this by recognizing revenue only when the job is done and expenses only when they're directly tied to that job. The result is a P&L that actually reflects what your business produced that month, not just what cash happened to move.
For seasonal businesses like waterproofing, the difference is stark. Deposits flood in during spring and fall when customers book jobs. Cash-basis books show fake peaks. Winter months, when crews are completing work booked months earlier, look like losses. Switch to accrual and the illusion disappears entirely.
There were three specific problems sitting inside Kevin's books, and each one was distorting the picture in a different direction.
The deposit timing gap. Customer deposits were being counted as revenue when collected, not when jobs were completed. In winter, when the company was finishing jobs booked the previous autumn, there were high labor costs on the books and very little "new" revenue coming in. On paper: losses. In reality: a backlog being profitably delivered.
The bulk materials problem. Kevin would order large quantities of waterproofing materials in one go to get better pricing. The entire cost hit his expenses the month of purchase, even though those materials would spread across dozens of jobs over the following months. One month's books looked terrible. The next few looked suspiciously cheap.
The commissions in the wrong place. Kevin's two salespeople earned a $4,000 base plus a 10% commission on gross profit after labor and materials. The commissions were tracked as operating expenses, sitting below the gross profit line. This meant Kevin's gross profit percentage looked artificially high. Hassy Jamal identified it immediately: "What will happen to a lot of owners is they'll accept a 30% gross profit, not realizing, hey, I'm giving out another 10."
Any one of these would muddy the numbers. All three together made the financials close to unreadable.
Does any of this sound familiar? An HVAC contractor bulk-buying refrigerant in Q1 and watching that month's margin collapse. A roofing company collecting insurance deposits in January while the weather won't let crews work until April. A plumber whose service call commissions run through overhead while job costing shows a margin that doesn't match what ends up in the bank. The accounting method is the same problem in different clothes.
Hassy Jamal, Clear Results' Director of Financial Strategy and Client Performance, led the financial cleanup. The transition took about three months. Here's what actually changed.
Move 1: Switch to accrual accounting
The first step was treating customer deposits as liabilities rather than revenue. Money in the door goes on the balance sheet, not the income statement, until the job is complete. Simultaneously, the team instituted a month-end inventory count to track materials consumed versus materials purchased. Instead of expensing bulk orders the day they arrived, costs were matched to the jobs that actually used them.
Kevin had heard about accrual accounting before.
"I took Accounting 101 in college, and I don't remember a drop of it. When those guys told me I should be on accrual, it was just... you're telling the guy wearing a camo hat he should be on accrual basis. I don't know what you're talking about, man."
By the end of the engagement, he did.
Move 2: Move sales commissions into Cost of Goods Sold
Commission payments moved from operating expenses above the net profit line into Cost of Goods Sold, sitting directly against the revenue they generated. The effect was immediate: gross profit calculations now reflected the true cost of delivering each job, including the cost of selling it. The number looked lower than before. It was also finally accurate.
Move 3: Install gross profit per day tracking
Stuart built a production scorecard tracking gross profit per day by sales rep and by crew lead. Not monthly, not quarterly. Per day. The question the scorecard answered: is this crew covering overhead and generating surplus today? If gross profit per day dropped below the threshold, the team had a conversation that week, not at year-end.
Marcus, the production manager Kevin had recently promoted, took on daily accountability for the crew-level numbers. His job shifted from managing logistics to managing margins.
The cleaned-up books produced a result Kevin wasn't expecting.
His business was profitable. Not just okay - profitable. He was running at 29% net profit margin.
The winter losses he'd been worrying about weren't losses at all. Hassy explained it: "In 2025, it looked like there were months where you actually lost money. You didn't. It's just when the deposits versus the jobs completed happened." The timing gap between collecting deposits and delivering work had created a false narrative. The crews were producing. The business was growing. The books just hadn't been telling the story correctly.
What's more, the business was up $120,000 in profit compared to the same point the prior year, before any revenue increase.
"Even if the quarter feels slow or feels like things aren't doing that well," Hassy told Kevin, "compared to last year, you're already making $120,000 more than you were last year."
Kevin's gross profit had expanded 6% year-over-year once the true cost of delivery was visible. The team was pacing toward roughly $700,000 in net profit for the year.
March set a record. The crews produced $320,000 in a single month.
The transition wasn't clean throughout, though. In March, a $91,895 credit appeared on the income statement, artificially inflating that month's gross profit by roughly $90,000. Hassy traced it to Kevin's CPA, who had told the bookkeeper during tax season to "just do this exact journal entry" without properly tying it to the balance sheet inventory. If Hassy hadn't caught it, Kevin would have been making scaling decisions based on $90,000 of phantom profit. The fix required retraining the bookkeeper on how inventory assets should flow through the income statement. It's a good example of why accounting cleanup needs financial strategy, not just data entry.
Kevin reflected on what the process had felt like: "I'm not breaking my body to make money anymore. It was like enlightening."
The accounting method problem isn't specific to waterproofing. It shows up in any trade where jobs span more than a few days, where customers pay deposits upfront, or where materials are bought in bulk.
For high-ticket project-based trades (foundation repair, commercial HVAC installation, roofing restoration, electrical panel upgrades):
Large jobs mean large deposits. An HVAC contractor who collects 50% upfront on a $15,000 system replacement will see that cash the month of booking, then absorb all the labor and equipment costs the month of install. On cash-basis books, the booking month looks great and the install month looks awful. Switch to accrual and both months look exactly like what they are: parts of a single profitable job.
The same goes for bulk materials. A roofing contractor who buys $40,000 of shingles in one purchase and expensing them immediately will tank that month's gross margin, even if those shingles will profitably cover fifty jobs over the next quarter. Month-end inventory reconciliation is the fix, and it costs an hour a month once the system is running.
For high-volume transactional trades (residential plumbing, HVAC service calls, electrical diagnostics):
The deposit issue is less common here, but the commissions problem is universal. If your service techs or salespeople earn commission on calls and that commission sits in overhead rather than Cost of Goods Sold, your gross profit is a fiction. You think you're running 45% margin. You're running 35%. The gap is sitting in a line item nobody is questioning.
The cross-trade test is simple. Pull your gross profit for last month. Now subtract every direct commission payment from that number. Does the result surprise you? If it does, your commissions are in the wrong place.
Kevin built a $2.4M waterproofing company in four years on hustle, good crews, and a genuine feel for the business. What he didn't have was a financial picture that matched the reality. Every winter felt like a problem. It wasn't. It was a timing gap on the balance sheet.
The lesson isn't complicated. A profitable business and a cash-basis P&L can coexist for years without the owner ever seeing the profit. The fix isn't finding more customers, running a promotion, or cutting a crew. It's making sure the books reflect what's actually happening.
Kevin's business was generating $120,000 more profit than the year before when he joined the engagement. He just couldn't see it.
If my bank account has cash in it, why does it matter what the P&L says?
Having cash in the bank feels reassuring, but it doesn't tell you whether your jobs are profitable. If you're running cash-basis accounting, your bank balance includes unearned deposits for work you haven't delivered yet. The moment sales slow for a few weeks, that cash disappears as you pay the labor and materials to complete backlogged jobs. A P&L that matches expenses to completed revenue shows you your true operating margin. The bank balance shows you yesterday's receipts.
Read more: Why Your P&L Is Lying to You (And What to Look At Instead)
Why can't I just leave sales commissions in overhead?
Because they're not overhead. Overhead is rent, utilities, and admin salaries — costs you pay regardless of how many jobs you close. A sales commission only exists because a specific job was sold. It's the direct cost of delivering that job's revenue, which means it belongs in Cost of Goods Sold. When commissions sit in overhead, your gross profit looks better than it is and you're flying blind on actual job margins.
Read more: The Commission Trap: The Profit Engine Leak Costing Home Service Owners
If we take a 50% deposit from a customer, why isn't that considered revenue yet?
Because you haven't earned it. The deposit is a liability: money the customer has trusted you with against a promise you haven't kept yet. Book it as revenue and the month you collect looks artificially strong while the month you deliver looks artificially weak. Recognize it as revenue only when the job is complete and your books will reflect what the business actually produced, month by month.
Won't counting inventory at month-end take forever?
Not if your warehouse is organized. You're not counting every roll of tape and set of gloves. You're counting the high-value items: sump pumps, dehumidifiers, bulk materials, anything that costs enough to meaningfully swing a monthly gross margin. One person, one hour, once a month. That's what accurate material costs cost you.
How do I fix my books without wrecking everything during the transition?
The transition is less dramatic than it sounds. You're making three specific changes: reclassifying deposits as liabilities, counting inventory at month-end rather than expensing bulk purchases immediately, and moving direct commissions from operating expenses into Cost of Goods Sold. Most accounting software handles all three. What you actually need is someone with financial strategy experience overseeing the process, not just a bookkeeper following instructions. The $91,895 journal entry in this case study is a good example of what happens when that distinction gets blurred.
Read more: The Weekly Scorecard: How to Know If Your Business Is Healthy in 5 Minutes
How much net profit should a $2M to $3M home service business actually be making?
A well-run home service business in this revenue range should be generating 15% to 25% net profit. Businesses consistently running under 10% are almost always carrying one of three structural problems: accounting that distorts the true cost of delivery, a compensation structure that misaligns incentives, or overhead built for a revenue level they haven't reached yet. The first is the most common and the most fixable.