HVAC Cash Flow: How to Get Paid Faster and Stop Financing Your Customers
Profitable HVAC shops run out of cash all the time. Where the money gets stuck between a finished job and your bank account - unbilled work, late invoices, install deposits, commercial terms - and the collection system that gets it out.
Some links to software vendors may be affiliate links. If you click through and sign up for a tool, we may earn a commission at no cost to you. Affiliate relationships do not influence our rankings. How we review.
A profitable HVAC company can still run out of money. The work is done, the margin is real, the P&L looks fine - and payroll is Friday, the distributor statement is due, and the cash is sitting in invoices nobody has paid yet. Profit is what the job earned. Cash is what you have actually collected, and the gap between them is where shops get into trouble.
Most of that gap is self-inflicted. Residential customers will pay at the door if they are asked to; they pay in 30 days because someone sent an invoice instead. Installs get finished and invoiced three days later. Commercial invoices go out without a purchase order number and come back unpaid a month later. Some jobs never get invoiced at all.
This guide is about closing that gap: how to measure how long your money takes to arrive, where it gets stuck in a residential and a commercial shop, how to handle deposits and financing on installs, the follow-up sequence for the invoices that do go out, and the weekly cash routine that keeps the slow season and a growth spurt from turning into a crisis. The numbers are examples; run your own.
Key takeaways
- →Measure days sales outstanding (DSO): receivables divided by average daily revenue. A shop billing $250,000 a month (about $8,300 a day) with $200,000 in receivables is at 24 days. Bringing that to 10 days frees about $117,000 of cash once - money that was already earned.
- →Residential service should be collected at completion, in the driveway, every time. Sending an invoice to a homeowner converts a finished sale into a collections task. Make payment part of the job close-out in your field platform, not a separate step.
- →Count unbilled work. If 2 percent of 600 monthly calls close without an invoice or payment, that is 12 jobs at $450 - about $5,400 a month, or roughly $65,000 a year that is not late, it is gone. Run a daily completed-but-not-invoiced report.
- →Installs are where the cash is tied up. Twelve $9,000 installs a month that get paid 21 days after completion keep roughly $75,000 of earned revenue permanently in receivables. Take a deposit at signing where your state allows it, collect the balance at the walkthrough, and submit financing paperwork the same day.
- →Commercial work is paid on terms, so the invoice has to be right the first time: purchase order number, the customer's required format, the right billing contact, sent the day the work closes. A rejected invoice adds a full payment cycle.
- →Run a written follow-up sequence on every open invoice - pay link at day 0, reminder at day 7, phone call at day 14, formal notice at day 30, a decision at day 60 - and review receivables aging weekly, not when the bank balance looks low.
- →Keep a 13-week cash forecast and look at it every week. Profit tells you whether the business works. The forecast tells you whether you can make payroll in February.
Profit and cash are different numbers
The P&L records a job when it is done. The bank account records it when the customer pays. Between those two events, you have already paid for the work: the technician's wages went out on payday, the equipment came off your distributor account, the truck burned the fuel. Until the customer pays, you are financing them.
That is manageable when the gap is a few days. It becomes a problem when it stretches to weeks across hundreds of jobs, because the total amount of your money sitting in other people's hands grows with your revenue. This is why fast-growing shops are often short of cash: every extra install adds equipment and labor you pay for before the customer pays you.
Two other things widen the gap in this trade. Seasonality means the cash you collect in July has to carry you through the quiet weeks of spring and fall - the seasonality guide on this site covers sizing that reserve. And maintenance plan fees collected up front are deferred revenue, not money you are free to spend; the visits they pay for are still coming.
None of that changes whether the business is profitable. It changes whether you can pay your bills on time while being profitable, and that is the test that actually closes companies.
Measure how long your money takes to arrive
The core number is days sales outstanding (DSO): your total receivables divided by your average daily revenue. It tells you, on average, how many days of revenue are sitting unpaid.
Take a shop billing $250,000 a month. Average daily revenue is about $8,300. If its receivables balance is $200,000, DSO is about 24 days - three and a half weeks of revenue earned and not collected. If the same shop brought DSO down to 10 days, receivables would fall to about $83,000, and roughly $117,000 would move into the bank. That is a one-time release of cash the business already earned, and for many shops it is more than any loan they could get.
Split the number by type of work, because one blended figure hides the problem. Residential service should be close to zero days if payment is collected at completion. Residential installs should be a few days at most. Commercial work will carry its payment terms - often net 30 - and a DSO meaningfully above those terms means invoices are going out late or wrong.
Then look at aging: how much of your receivables is current, 31 to 60 days, 61 to 90 days, and over 90. QuickBooks Online ($38 to $340 a month depending on tier) and every major field platform produce an aging report. The older an invoice gets, the less likely it is to be paid in full, so the over-60 bucket deserves attention every week.
Last, measure unbilled work: jobs marked complete in the field platform with no invoice or no payment attached. This is not a receivable, which is why it does not show up on the aging report. It is the most expensive leak in this guide because nothing reminds anyone it exists.
Residential service: collect before the truck leaves
For residential service and repair, the right DSO is zero. The homeowner is standing there, the problem is fixed, and every field platform can take a card on the technician's phone. Sending an invoice afterward turns a finished sale into a collections job that someone in the office will chase for weeks.
Make collection part of the job, not a separate step. The technician presents the invoice before packing up, the customer pays by card, check or a financing option, and the job cannot be closed in the platform without a payment or a documented reason. Housecall Pro, Jobber, ServiceTitan, Service Fusion and the other field platforms all support collecting in the field; the policy is what makes it happen. A reasonable target is 95 percent or more of residential service jobs paid at completion.
Handle the exceptions on purpose. Landlords and property managers who are not on site, home warranty jobs, and customers who need to "talk to their spouse" are real. For the first two, get a card on file or an authorization when the call is booked. For the rest, send a text pay link before the tech leaves the driveway, so the invoice arrives while the work is still fresh.
Card processing is the cost of this, typically 2.6 to 3.5 percent of the transaction. On a $450 ticket that is about $12 to $16, which is far cheaper than a month of follow-up and the share of invoices that never get paid. If you want to pass the fee on, either build it into your prices or check card network rules and your state's law before adding a surcharge - the rules differ by state and are easy to get wrong.
Close the unbilled-work leak
Unbilled work is the job that gets done and never invoiced: the second trip that was not added to the ticket, the warranty call that turned out to be billable, the add-on repair a tech did "while they were there", the job closed on the phone at the end of a long day with the invoice left for later.
It sounds small, and on any single day it is. On 600 calls a month, if 2 percent close without an invoice or a payment, that is 12 jobs a month at a $450 average ticket - about $5,400 a month, or roughly $65,000 a year. That money is not late. Nobody will ever ask for it. The truck stock guide on this site covers the related leak of parts that go into jobs without being billed.
The fix is a report and a habit. Every morning, someone in the office runs the list of jobs completed the previous day with no invoice, a zero-dollar invoice, or no payment, and resolves each one before lunch: invoice it, collect it, or record why it is legitimately no-charge. Callbacks and warranty work should carry their own job type so they do not clutter the list.
Then look for patterns. If the same technician or the same job type shows up on the list every week, the problem is a process or a training gap, not bad luck. Most of it disappears once techs know the list exists and the job cannot close without a payment or a reason.
Installs: deposits, walkthrough collection, and financing
Replacements are where the cash gap is widest, because the costs are large and they land before the customer pays. On a $9,000 install at a 45 percent gross margin, roughly $4,950 of equipment, materials and labor goes out the door - the equipment on your distributor account and the crew on this week's payroll.
Now consider timing. If a shop completes 12 of those installs a month and gets paid 21 days after completion on average, about $75,000 of finished, earned install revenue is sitting in receivables at all times. Collect at completion instead, and that money is in the bank.
Take a deposit at signing. A deposit confirms the customer is committed, covers part of the equipment cost, and reduces the cost of a cancellation after you have ordered. Some states cap down payments on home improvement contracts or regulate how they are taken, so check your state's rule before writing a standard policy. Quoting tools and field platforms that collect a deposit when the customer signs the proposal remove the step where someone has to call back for it.
Collect the balance at the walkthrough. The installer or the comfort advisor walks the customer through the new system, confirms everything works, and takes payment before leaving - the same rule as a service call, with a bigger number. Do not let "we'll send you the invoice" become the default on the largest tickets you sell.
Treat financing as collection, not as a sale that is already paid. Consumer financing usually funds after the customer signs off on completion, so submit the completion paperwork the same day the job finishes and track funding the way you track any receivable. The dealer fee is real cost; the financing guide on this site covers building it into your price book.
Commercial work: get the invoice right the first time
Commercial customers pay on terms - commonly net 30, sometimes longer - and through an accounts payable process you do not control. You cannot make that process faster, but you can stop making it slower.
The biggest self-inflicted delay is the rejected invoice. A missing or wrong purchase order number, an invoice sent to the facilities manager instead of accounts payable, the wrong site address, no signed work order attached, or an invoice emailed when the customer requires it uploaded to a vendor portal - each one means the invoice comes back, is corrected, and starts the payment cycle again. On net 30 terms, one rejection can turn 30 days into 60.
Build a billing profile for every commercial customer when the account is set up: PO requirements, the billing contact, the invoice format, attachments required, portal login, and payment terms. Then invoice the day the work closes, not at the end of the week or the month. Every day between completion and the invoice is a day added to the payment.
On contracts, bill in advance - monthly or quarterly - rather than in arrears after the visit; the commercial maintenance contracts guide covers the terms. On project work, bill progress payments against completion rather than waiting for the job to close, and track retainage separately: a GC holding back a percentage, commonly 5 to 10 percent, until the end of the project is money you have to collect on its own schedule.
Know your lien rights. Mechanic's lien and preliminary notice deadlines are set by each state and are strict - on many projects, a notice that is not sent early in the job cannot be sent later. Keep a calendar of those deadlines for every project and talk to a construction attorney in your state about the requirements. The commercial software guide on this site covers platforms that handle PO numbers, progress billing and retainage, which residential tools generally do not.
A follow-up sequence for every open invoice
Even with collection at completion, some invoices will go out. Without a written process, each one gets chased when someone remembers, by whoever has a minute, in whatever tone they are in that day. That is how invoices get to 90 days.
Write the sequence down and automate as much of it as your software allows. Day 0: the invoice goes out with a pay link by text and email. Day 7: an automatic reminder with the pay link. Day 14: a phone call from the office - friendly, specific, asking whether there is a problem with the work. Day 30: a formal past-due notice by email and mail. Day 60: a decision about what happens next, made by the owner or office manager rather than left to drift.
The day 14 call matters most, because a late residential invoice often is not about money. It is a customer who thinks something was not fixed, or was charged for something they did not expect. Finding that out at day 14 gives you a service problem to solve. Finding it at day 90 gives you a bad review and an uncollectable invoice.
At day 60, the realistic options are a payment plan, small claims court, a collection agency (which typically keeps a meaningful share of what it recovers), a lien where the work qualifies, or a write-off. Decide which applies by size and by customer, and then do it. A $180 invoice is rarely worth a court date; a $9,000 install usually is. Either way, stop doing new work for customers with balances past 60 days until the balance is resolved.
Most field platforms and QuickBooks Online can send invoice reminders automatically, and AI-assisted tools increasingly draft and send follow-ups on a schedule. Automation handles days 0, 7 and 30 well. Keep the day 14 call human.
Manage the money going out, too
Collections are half of cash flow. The other half is when your own bills are due, and the goal there is simple: pay on time, on terms, every time. A distributor account in good standing is a line of credit you do not pay interest on; a distributor account on credit hold during a heat wave stops installs.
Line up your terms with your collections. If your distributor bills on monthly terms and your installs are collected at completion, the equipment is often paid for by the customer before the statement is due - which is exactly how it should work. If your installs are collected in 30 days and the distributor wants payment in 30, you are financing the whole job yourself.
If your distributor offers an early-payment discount, do the math before ignoring it. A 2 percent discount for paying 20 days early is worth roughly 37 percent a year, which is better than almost anything else you can do with the money - but only if paying early does not leave you short at payroll. Fix collections first, then take the discounts.
Set aside money for taxes and for the slow season as it comes in, rather than finding it later. A separate account for each, funded by a fixed percentage of every week's collections, keeps peak-season cash from looking like spendable profit. Open or increase a line of credit while the business looks strongest, during peak season, not when you need it.
The weekly cash routine
Keep a 13-week cash forecast: a simple spreadsheet with cash on hand today, the collections you expect each week (open receivables by expected pay date, plus scheduled installs and normal service volume), and the payments going out each week (payroll, distributor statements, rent, truck notes, insurance, taxes, software). The bottom line is the projected cash balance at the end of each of the next 13 weeks.
Thirteen weeks is long enough to see the slow season coming and short enough to be accurate. The point is not precision - it is seeing a bad week two months ahead, when you can still move a purchase, push a collection, or draw on a line of credit, instead of finding out on the Thursday before payroll.
Spend 15 to 30 minutes a week on it with whoever runs the office. Update cash on hand, roll the forecast forward a week, and look at five numbers: DSO, the over-60 receivables balance, unbilled completed jobs, residential jobs paid at completion as a percentage of jobs completed, and install revenue awaiting payment or financing funding. Those five tell you where the cash is stuck before the bank balance does.
Software makes this easier but does not do it for you. QuickBooks Online holds the receivables and payables; your field platform holds completed jobs and payments; the integrations guide on this site covers keeping the two in sync so the numbers agree. The routine is what turns the data into decisions.
A 30-day plan to fix cash flow
Week 1: measure. Pull your receivables aging, calculate DSO for residential service, installs and commercial separately, and run a completed-but-not-invoiced report for the last 90 days. Invoice or collect whatever that report finds.
Week 2: change the defaults. Make payment at completion the standard for residential service and installs, require a payment or a documented reason to close a job, and set up deposits at proposal signing within your state's rules. Build billing profiles for your commercial customers.
Week 3: start the follow-up sequence on every open invoice, turn on automatic reminders, and schedule the day 14 calls. Make the decision on everything already past 60 days.
Week 4: build the 13-week forecast and hold the first weekly cash review. From then on, track the five numbers every week. Most shops see DSO and unbilled work drop within the first month, because the fixes are mostly habits, not software.
Tools mentioned in this guide
Tool rankings for this topic
Frequently asked questions
Q.Why does my HVAC business have no cash when it is profitable?
Because profit is recorded when the job is done and cash arrives when the customer pays. In between, you have already paid the technician, the distributor and the truck. Late invoicing, invoices sent instead of payment collected at completion, unbilled jobs, slow commercial payments and fast growth in installs all widen that gap. Measure days sales outstanding and unbilled completed jobs to see where the money is stuck.
Q.What is a good DSO for an HVAC contractor?
Measure it by type of work. Residential service should be close to zero days if payment is collected at completion, residential installs a few days at most, and commercial work near its payment terms, often 30 days. A blended figure well above those numbers usually means invoices are going out late or wrong. For example, a shop billing $250,000 a month with $200,000 in receivables is at about 24 days; getting to 10 days frees about $117,000.
Q.Should HVAC contractors take a deposit on installs?
Usually yes, within your state's rules. A deposit at signing confirms the customer's commitment, covers part of the equipment cost, and limits the cost of a late cancellation. Some states cap down payments on home improvement contracts or regulate how they are taken, so check the rule in your state before setting a standard policy. Collect the balance at the final walkthrough, not by invoice afterward.
Q.How do you get commercial HVAC customers to pay faster?
Remove the reasons they pay late. Set up a billing profile for each customer with the purchase order requirements, the right accounts payable contact, the required invoice format and any vendor portal, then invoice the day the work closes. Bill maintenance contracts in advance, bill projects in progress payments, and follow up on every invoice on a fixed schedule. A rejected invoice restarts the payment cycle, so getting it right the first time matters most.
Q.What should an HVAC company do about unpaid invoices?
Follow a written sequence: pay link at day 0, reminder at day 7, a phone call at day 14 to find out whether there is a problem with the work, a formal notice at day 30, and a decision at day 60 - payment plan, small claims, collection agency, lien where the work qualifies, or write-off, depending on the size of the balance. Stop doing new work for customers with balances past 60 days.
Q.What is a 13-week cash flow forecast?
A week-by-week projection of cash on hand for the next 13 weeks: starting cash, expected collections each week, and payments going out each week such as payroll, distributor statements, rent, truck notes, insurance and taxes. Updated weekly, it shows a cash shortfall two or three months ahead, when you can still move a purchase, push a collection or arrange credit, instead of finding it the week of payroll.