All stories

Customer story

Your PSA Stays Granular. Your Invoice Stays Clean.

How custom invoicing turned a ConnectWise invoice back into a brand asset — without giving up a single line of internal tracking.

Filed in Custom invoicing

The customer

A ConnectWise-based MSP that sells a productized, per-seat managed offering — a bundled service wrapping hardware, lifecycle coverage, and managed services into one named product, sold at a flat per-workstation price.

The tension: internal granularity vs. external clarity

Any finance person or ConnectWise admin running a productized-service MSP knows this split:

The default ConnectWise invoice forces a choice between those two. You either flatten your PSA data (and lose internal tracking, coverage math, and lifecycle reporting) or you ship the customer a ~17-row tangle of sub-items with $0 agreement-coverage lines and quantities that don’t match how the product is actually sold. Neither is a good answer.

The customer bought a product, not a bill of materials.

The ask

The customer came to us with a concrete problem: confusing invoices were generating billing questions every cycle. Clients would email asking “why does this line say $0?” or “what’s the difference between these three sub-items?” The productized brand — the whole point of selling a named, per-seat service — was disappearing the moment the PDF landed.

They weren’t willing to restructure their PSA to fix it. They shouldn’t have to.

What we built

A custom rollup that runs at render time, inside Better Invoice, without touching a single row in ConnectWise:

The ConnectWise side is unchanged. Every sub-item is still there, still tracked, still feeding agreement coverage math and lifecycle reporting. The transformation is purely in how the invoice renders.

The result

A CW invoice that used to be ~17 fragmented rows becomes about four clean branded rows — the main product line, plus a tidy Add-ons section when there’s anything outside the base seat. Billing questions dropped. The invoice now reads the way the service is sold.

~17Rows before
~4Rows after
0PSA changes

Why this matters

Why it’s possible

Better Invoice’s custom invoicing lets us ship bespoke rendering logic scoped to a single customer — without forking the product, without branching templates, and without asking the customer to change how they run ConnectWise. We meet your data model where it lives.

If you have a named, productized offering that doesn’t show up cleanly on your CW invoices today, that’s exactly the problem Better Invoice’s custom invoicing was built to solve.

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 →