It's 7:40 on a Tuesday in October. Your two-man crew is parked outside 412 Oakmont, ladder off the rack, and the gutters are clean. Not clean because they did them — clean because you did them three weeks ago on a warranty callback that never got logged, and the office rebooked the same address off a note in someone's text thread. That's 35 minutes of drive time, two guys standing around, and a phone call to a customer who now thinks you don't know what you're doing.
The job was worth $285. The mistake cost you more than the job.
This is the small-ticket problem in a nutshell. Installations get attention because they're big and the margin is obvious. Cleanings, repairs, downspout extensions, re-hangs, and warranty visits are where the money quietly leaks out — one route at a time, one un-invoiced repair at a time, until you're doing 40 service calls a month and can't work out why the bank balance looks like you did 25.
Why small tickets punish sloppiness
A $12,000 install can absorb a lot of inefficiency. Lose an hour to a supply run, eat a $200 change order, wait 45 days to get paid — the job still clears. That same hour on a $400 gutter cleaning is the entire margin.
Run the numbers on a typical service call. Two techs at a loaded cost of roughly $38 an hour each, so $76 an hour out the door. The job itself takes 75 minutes. Drive time is 30 minutes each way. Add 10 minutes of setup and 10 of tear-down, and you've spent 2 hours and 35 minutes of crew time on a job you priced at 75 minutes of work. That's around $195 in labour against a $400 ticket, before fuel, insurance, the truck, disposal, and the office time it took to book and bill it.
Small-ticket service work is only profitable when the non-productive time is controlled. Everything below is a way that time — or the revenue attached to it — disappears.
Eight ways the margin goes missing
1. You route by booking order instead of geography
Most gutter companies book service calls in the order the phone rings. Monday's list ends up being a job on the north side, one on the south side, and one out past the county line, because that's the sequence the customers called in.
Windshield time is the single largest hidden cost in small-ticket work. Three jobs spread across a metro area can easily mean 2.5 hours of driving. Three jobs in the same two neighbourhoods might mean 40 minutes. Same revenue, roughly two hours of crew cost difference, and an extra job's worth of capacity you never got to sell.
The fix is a booking rule, not a technology purchase: assign geographic zones to days. North side Tuesday and Thursday, south side Monday and Wednesday, outlying areas Friday. When someone calls for a cleaning, you offer the next date in their zone. Customers accept it almost every time if you say "we'll be in your area Thursday." The ones who insist on a specific date pay a premium or wait.
Where scheduling software earns its keep is showing you the day's jobs on a map before the crew leaves, so an obvious detour gets caught at 6:30am instead of 11:00am.
2. The crew arrives without knowing what they're walking into
A two-storey colonial with a steep roof, mature oaks, and a locked side gate is a completely different job from a ranch with open access — but if the work order says "clean gutters, $350," the crew finds out on arrival.
Then the calls start. Do we have the 32-foot ladder? Is this priced for two storeys? The gate's locked and nobody's home. There's a screen system on the back run — do we pull it?
Every one of those calls is dead crew time plus office time. Worse, half of them end with the crew doing work that wasn't priced, or leaving and coming back.
The answer is a standard set of intake questions at booking — number of storeys, roof access, gutter guard type if any, gate or dog situation, last service date, known problem areas — and making sure those answers ride along on the work order in the field, not in a spreadsheet on the office desktop. A job management system that pushes the full site record to the crew's phone removes an entire category of phone calls. ExteriorPro does this; so do several others. The point is that the information has to travel with the job.
3. No before-and-after photo record
A customer calls in December: "You cleaned my gutters in October and there's water pouring over the front corner." Do you have any idea what that corner looked like in October?
Without photos you have two options. Send a crew for free and eat the visit, or argue with the customer and risk the review. Most owners send the crew, because the review costs more. Do that six times a season and you've given away several thousand dollars of capacity.
Photos change the conversation entirely. "Here's the corner after we cleaned it, and here's the photo of the fascia — that section was already pulling away from the board. We flagged it and quoted you for the re-hang." Now it's a paid repair instead of a free callback, and the customer trusts you more, not less.
Make it a crew rule: four photos minimum on every service call — downspout outlets, each run cleaned, any damage found, and the ground left clean. It adds 90 seconds. Store them against the customer record, not in a camera roll.
4. Repairs done "while we're up there" that nobody bills
This one is cultural and it's expensive. A good tech finds a loose hanger, a separated seam, a downspout that's come off its strap. They're already on the ladder. They fix it in eight minutes and mention it to the homeowner, who says thanks. Nobody writes it down.
Eight minutes of labour is trivial. The problem is volume and precedent. Across 40 service calls a month, that's five hours of unbilled work, plus sealant and hangers, plus a customer base trained to expect repairs are included in a cleaning price.
You don't want to stop techs from fixing small things — fast fixes build loyalty and the callback you avoid is worth more than the eight minutes. What you want is for it to be recorded and communicated, even at no charge. A line on the invoice reading "Resecured two hangers, front elevation — no charge" does two jobs: it shows value, and it establishes that this is a service with a price, not an assumption.
Anything over about 15 minutes or requiring materials gets approved and billed on the spot. Give techs a simple repair price list so they don't have to call the office to quote a downspout strap.
5. Invoicing happens back at the office, days later
The single worst habit in small-ticket service work is leaving the property without payment.
A $400 invoice that goes out three days later, gets paid in 18, and takes two follow-up calls has consumed more admin time than the job deserves. And collection rates drop fast — a service invoice sitting at 45 days is significantly less likely to be paid in full than one presented on-site.
Service work should be closed out in the driveway. Work completed, photos attached, invoice generated, card taken or payment link sent while the crew is still packing the ladder. If the customer isn't home, the invoice still goes out that hour with the photos attached, because the value is freshest right then.
This is the clearest case for having your job management, invoicing, and payments in one system rather than three. If the tech has to close the job in one app and the office has to key it into accounting later, it won't happen same-day, and you'll be chasing money you already earned.
6. Warranty callbacks aren't separated from paid work
Ask yourself: what percentage of your service calls last month were warranty returns, and what did they cost you?
Most owners can't answer. Warranty visits get booked like any other job, run like any other job, and disappear into the schedule. So you never see the pattern — that one installer's jobs come back at three times the rate of everyone else's, or that a particular sealant fails in cold snaps, or that the guard system you started pushing generates twice the callbacks of your old one.
Tag every job with a type: cleaning, repair, install, warranty, estimate. Track warranty visits as a percentage of completed installs, and put a cost against them — crew hours plus materials. Once you can see it, a 6% callback rate becomes a training problem you can solve rather than a background cost you absorb.
7. The price doesn't cover the cost of showing up
Working backward from the maths at the top: if a crew visit costs you roughly $75-$100 in labour and vehicle time before a single leaf moves, then your minimum service ticket needs a floor that reflects that. A $150 "quick repair" 25 minutes from your yard is a losing job, no matter how simple the repair.
Two adjustments fix most of this. First, set a genuine minimum service call — most gutter companies in 2026 should be somewhere north of $200 — and hold it. Second, band your pricing by distance. Zone one is base price; anything beyond a 25-minute drive carries a travel charge or gets scheduled only on days you're already out there.
You will lose a handful of jobs. They're the jobs that were costing you money.
8. Cleanings stay one-off transactions
A gutter cleaning customer is the cheapest lead you will ever get for a guard system, a re-hang, or a full replacement. You've been on their roof. You know the condition of their fascia and the age of their gutters. They've already paid you once.
And most gutter companies do absolutely nothing with that. The job closes, the record goes quiet, and 18 months later the customer googles "gutter guards near me" and hires somebody else.
Three things worth building:
- A recurring service list. Anyone who's had one cleaning gets contacted at the start of the next season. This alone can fill a significant share of your spring and autumn schedule before you spend a dollar on advertising.
- A flagged-opportunity field. When a tech notes rusted-through sections or undersized downspouts, that becomes a follow-up estimate, not a note that evaporates.
- A structured quote follow-up. Small-ticket customers are the easiest to sell higher-ticket work to, and almost nobody follows up on quotes more than once.
Keeping customer history, job photos, and open estimates in one place is what makes this practical rather than aspirational. If you have to dig through three seasons of paperwork to remember who has a 20-year-old aluminium system, you won't do it.
What to measure
Two numbers tell you whether your service side is actually working.
Revenue per crew hour, door to door — total service revenue divided by all hours from yard-out to yard-in, including drive time. Track it weekly. If it's drifting down while your ticket prices hold, you have a routing or scheduling problem.
Callback rate — warranty visits as a percentage of completed jobs, by crew. This is the number that tells you whether your quality problem is a training issue, a materials issue, or a specific person.
Neither is useful if the data lives in a text thread.
Ready to get organised?
ExteriorPro is job management software built for exterior contractors — scheduling, routing, site history, photo records, quotes, and invoicing in one place, so a $400 job doesn't cost you $500 to deliver.
Start your free 30-day trial No credit card required. Cancel anytime.