Custom Extensions

We turn your ConnectWise spreadsheet into what they actually bought.

Your client didn't buy a list of SKUs. Stop billing them like they did. ConnectWise prints GL codes, agreement adjustments, and prorate lines that make sense to your PSA and mean nothing to the person writing the check. We reshape every line into language they recognize, so the invoice reads like a receipt instead of a database export.

Merge work types into one line Reshape
Description
Qty
Rate
Amount
Travel From, Travel To, On-site, and Remote roll up into one line, then take a single clean name. The hours and total never move.

Name it. We've built weirder.

Everything on the invoice can be adjusted

There's no fixed list. Every extension does one of four things — it translates ConnectWise's language, reshapes the structure, cleans up the noise, or tailors the invoice to how you bill. Here's a sampling to show the possibilities.

A product, not a bill of materials.

A productized per-seat offering bills each add-on across every user. The seats your base plan already covers fold up into the per-user line; only the overage beyond your base seats lands in a tidy Additions group. The total never moves, and ConnectWise stays granular.

One product line, plus Additions Reshape
Description
Qty
Rate
Amount
Add-ons billed across more users than your base seats fold their covered seats into the per-user line; only the overage above your 14 seats lands under Additions. Same total, nothing touched in ConnectWise.

Your GL codes are for you. Not them.

“101 - ”, “8810 - ” — the prefixes that keep your PSA tidy mean nothing on a customer’s bill. They come off the moment the invoice renders.

Strip leading codes from work roles & types Translate
Description
Qty
Rate
Amount
Internal numeric prefixes are removed from role and work-type names. Same lines, same totals.

And dozens more — none of them on a menu:

Group products by vendor or category

Sub-head the product list — Microsoft, Hardware, Licensing — with an optional subtotal under each, instead of one flat list.

Split bundle add-ons into their own group

Pull anything billed beyond a bundle’s per-device quantity into a separate “Add-ons” group, so overage is clear and never disappears into the bundle line.

Blank master-agreement quantity & price

For master-agreement roll-up items, blank the quantity and hide the unit price so the summary line reads cleanly.

Show subcontracted products as labor

Reclassify product lines that are really subcontracted labor into the services section, grouped with your in-house work of the same role.

See it in a story →

Re-express labor at a blended rate

Show one agreed effective rate across roles, adjusting the displayed hours so each line total is unchanged.

Surface a project custom field as a row

Surface a ConnectWise project custom field as a row in the project details.

$0 lines add nothing but doubt.

Included and bundled-at-no-charge rows pad the invoice with lines a client has to mentally skip. We drop them from the print and leave them untouched in ConnectWise.

Hide $0 / included items Clean up
Description
Qty
Rate
Amount
The $0 filler ConnectWise leaves behind is dropped from the printed invoice. The total never moves.

One product. One quantity. One line.

Per-seat additions pile up as separate rows in your PSA. We combine them into a single quantity line at the same price — easier to read, identical to bill.

Roll up per-seat agreement additions Reshape
Description
Qty
Rate
Amount
Repeated per-seat lines combine into one quantity line — same price, same total.

Keep going. You describe the behavior; we build it and switch it on. No roadmap, no waiting:

Show each expense’s own description

Surface the expense entry’s own description on the expenses table, so a line shows what the expense was — not just its type and amount.

Group expenses by category

Bucket expenses by Travel, Software, or Hardware with a subtotal for each.

Show the account manager in the header

Pull the client’s assigned account manager from your PSA and print their name in the invoice header.

Use the agreement name as the section title

Promote the agreement name to the section heading and drop the redundant in-table heading row.

Show the invoice group’s short name

Display the ConnectWise invoice group’s short name as a small label above the group description.

Order tax lines in Canadian convention

Sort the tax summary into Canadian convention, with GST/HST before PST/QST.

“Prorated” should mean prorated.

ConnectWise stamps “prorated” on full-month lines, drops American slash dates with a stray colon, and lets Pax8 ranges through untouched. Three separate cleanups, applied in one pass — hover to watch all three.

See it in a story →
Clean up “prorated” date lines Clean up
Description
Qty
Rate
Amount
Drops the phantom “prorated” label from full-month lines and rewrites the lines that were actually prorated into one “start date” format. Charges never move.

Bill the name on the contract.

Invoice the parent company, the holding company, or the registered legal name — pulled from a ConnectWise custom field, with nothing changed on the company record itself.

Use an alternate bill-to name Tailor
Print the legal or parent-company name from a ConnectWise custom field — without touching the company record.

Real builds for real MSPs

Each of these started as one shop saying "our invoice should do this." Then it did.

Your invoice is one of the few documents every client actually reads line by line. Someone on their end reconciles it against what they think they bought, and "Agreement Adjustment — Tier 2 Prorate" matches nothing they recognize. If they pay by check, it sits while they chase down what it means. If they're on auto-pay, the money's already gone, and now they're staring at a charge they can't explain, wondering what else they've missed. Either way, you've planted doubt in the person who decides at renewal whether you're worth keeping.

You spent years earning that trust. One line nobody can read spends it for you. So fix the line. Send us the one invoice that bugs you most. We build the extension, switch it on, and it cleans every invoice from then on. Nothing to install. Nothing to maintain. Your tickets, agreements, and totals stay exactly as they are in ConnectWise. And it costs you nothing to try.

You describe it. We build it. Free.

Send us your worst invoice →

Free to build. Nothing to install. Your ConnectWise data never changes.

Ready to send better invoices?

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

Get started free →