Xenara
← All notes·FSM·11 min read

Why HVAC operators outgrow ServiceTitan (and what to do about it)

ServiceTitan is the default upgrade path from Jobber and Housecall Pro. It's also a ceiling at scale — per-tech pricing, slow customization, and vendor lock-in compound past 25 technicians. Here's what owners do about it.

By·Founder, Xenara·Published

ServiceTitan is the default upgrade path for HVAC operators leaving Housecall Pro or Jobber. It's also where most operators quietly hit a wall around 25–50 technicians and then spend two years deciding what to do about it. This post is the honest version of that conversation.

The four ceilings — pricing, customization, lock-in, reporting

1. Per-technician pricing compounds brutally

ServiceTitan is typically priced per technician per month — public reporting puts it in the $300–$500 range depending on bundle and negotiated terms. At 10 techs that's $36k–$60k/year. At 30 techs: $108k–$180k. At 60 techs: $216k–$360k. Pricing scales linearly with headcount, which is the wrong dimension to scale on — your software shouldn't cost more because you hired more apprentices.

2. Customization takes consultant fees and months

ServiceTitan's template covers ~80% of HVAC operations well. The remaining 20% — the workflow that actually distinguishes your operation — requires either ServiceTitan's professional services team ($150–$300/hr) or a third-party ServiceTitan consultant. Common requests: custom dispatch rules, non-standard pricing tiers, custom invoicing, integration with regional payment processors. Each customization is a 2–8 week project. Compound this across an operator that wants their software to actually fit them, not the other way around.

3. Vendor lock-in is real

Customer data, technician schedules, invoicing history, recurring contracts, marketing automation — all live inside ServiceTitan. Exports are possible but rebuilding the workflows on another platform is the actual cost. Most operators stay on ServiceTitan past the point where it makes economic sense because the switching cost is real, not because the software is still serving them best.

4. Reporting depth lags ownership's questions

Standard ServiceTitan reporting covers the operational basics — calls answered, jobs booked, revenue by type, technician utilization. What ownership actually wants at 30+ technicians: gross margin per technician per week, recurring contract churn rate by cadence, missed-call analysis tied to specific marketing campaigns, parts-on-truck ROI, multi-truck route efficiency vs theoretical optimum. Pulling these requires data exports to spreadsheets — at which point the operator has built a parallel reporting system outside ServiceTitan and the SaaS isn't the source of truth anymore.

Where each ceiling hits

At 25 technicians, ServiceTitan licensing crosses $100k/year. At 50 techs, $180k+. That's the threshold where a custom build pays back inside 24 months.
  • 10–25 techs: ServiceTitan is still the right answer for most. Pricing is annoying but tolerable. Customization friction matters but not enough to migrate.
  • 25–50 techs: The decision window. ServiceTitan still works, but per-tech math gets painful and customization is a real bottleneck. The payback math typically works at this size.
  • 50+ techs: ServiceTitan is the wrong answer for most. Custom platform is the obvious move. Operators staying at this size on ServiceTitan are usually staying because of switching cost inertia, not fit.

The three actual options

Option A — Stay on ServiceTitan, layer custom AI + dispatch on top

For operators who don't want to migrate the CRM but need to fix specific pain points. Custom AI receptionist + custom dispatch automation integrate with ServiceTitan via API. 4–6 weeks to build, $8k–$15k. Captures the recovered revenue without the migration cost. Common first step.

Option B — Migrate to a less-expensive SaaS

FieldEdge, FieldPulse, or Workiz at half the price. Real option for operators who want SaaS but don't need ServiceTitan's feature depth. Tradeoff: still per-tech pricing, still SaaS limits, still vendor lock-in — just cheaper SaaS lock-in. Works for 15–30 technician operators.

Option C — Build custom

A custom Next.js / React platform built around your specific operation. No per-tech pricing. No consultant fees for customization. You own the code, database, and roadmap. See our field service management platform page for what this engagement looks like.

