Almost every operator we audit has the same misunderstanding when we walk through their SaaS AI invoice. They quote us the sticker price the vendor gave them โ "$299 a month for Avoca" or "$399 a month for Goodcall" โ and assume that's the annual cost. The real number, twelve months in, is almost never the sticker. The real number includes a chain of small line items that don't show up until they're already on the invoice: per-call overages, integration upcharges, multi-location surcharges, premium-support gates, SMS add-ons, and auto-renewal increases. By month thirteen, the operator is paying 2-4x the sticker and doesn't quite know how they got there.
This post is the line-by-line breakdown of what SaaS AI actually costs over three years for a representative $3M home-services shop, and what the operators who got bitten by the hidden costs learned the hard way. The number we keep landing on across audits is somewhere between $42K and $58K of total cost over 36 months โ for a product that was sold as "$3,588 a year." The story of one Texas roofer's $14K in overages and the data they lost on exit is in here too.
01.Sticker Price vs Realized Cost
Every SaaS AI vendor in the home-services category prices on a base-plus-everything model. The base price gets you the AI on the phone. Everything else is a separate line item. The categories that bite hardest, in rough order of magnitude on a typical $3M operator's invoice:
- Per-call or per-minute overages. Base plans cap at a fixed minute or call volume. Cross the cap and you pay $0.50-$1.20 per additional minute. Storm-season weeks alone can add $1.5K-$4K in overage charges that don't show up until the invoice closes.
- Integration tier upcharges. Basic webhook integration is included. Anything deeper into ServiceTitan, AccuLynx, JobNimbus, or FieldEdge typically costs $100-$300/mo per integration tier.
- Multi-location surcharges. Most SaaS pricing is per-location. A 9-branch roofer paying $299/mo on the sales page is actually paying $2,691/mo across the org before any add-ons.
- Annual auto-renewal increases. Contracts renew at 10-25% higher pricing. Operators rarely notice until invoice month thirteen, by which point the cancellation window has closed.
- Premium support gating. The hands-on tuning help most operators need lives behind a higher-tier plan that runs 2-3x the base price.
- SMS and notifications add-on. Outbound SMS to confirm appointments or send follow-ups is usually a separate $50-$150/mo charge.
- Recording storage retention. Default retention is often 30-90 days. Want 12 months of recordings for compliance or coaching? Another monthly fee.
Map all of that out on a representative shop running a single SaaS vendor, and the year-one math looks like this:
That's the year-one number. By year three, after two auto-renewal increases at 15% each and continued storm-season overages, the operator is paying roughly $17K-$19K per year โ for the same product, less data access, and a contract they likely can't easily exit.
02.The Texas Roofer Who Found Out the Hard Way
A roofing operator out of Houston (we'll leave the company name out) signed up for Avoca in early 2025 at the $299/mo sticker. Their decision-maker did the math at $3,588/year, compared it to one additional CSR salary, and signed. Fourteen months later, they tried to switch to a custom build because their multi-location dispatch logic was breaking on every after-hours emergency call.
When they pulled their invoice history, the cumulative spend was just over $14,000 โ almost 4x the sticker. The overages had been quietly piling up during their two storm-season months (March hail, October wind). The integration upcharge had been there since month two. The premium support tier got added when they hit their first major call-flow issue. None of it was hidden in the sense of being concealed โ it was all on the invoices. It was hidden in the sense that nobody on the operator's team was tracking it against the original budget.
The harder problem started when they tried to leave. The vendor allowed a CSV export of the past 90 days of call records โ caller name, phone number, call duration, disposition. The recordings? Not exportable. The transcripts? Not exportable. The trained custom voice profile they'd developed over 14 months? Vendor property. The custom FAQ entries they'd painstakingly tuned? Possible to copy manually, one at a time, from the dashboard.
The operator paid an additional $1,500 "data services fee" for a partial export, which arrived as a CSV with no recordings and a partial transcript dump that wasn't usable. They started over from zero on the new platform. Two weeks of operational disruption, 14 months of accumulated call data lost, and a sense โ verbalized on our intro call โ that they'd been "rented something rather than buying it."
The recordings aren't exportable. The transcripts aren't exportable. The trained voice profile isn't yours. You rented the AI โ the data went with the vendor.
03.The Three-Year Cost Comparison
Run the math at three years and the gap between SaaS and custom widens enough to flip the decision for most $3M+ operators. Here's a like-for-like comparison using realistic numbers, not vendor sales numbers:
- SaaS path (Avoca-equivalent, single location): $13.5K year one, $15.5K year two (auto-renewal +15%), $17.8K year three (compound). Three-year total: ~$46K. You own none of the data, none of the prompts, none of the integration code. If you leave, you start over.
- Custom path (SimpliScale Growth tier): $42K year one ($3,500/mo), $42K year two, $42K year three. Three-year total: $126K. You own the prompts, the data, the integration. The build accumulates value every quarter through ongoing tuning.
At first glance the custom number is much larger. But that comparison is incomplete. The custom build typically lifts booking rate by 8-12 percentage points on the same lead pool โ which on a $3M shop translates to $30K-$60K of recovered monthly revenue. Twelve months of recovered revenue: $360K-$720K. The custom build pays for itself inside the first 60-90 days of operation. The SaaS path pays back its overage line, then plateaus, then quietly inflates every year.
The honest take: if your revenue is under $1.5M and your call mix is simple, SaaS is the right call โ the savings are real and the integration limitations don't bite. At $3M+, the math has flipped, and the realized SaaS cost is a much weaker comparison than the sticker price suggested. We map this out by revenue tier in the full Custom vs SaaS guide.
04.The Five Hidden Costs Nobody Models
Beyond the line items on the invoice, there are five operational costs that almost never get modeled at the sales stage and almost always show up later:
- The cost of misrouted calls. When the SaaS dispatches a call wrong, the resulting customer experience damage doesn't appear on the invoice. It appears in churn and in lost reviews. Hard to quantify, easy to underestimate.
- The cost of vendor downtime. SaaS platforms have outages. When the AI goes down for two hours during a Tuesday afternoon storm event, the missed calls aren't reimbursed. The vendor sends an apology email; you absorb the lost revenue.
- The cost of waiting for the roadmap. Every operator we've worked with has a list of "things the SaaS can't do that we wish it could." The vendor's response is always the same โ "we'll consider it for the roadmap." Months pass. The feature ships or doesn't. Meanwhile, the calls keep falling.
- The cost of internal training churn. Every time the SaaS updates its core prompt or UI, your CSR team has to re-learn how to work alongside it. Multiply by 12-18 months of updates.
- The cost of lost optionality. When you're locked into a SaaS contract, you can't experiment with new voice infrastructure, new models, or new integrations. You move at the vendor's pace, not yours.
None of these are dealbreakers on their own. Stacked together over three years, they're a meaningful drag on the operator's freedom to optimize their phone infrastructure.
05.How to Avoid the $50K Mistake
If you're either (a) already on a SaaS AI and want to model your real exit math, or (b) evaluating a SaaS AI and want to pressure-test the sticker price, here's the audit checklist we run on every operator we talk to:
- Pull 12 months of invoices. Not "what does the contract say." What did you actually pay? Add it up. Divide by 12. That's your real monthly cost.
- Ask for the data export policy in writing. Specifically: recordings, transcripts, customer profiles, training data. If the vendor can't give you a one-page document explaining what you get back on exit, assume the answer is "nothing useful."
- Get the auto-renewal cancellation window in writing. Usually 30-90 days. Calendar it. Set a reminder. Re-evaluate every year on a schedule, not at renewal panic.
- Model the 3-year total cost. Sticker ร 12, plus realistic overages, plus auto-renewal increases (assume 15%/year). Compare to custom over the same period.
- Calculate the recovered-revenue gap. Realistic booking-rate lift from a better-fit AI ร your average ticket ร your monthly call volume. That number is usually larger than the price gap.
If you want help running this audit on your specific stack, we do it free as part of our 30-minute discovery call. We'll pull your real numbers, model both paths, and tell you the honest answer. Sometimes the honest answer is "stay on SaaS, you're getting good value." Sometimes it's "you've been overpaying for 14 months." Either way, you get the number.
Free 30-min audit: your real SaaS cost vs custom
We'll pull your invoices, model both paths over 3 years, and show you what your specific recovered-revenue gap looks like. No deck, no pitch.
06.The One-Line Takeaway
The sticker on SaaS AI is rarely what you pay. The realized 3-year cost on a $3M+ operator is usually $42K-$58K โ and the operator owns nothing on exit. The same operator deployed on a custom build is paying more on the invoice but owning the system, accumulating value through tuning, and unlocking a booking-rate lift that pays for the build inside 60-90 days. If you're past $3M revenue and you haven't run the 3-year math, you're almost certainly carrying $20K-$30K of hidden SaaS cost you don't know about.
For the full framework on when SaaS is the right call vs when custom wins, read the Custom AI vs SaaS AI guide. For the 5-question vendor diligence checklist, see 5 Questions to Ask Before Buying ServiceTitan AI, Avoca, or Goodcall.
Get the SaaS-vs-Custom audit checklist
The exact 12-point checklist we use on operator audits. Free PDF, no fluff.