Case study · Cleanup and implementation
From job-number deals to a working pipeline
A multi-division training and consulting firm owned HubSpot but used it mainly to generate job numbers for accounting. I cleaned up the portal, rebuilt three division pipelines, tied QuickBooks invoices to deals by job number, and built reporting that shows whether the team is managing pipeline.
- Client
- Multi-division security training and consulting firm
- Platforms
- HubSpot Sales Hub and Marketing Hub, QuickBooks Online, Zapier, HubSpot private app
- Services
- Cleanup and implementation, reporting
Key result
98%
of historical revenue tied to accounts in HubSpot, split by division
3
division pipelines built around how each team sells
826
duplicate contacts merged
99
renewal targets surfaced on day one
The situation
The firm sells training, consulting and protection services, each run by its own division lead with its own sales motion. HubSpot had been implemented years earlier, but the team had settled into using it for one thing: creating a deal when accounting needed a job number.
Everything else lived somewhere else. Pre-sale conversations sat in inboxes. Post-sale tracking lived in spreadsheets. Revenue lived in QuickBooks, split across two company files. Leadership could not see what was in progress, what each account was worth, or which clients were due for renewal.
What was getting in the way
Deals existed for accounting
They were created when a job was already won, so the pipeline showed almost nothing in progress.
Billing and CRM never met
Invoices carried job numbers in QuickBooks, but nothing tied them back to a deal or company.
Years of stale records
Deals sat in legacy stages, fields were duplicated, and list imports had created hundreds of duplicates.
Three divisions, three motions
Training books quickly, Consulting scopes longer engagements, Protection works through letters of engagement.
Every invoice now lands on the deal that produced it, which made pipeline, lifetime value and renewals measurable in one system.
What I built
Cleanup first, then pipelines, billing and the reporting that keeps it honest.
- 01
A full cleanup
Legacy deals corrected by each division lead and reloaded, duplicate fields and contacts merged.
- 02
Three division pipelines
Job numbers created at the right stage per division, with required fields that stop stage skipping.
- 03
Invoices tied to deals
A custom integration on Zapier and a private app matches each invoice's job number to its deal.
- 04
Accounting alerts
Flags for invoices without a job number and job numbers without a deal.
- 05
Lifetime value and retention
Per-division value, last service and expired-certification lists on every company.
- 06
Adoption reporting
Issue tags, a weekly opportunities report and a dashboard tracking deals created at close.
How it works now
What carries to your firm
If your team only creates deals when accounting needs them, start with billing.
Tie the CRM to your accounting system so every invoice lands on a deal. Then build pipelines that match how each team sells, and report on behavior so leadership can track adoption week to week.
Is your CRM mostly a job-number generator?
Talk through a cleanup plan with me.
Related case studies
154
Signature-gated deals on Sales Hub Pro
Deals moved off Asana, gated on signed agreements, no custom code.
4 brands
One Marketing Hub Enterprise build
A shared data model with a custom Buying Cycle object for attribution.
~40%
A HubSpot CRM built for distribution
From the Salesforce decision case to a consultant pipeline.