Typical cost: $40k–$150k one-time build + $30k–$50k/year ongoing platform retainer. At 30 technicians on ServiceTitan, the comparison is $108k–$180k/year SaaS vs $80k–$120k one-time + $30k–$50k/year custom. Payback typically 18–30 months. After year 2, custom costs roughly 60–75% less per year than equivalent ServiceTitan licensing for the same headcount.

What stays the same vs ServiceTitan

Custom doesn't mean reinventing the FSM wheel. The modules look the same as ServiceTitan's:

  • Dispatch board with drag-and-drop, route optimization, GPS tracking, ETA notifications
  • Technician mobile app with offline-first sync, customer history, photos, signatures, on-site invoicing
  • CRM with full customer + equipment + service history
  • Multi-tier billing with service contracts, financing integration, accounting sync
  • Reporting + analytics dashboard (the version ownership actually wants)
  • AI receptionist + automated dispatch built in from day one

What changes

  • No per-technician pricing — flat platform run cost
  • Custom workflows built into the platform, not bolted on via consultant fees
  • Code ownership transfers to you — full source code, deployment infrastructure, documentation
  • AI + automation are first-class features, not paid add-ons
  • Integration roadmap is yours, not ServiceTitan's vendor priorities
  • Migration of data is one-time work, not an annual fight to extract reports

How a migration actually works

For operators who decide to migrate, the typical timeline is:

  • Weeks 1–2: Operations discovery — walking dispatch, ride-along, sit with office manager during a billing cycle. Map what your operation actually does.
  • Weeks 3–4: Architecture + integration plan. Stack decisions, data migration plan, parallel-run sequencing.
  • Weeks 5–12: Build. Dispatch + mobile + CRM + invoicing in waves. Pilot crew live by week 8.
  • Weeks 13–16: Data migration from ServiceTitan — customer history, recurring contracts, payment records, technician schedules.
  • Weeks 17–18: Parallel-run. Both ServiceTitan and the custom platform running on different crews.
  • Week 19+: Full cutover. ServiceTitan stays accessible as read-only for 60 days, then archive.

Total: typically 18–24 weeks from kick-off to full cutover. No customer-visible downtime.

FAQ

Is this actually different from migrating to Salesforce or HubSpot?

Yes — those are still SaaS with per-user pricing and customization friction, just in a different vertical. Custom Next.js / React platforms are your code, your database. Different category of decision.

How do we keep our existing integrations during migration?

Every major ServiceTitan integration (QuickBooks, Mailchimp, payment processors, marketing platforms, call tracking) has an API or direct integration path. Migration mapping covers each integration as a line-item with effort estimate. Typically 6–15 integrations per operator, each 2–10 days of work.

What about ServiceTitan's app ecosystem?

Real question. Some apps have direct API equivalents. Some get rebuilt as features of the custom platform. A few don't have equivalents and you'd be giving up the functionality. The migration assessment phase identifies these — if a critical app has no equivalent, that's a reason to stay on ServiceTitan, not a reason to migrate.

Can we run both during the parallel-run phase?

Standard practice. Pilot crew runs on the new platform while the rest of the operation continues on ServiceTitan. Both systems sync customer + job data via a shared layer during this phase. Cutover happens on a Sunday when both systems have been demonstrably stable for 2+ weeks.

What if we want to leave ServiceTitan but not build custom?

Three SaaS alternatives we covered in our ServiceTitan alternative comparison: FieldEdge, FieldPulse, Workiz. Each is roughly half the per-tech cost with slightly less feature depth. Real path for operators 15–30 techs who want SaaS economics, not custom.

Next steps

Three concrete moves: (1) Read the payback math post for your specific technician count. (2) Check the ServiceTitan alternative comparison for SaaS vs custom decision criteria. (3) If custom feels right, talk to us about a custom FSM build — typical operators in your situation have already done the math, they just want to confirm with an engineering team who's done this before.

More from the blog