ROI CalculatorReviewsComing Soon
Blog

Cash Flow Survival for Seasonal Trades in Quebec: HVAC, Roofing, Landscaping

Relanco5 min read

April hits and suddenly your phone won't stop. Every HVAC company in Montreal is booking tune-ups. Roofing crews are back on rooftops across the Laurentians. Landscapers are running six days a week. This is the time of year you've been waiting for since November.

It's also when invoices pile up unpaid and you're too busy to notice.

Quebec trades contractors (HVAC techs, roofers, landscapers, electricians) collect most of their annual revenue between April and September. That same window is when accounts receivable problems peak: invoice volume spikes, clients are juggling multiple projects, and there is no time to chase payments manually.

Here's what tends to happen. You're doing the work, invoicing as you go, assuming money will follow. It mostly does. But when you're running 15 jobs at once, following up on the invoice from three weeks ago falls to the bottom. A client forgets. Another one is stretched because they hired three contractors at once for spring renovation. A third just slow-pays as a habit and counts on nobody chasing them during rush season.

By the time October arrives and the phone gets quiet, you're staring at an accounts receivable list that looks like a timeline of your busiest months.

Why busy season produces the slowest collections

The gap between invoice and payment gets longest exactly when you're running the most jobs. More work means more money, eventually. It also means 40 open invoices instead of five, and no time to track which ones are going stale.

Clients managing multiple spring projects are short on cash too. They pay whoever follows up first. If you're not following up, you're not at the top of the list. Meanwhile, you're writing new proposals, managing active jobs, and the 21-day overdue invoice from late March isn't getting any attention.

Email reminders don't help much here. They get buried. The client sees it, thinks "I'll deal with that this afternoon," and then doesn't. SMS does better: a text at 9 AM on a Tuesday gets read. Text messages have a 98% open rate; business email averages around 20%. The math isn't close. But when you're on a job site from 7 to 5, sending those texts manually isn't happening.

The deposit question

One thing the busiest contractors figure out before their third or fourth season: deposits change everything.

Asking for 30 to 50 percent upfront isn't unusual in trades work. For a $4,000 HVAC replacement, asking for $1,500 to $2,000 before you touch the unit is reasonable. Clients who balk at a deposit are often the same clients who'll slow-pay the final invoice. That's useful information to have early.

How you frame it matters. "I require a deposit to order your materials and book your install date" is different from "I need money upfront."The first explains the business reason. The second sounds like you don't trust them. Both result in a deposit, but the first keeps the relationship intact.

For ongoing service contracts, billing monthly or at each service visit works better than billing quarterly or at year-end. The amounts are smaller, easier for clients to manage, and the total you're chasing at any one time is lower.

Progress billing for bigger jobs

On projects over $5,000 or $10,000, billing in phases is standard. A roofing company doing a full tear-off and replacement doesn't wait until the job is finished to invoice. They split the billing between materials delivery and job completion.

You're collecting money before the job is done, which funds the job itself. And smaller invoices are easier for clients to pay than one large one. A $3,000 invoice feels manageable. An $8,500 invoice feels like a thing to be dealt with next week.

When manual follow-up breaks down

Say you're an HVAC technician in the Montérégie doing 12 service calls a week in April and May. You have 40 open invoices at different stages: some fresh, some 14 days out, a handful at 30-plus days overdue.

To manage the follow-up manually, you need to know which category each invoice falls into, have time to write and send the messages, and have the discipline to do it consistently while also running a busy operation. Most contractors manage the fresh invoices fine. The 30-day ones get ignored until they hit 60. By then, the client has mentally filed the invoice under "figure it out eventually" and you're having a harder conversation than you would have had at day 14.

Consistent follow-up at day 7, day 21, and day 45 is what separates contractors who collect most of their receivables from contractors who write off 5 to 10 percent of receivables a year. The 3-step reminder sequence is straightforward when you're managing five invoices. It gets unmanageable fast when you're managing forty.

The off-season collections problem

November arrives. You have time. You start looking at what you're owed.

The invoices from August are four months old. Some clients don't remember the job well enough to dispute it, but also don't feel urgency to pay. Others have moved on mentally. A few genuinely think they already paid.

Collections at 120 days is harder, slower, and more awkward than collections at 30 days. You're more likely to need to offer a discount just to close the file. You're more likely to damage the relationship even when you do collect.

This is the real cost of not following up during busy season. Not the cash flow gap over the summer. The 120-day conversation you're having in November about work you did in July.

Automating follow-up so it runs during the rush

Automatic reminders matter most in April, May, and June precisely because those are the months when you have the least time to send them manually.

QuickBooks doesn't send SMS reminders. FreshBooks doesn't either. The built-in email reminders on both platforms are generic and don't change tone over time. If a client is ignoring your email at day 7, the same email at day 21 won't move them.

Relanco connects to QuickBooks Online and FreshBooks, watches your invoice due dates, and runs the reminder sequence automatically. You set the timing and tone once. When April hits and you're booked solid, the reminders go out without you touching anything. By October, the receivables problem is smaller because the follow-up happened when it was supposed to.

Tired of tracking this yourself?

Running follow-up manually works when you have five invoices open. It breaks down when you have forty, and busy season is exactly when you'll have forty.

Relanco connects to both QuickBooks Online and FreshBooks, syncs your invoices, and runs your reminder sequences automatically: SMS, email, or both, in French or English.

$9 CAD/month for 2 months, then $29 CAD/month. 30-day free trial, no credit card required.

Frequently asked questions

When should I ask for a deposit from a new client?
For new clients, ask for a deposit on any job over $1,000. It is standard in trades work and gives you early signal about how the payment relationship will go. Clients who pay a deposit on time almost always pay the final invoice on time too.
How does milestone billing work for a roofing or HVAC job?
Split the total into two or three invoices tied to project stages: materials ordered or delivered, work started, and work completed. Each stage gets its own invoice with its own due date. This keeps cash coming in throughout the job rather than waiting for a single large payment at the end.
What happens to my existing overdue invoices if I connect Relanco mid-season?
Relanco picks up open invoices that are currently past due and starts the reminder sequence from where they are. You control which invoices get reminders and can exclude any you are already handling directly.

Relanco handles the timing and sends the messages. You just deal with the conversations.

Try Relanco free for 30 days →

Read also: The 3-Step Reminder Sequence Tradespeople Use to Collect Overdue Invoices

We respect your privacy
This site uses cookies to ensure it works properly and, with your consent, to analyze site usage. In accordance with Quebec's Law 25, analytics cookies are disabled by default.