All stories

Customer story

The Drive Isn't a Line Item

You still bill every hour. The customer just shouldn't have to read whether it was remote, on-site, or windshield time — it all folds into one labor line.

Filed in Custom invoicing

The customer

A ConnectWise-based MSP that delivers work three ways — remotely, on-site, and the travel in between — and, like most shops with techs in the field, tracks each as its own work type in ConnectWise Manage. Remote, On-site, and Travel: one work type for every way a tech’s time gets spent.

That split is deliberate, and it’s the right call internally. It’s the wrong thing to put in front of the customer.

The tension: a split that’s right inside, wrong outside

Inside the PSA, separating those work types earns its keep. It’s how you see real tech utilization — remote support versus on-site wrench time versus windshield time — and how you understand what a job actually costs you to deliver. Collapse the distinction and you lose visibility into how your team’s hours are really spent.

On the invoice, that same split does nothing but harm.

The sharpest example is travel. A separate Travel line under a visit reads like nickel-and-diming. The customer agreed that on-site work means someone drives out — but seeing “Travel: 0.75 hrs” itemized next to the labor makes it feel like they’re being charged extra to watch your tech sit in traffic. Even when it’s in the agreement, it generates the same call every cycle: “Why am I paying for travel?”

But it’s the same problem across all three. Remote, on-site, travel — the customer bought help with a problem. Itemizing how you delivered it turns one service into a three-line breakdown of your own operations.

The customer bought help. Whether it came over a wire or out of a truck is your operation, not their line item.

What we built

A tenant extension that merges any number of work types into one before the invoice renders.

Point it at Travel, On-site, and Remote, choose the single labor type they should collapse into, and those three rows become one. The hours combine, the amounts combine, and the customer sees a single Labor line that reads like the service they actually bought. Every hour is still billed — it’s just presented as the one thing it was to them: support.

Inside ConnectWise, nothing changes. All three work types still exist, still logged separately, still feeding your utilization and job-costing reports. The merge happens only in how the invoice renders.

The result

One clean labor line per job instead of three. The invoice reads the way the service felt — someone helped, and the problem got solved — and the recurring “why am I paying for travel?” question goes quiet.

3Work types
1Invoice line
0PSA changes

Why this matters

Why it’s possible

This is the same instinct behind keeping your PSA granular while the invoice stays clean: the way you model work for operations should never dictate what the customer sees.

You pick which work types to merge — two, three, or more — and the single type they collapse into, and the extension does the rest at render time, matching by work type so renaming things in ConnectWise later never breaks it. It’s a tenant extension: a narrow behavior scoped to one customer, not a fork of the product or a change to how you run your PSA.

End of story

Ready to send better invoices?

Start for free. Your invoices should look as good as the work you do.

Get started free →