
October 21, 2026 · Mitt Patel · 6 min read
It's the 28th of the month, your crew did $42,000 worth of work, and your checking account shows $19,000. You know you're not losing money. You just don't know where the other $23,000 went, and your gut says it has something to do with that office park job you finished three weeks ago. You're right, and you won't know how right until you separate the two sides of your business.
Why this happens
Most plumbing businesses grow by saying yes. A homeowner calls about a leak, you fix it, they hand over a check or tap a card, and the job is closed the same day. Then a general contractor asks you to bid a 40-unit apartment renovation, you win it, and suddenly you're waiting 30, 45, sometimes 60 days to get paid after the invoice goes out.
Both jobs show up in QuickBooks as "income." Both feel like progress. But they behave completely differently in terms of when cash actually lands in your account. If you track them as one combined revenue number, your books tell you the business is doing fine while your bank balance tells you something else. That gap is where owners make bad calls: hiring a new tech, buying a second van, or quoting a job too low, all based on revenue that hasn't actually turned into cash yet.
The real cost isn't the slow payment itself. It's that commercial work, by its nature, ties up cash for weeks at a time, and if you don't track that separately, you can't tell how much of your business is sitting in receivables versus sitting in your bank.
A worked example
Say you run a shop that does both service calls and commercial contracts. In one month, you invoice $42,000 total: $27,000 from residential service calls and $15,000 from a commercial job for a property management company.
The residential money comes in fast. Homeowners pay at the door or within a few days, so by month-end you've collected $26,000 of that $27,000.
The commercial invoice is on net-30 terms. You sent it on day one of the job, but the property manager's accounts payable department doesn't cut checks until the invoice is 30 days old. By month-end, you've collected $0 of that $15,000. It's sitting on your books as a receivable, not in your bank.
So your income statement says $42,000 in revenue. Your bank account shows a $19,000 balance, reflecting $26,000 collected from residential work minus payroll and materials you already paid out. If you only look at the combined revenue number, you'd think the business generated $42,000 in spendable cash. It didn't. $15,000 of it is still owed to you, and won't show up for weeks.
This is normal for commercial work. It's not a problem by itself. The problem is not knowing it's happening, and not having a system to watch it.
How to set it up
- Create separate income accounts in QuickBooks Online. Set up "Residential service income" and "Commercial contract income" as distinct accounts under your chart of accounts, instead of one generic "Sales" or "Service income" line.
- Tag every invoice at the point you create it. When you write up a job, assign it to the right income account immediately. If you use QuickBooks Online's "Class" or "Location" tracking feature, set up classes for Residential and Commercial so you can run reports split both ways without extra work later.
- Turn on the accounts receivable aging report. In QuickBooks Online, run the "Accounts Receivable Aging Summary" report weekly. Filter it so you can see commercial invoices separately from residential. Residential should show little outstanding, since most of those customers pay on the spot or within a few days. Commercial will show real numbers in the 30, 60, and 90-day columns.
- Set a recurring weekly review. Pick one day, Friday morning works for a lot of owners, and spend 15 minutes looking at what's owed on commercial jobs, what's aging past terms, and what's due to come in over the next two weeks.
- Match cash flow timing to payroll and material purchases. Once you can see commercial receivables clearly, you can plan around them. If you know $15,000 is coming in on day 45, you can hold off on a discretionary purchase until it lands, instead of guessing.
Mistakes that undo it
- Tagging jobs after the fact instead of at invoice time. If you wait until month-end to sort which jobs were commercial versus residential, you'll misclassify some and the report becomes unreliable.
- Lumping deposits together. If a commercial payment and a batch of residential payments hit your bank the same day and get recorded as one deposit, you lose the ability to trace which invoice got paid.
- Ignoring the aging report because "it always gets paid eventually." Most commercial accounts do pay. But "eventually" isn't a cash flow plan, and an invoice that drifts from 30 days to 75 days is a different situation than one sitting at 30.
- Not following up on overdue commercial invoices. Tracking receivables only helps if someone actually calls or emails when a payment is late. The report tells you where to look; it doesn't collect the money for you.
Monthly checklist
- Confirm every invoice from the past month is tagged correctly as residential or commercial.
- Run the income statement split by class and check that the division matches what you expect from your job list.
- Pull the accounts receivable aging report and note any commercial invoice past 30 days.
- Compare total invoiced revenue to actual cash collected, and understand the gap.
- Flag any commercial customer who is consistently slow, so you can factor that into future bids or payment terms.
Common questions
Should I just require upfront deposits on commercial jobs to avoid this?
Some commercial customers will agree to a deposit or progress payments, others won't, especially larger property management companies and general contractors with standard net-30 or net-60 terms. Whether that's realistic depends on your relationship with the customer and how competitive the bid process was. Either way, tracking receivables separately helps you see the real impact of their terms.
Does this mean commercial work is bad for my business?
No. Commercial contracts can sometimes bring in larger, more predictable volume than residential calls. The issue isn't that commercial work is worse, it's that it behaves differently in terms of cash timing, and your books need to reflect that difference so you're not caught short.
How far back should I set up this tracking if I haven't been doing it?
That depends on how your records are currently organized. In general, it's easier to start the split going forward and clean up a recent stretch, maybe the last three to six months, rather than trying to reclassify years of transactions. We can help assess how much cleanup makes sense for your specific books.
What if I only have one or two commercial jobs a year?
If commercial work is rare for you, the weekly review can be lighter, maybe a quick check whenever an invoice goes out. The separate tracking still matters, because even one slow-paying job can distort your monthly numbers if it's mixed in with everything else.
North Hudson Bookkeeping sets up this kind of tracking for plumbing businesses and keeps it current month to month, so you always know what's cash and what's still owed. The first call is free.
