Rental maintenance · HVAC · plumbing · electrical · make-ready · DFW
ServiceTitan runs big HVAC, plumbing and electrical shops: about 10,800 customers, each bringing it roughly $89k a year. A multi-trade maintenance business serving landlords needs maybe a fifth of it, plus a few rental-specific things it only handles with custom fields. This page sizes it up, explains how rental work really flows (and the Texas license rules, trade by trade, that come before any software), and lays out how we build the slice he needs for about $12 a month.
The short answer
An all-in-one operating system for HVAC, plumbing and electrical contractors: phones, booking, dispatch, a tech app, flat-rate pricing, payments, marketing, payroll and, lately, AI agents. It's a public company (TTAN), and its numbers tell you who it's built for.
Sources: ServiceTitan 10-K (FY2026) · servicetitan.com/pricing · Projul and FSMCompare price reports (competitor-written; indicative) · ServiceTitan PM docs.
Each ServiceTitan capability, judged for a small multi-trade shop whose customers are property managers and landlords. The last group is where rental work needs more than ServiceTitan gives out of the box.
| Module | What it does in ServiceTitan | For him | How we'd cover it |
|---|---|---|---|
| Running the job | |||
| Customers & locations | Customer = who pays; location = where the work is; contacts link to both. | Day 1 | Build manager → property → unit → equipment |
| Scheduling & dispatch | Drag-and-drop board, route optimization; Dispatch Pro and Scheduling Pro add-ons. | Day 1 | Build a calendar now, a board at 2+ techs |
| Technician app | Photos, forms, equipment, invoicing; core features work offline. | Day 1 | Build as an installable web app |
| Pricebook Pro | Pre-loaded flat-rate catalog with regional price averages and supplier catalogs. | With a crew | Build ~30 rental jobs he actually does |
| Estimates & financing | Proposals with options; consumer financing. | Day 1 estimates Skip financing | Build estimates are how over-limit approvals work; managers don't finance |
| Invoices, payments, statements | Online pay, pay by bank, balance-forward statements in bulk. | Day 1 | Build invoices & statements · Rent Stripe |
| Customer portal | Customers see invoices and history, accept estimates. | Day 1 | Build the manager portal is the selling point |
| Memberships & agreements | Recurring services and maintenance plans. | With a crew | Build later, as portfolio maintenance plans |
| Running the office | |||
| Phones Pro & AI voice agent | Call tracking, transcription, scorecards; 24/7 AI booking billed per call. | Skip | Rent a business-line app; rental work arrives by email and portal, not phone |
| Marketing Pro | Campaigns, direct mail, review requests. | Skip | His customers are a few dozen managers; a vendor packet does more |
| Reporting | KPI dashboards; advanced reporting only in The Works. | With a crew | Build 5 reports: revenue by client, days-to-pay, callbacks, no-access trips, jobs/day |
| Payroll & timesheets | Payroll, commissions, GPS-checked timesheets. | With a crew | Rent QuickBooks Payroll; export timesheets |
| Inventory & purchasing | Purchase orders, parts tracking, bill scanning. | With a crew | Build a van-stock list later |
| Fleet Pro | GPS tracking and vehicle maintenance. | Skip | A location stamp on "arrived" covers what managers ask |
| Accounting sync | QuickBooks Online/Desktop, Sage Intacct, Xero. | Day 1 | Rent QuickBooks Online; we push invoices and payments |
| Atlas & Max (AI) | AI assistant and agents across the business. | Skip | Our AI does one job, reading messy work orders; code decides |
| Rental-specific: where ServiceTitan is thin | |||
| Not-to-exceed limits | A custom field shown to techs. | Core gap | Build a hard gate with a recorded approval |
| Manager's WO# / PO# | A custom field. | Core gap | Build required per client, printed on every invoice |
| Intake from AppFolio / Property Meld | No direct feed found (same for Jobber and Housecall Pro): every job is retyped. | Core gap | Build email intake: template parsers, then AI |
| Tenant ≠ who pays | Tenant split billing, switched on by support. | Day 1 | Build resident on the unit; scheduling link by text |
| Equipment across a portfolio | Equipment records per location. | Day 1 | Build the portfolio view that sells replacement plans |
| License-aware dispatch | Not found. | Texas-specific | Build each worker's licenses (plumbing, A/C, electrical, refrigerant) gate which jobs they can take |
Capabilities from servicetitan.com/features, Pro add-ons and the ServiceTitan help center, checked October 2026.
Small-shop tools publish their prices and handle "one manager, many properties" reasonably well. None has a built-in not-to-exceed field, and none takes work orders straight from AppFolio or Property Meld.
| Tool | Published price / month | QuickBooks | Rental fit |
|---|---|---|---|
| Housecall Pro | Basic $59 · Essentials $149 (5 users) · MAX $299 (8 users), billed yearly | Essentials+ | Parent/child billing (unit notified, manager invoiced). Editing offline not supported. |
| Kickserv | Start $60 (5 users) · Run $119 (10 users) · Scale $199; 20% off yearly | All plans | Cheapest; connects to your own Stripe account. Thin feature set. |
| Jobber | Core $29 (1 user) · Connect $99 · Grow $149, billed yearly; extra users $29 | Connect+ | Properties under a client; PO as a custom field; ACH at 1%. |
| Service Fusion | Starter $208 · Plus $325 · Pro $533, unlimited users | Yes | Built-in PO# field; customer portal only on Pro. |
| Workiz | Not published (third-party: ~$225–325) | Standard+ | Built-in phone and AI answering, at extra cost. |
| ServiceTitan | Not published (reported $245–500 per tech) + onboarding | Yes | Strongest manager model; limits and PO as custom fields. |
Prices from each vendor's pricing page, checked 2026-10-05, except where marked third-party: Housecall Pro · Kickserv · Jobber · Service Fusion · Workiz (third-party). Whichever he picks, get data-export rights in writing.
Software cost, not counting QuickBooks or card fees (he pays those either way)
Change the crew size and horizon. ServiceTitan is shown as a range because its prices are only reported, not published.
In-house also costs about 140 hours of building across Phases 1–2, plus a few hours a month of upkeep. That's the real price; the hosting is a rounding error.
In Texas, A/C, plumbing and electrical work for pay each need a state license, and the company selling that work needs a licensed person on staff. Make-ready finish work (paint, drywall, flooring, cabinets) and most appliance repair don't. Unlicensed trade work is a Class C misdemeanor under all three laws, and the boards fine companies for employing unlicensed people.
One exemption cuts against him: in-house maintenance staff of an owner or manager can do repairs without a license, but only if their employer doesn't sell that work to the public. A vendor serving many landlords never qualifies. His edge has to be licensed trades, speed and records.
| Trade | Regulator | Day-one credential | Paid work on day one? | To sell it under his own company |
|---|---|---|---|---|
| Make-readypaint, drywall, floors, hardware, cleaning | None statewide; Dallas Home Repair license | EPA lead-safe firm ($300 / 5 yrs) for pre-1978 units | Yes | His own company, now. |
| Appliance repair | No license found; EPA for refrigerant | EPA 608 Type I (~$25, online) | Yes, plug-in and refrigerator repair | Hardwiring needs an electrical installer license; water and gas hookups are plumbing. |
| HVAC / A/C | TDLR + EPA 608 | Registered technician, $20, no exam | Only under a licensed A/C contractor | Employ a full-time licensed A/C contractor, or hold the license himself after 3–4 years. He may also sell a bigger job that includes A/C and sub that part out. |
| Plumbing | TSBPE | Apprentice, $15 (+ drain cleaner, $18) | Only supervised; drains alone with the drain-cleaner registration | Employ a Responsible Master Plumber. |
| Electrical | TDLR | Apprentice, $20 | Only supervised | Electrical contractor license plus a master electrician of record. |
Sources: Occupations Code ch. 1302 (A/C), ch. 1305 (electrical) and TSBPE (plumbing) · TDLR A/C technicians · TDLR apprentice electrician · EPA 608 · EPA lead-safe firms. "No license found" for appliance repair is our reading, not a ruling.
| Credential | To get it | Fee | What it allows |
|---|---|---|---|
| Registered technician | Age 16+, no exam, no experience | $20 | Works only under a licensed A/C contractor; can't advertise. |
| EPA 608 (federal) | Type I online, open-book; Type II and Universal proctored | from ~$25 | Required to touch refrigerant, even to hook up gauges. Type II covers home split systems. Never expires. |
| Certified technician | 24 months under a contractor (or a 2,000-hour program) + exam | $50 + exam | Optional; same limits, but shortens the road to a contractor license. |
| A/C contractor, Class B | 48 months under a contractor in the last 72 (or 36 + 12 as a certified tech) + exam | $115 + $60 | Units up to 25 tons, so all residential work. Needs $100k/$200k liability. Pulls Dallas permits. |
| Credential | To get it | Fee | What it allows |
|---|---|---|---|
| Plumber's apprentice | Age 16+, fingerprints. Hours count only after registering. | $15 | Assists with a licensed plumber on site. |
| Drain cleaner-restricted | Apprentice registration + training affidavit | $18 | Clears drains alone under the master plumber's general supervision. |
| Tradesman plumber-limited | 4,000 h, 24-h course, exam | $71 | Any plumbing on 1–2 family homes: exactly single-family rentals. |
| Journeyman → master → RMP | 8,000 h; then 2 years as journeyman; RMP adds $300k liability on file | $80 / ~$450 | The RMP is the license a plumbing company runs under; pulls permits; one company at a time. |
| Credential | To get it | Fee | What it allows |
|---|---|---|---|
| Apprentice | Age 16+, no exam | $20 | Works under a master, journeyman or residential wireman. |
| Residential appliance installer | Exam only, no experience | $30 + $64 | Connects and disconnects residential appliances on existing circuits. Fastest narrow license. |
| Residential wireman | 4,000 h + exam | $20 + $64 | Homes and multifamily up to 4 stories. |
| Journeyman → master + contractor | 8,000 h; master at 12,000 h; contractor license with $300k/$600k insurance | $30 / $45 / $110 | A company doing electrical work needs the contractor license and a master of record. |
Plus exam fees where noted. Up to 1,000 plumbing hours can come from classroom training; A/C schooling and apprenticeships also count toward experience.
Unit turns look unregulated, but a few routine tasks aren't.
Path A · now
Legal on day one: paint, drywall, floors, hardware, cleaning, plug-in appliance repair. Get the EPA lead-safe firm certification first. Sell whole unit turns; sub out the licensed pieces.
Path B · alongside A
HVAC has the strongest demand (Dallas makes rental A/C a legal must): $20 registration, EPA 608, then 3–4 years to a contractor license. Plumbing is the fastest license: about 2 years to tradesman-limited.
Path C · when revenue allows
A full-time A/C contractor, a master plumber, a master electrician. That's when license-aware dispatch in the software earns its keep.
Our read: A and B together, C when the numbers say so. The make-ready business builds the manager relationships and cash flow; the trade license makes him more than a painter. Before selling jobs that include licensed work, confirm with a Texas attorney how he may sub it out: the A/C law explicitly allows it inside a bigger job, the plumbing and electrical rules are less clear.
The 2020 application lists $48/yr; confirm the current fee with Dallas Code Compliance.
$300 for the firm, online, 1–2 weeks. Needed before disturbing paint in any pre-1978 unit. epa.gov
Type I online (~$25) covers refrigerators; Universal (proctored) is the one an A/C career needs. Never expires.
A/C registered technician with TDLR ($20) or plumber's apprentice with TSBPE ($15). Hours only count from registration day.
His hours accrue there, and he learns how managers buy before he sells to them.
W-9, $1M general-liability certificate naming each manager as additional insured, ACH form, license and certification numbers, a one-page price list.
How to sub out A/C, plumbing and electrical inside his make-ready jobs, and whether he needs a locksmith license to rekey.
Managers dispatch from their property software or a maintenance coordinator. Vendors usually get an email plus, sometimes, a portal login. None of these offers vendors an API; email is the one channel all of them send, which is why our intake reads email.
| Platform | What the vendor gets |
|---|---|
| AppFolio | Vendor Portal (the manager switches it on): accept or decline, submit estimates and invoices, notes with up to 10 photos, upload W-9 and insurance, direct deposit. |
| Property Meld | Vendor Hub: schedule with residents, submit invoices. Plugs into AppFolio, Buildium, Rent Manager, Yardi, Rentvine. Its Vendor Nexus program refers vetted vendors to managers. |
| Buildium | Work orders by email; a vendor website with a ledger the manager controls. |
| Yardi | VendorCafe for invoices, work orders and payment status; VendorShield compliance, which the vendor pays for. |
| Rentvine · Propertyware | Vendor portal / app for invoices, estimates, ACH and insurance updates. |
| Latchel | Vendors must use its app; before/after photos required to invoice; 10% fee deducted. |
| Lula | App-based dispatch, no sign-up fee, paid in 5 business days. Dallas is a Lula market. Requires $1M liability. |
Sources: AppFolio · Property Meld · Latchel · Lula Pros. Lula and Property Meld's Vendor Nexus are also ways to find the first customers.
Sources: TXR-2201 sample · TXR-2001 sample · Prop. Code §92.056 · Dallas Code ch. 27 · Dallas rental registration · DFW-area vendor packet.
The big single-family landlords are real but small in share: Invitation Homes owns 3,554 Dallas homes and outsources plumbing to vetted vendors; AMH owns 3,663 in DFW. Together that's about 2% of one-unit rentals. The real market is small landlords and the third-party managers who run their houses, and that's who the manager portal is built for.
Sources: ACS 2024, table B25032 · Invitation Homes 10-K · AMH 10-K.
Work orders come in from wherever the property manager sends them, get cleaned up into one queue, and flow out to four audiences. Everything inside the dashed boxes at the bottom is rented, not built.
All of it runs on Cloudflare (Workers + D1 + R2), the same account that already hosts the college and house-flip plans. No server to patch.
Generic tools key everything off a customer. A rental-maintenance business's world is manager → property → unit → asset, and the bill-to is almost never the person who opens the door. Get this shape right and most features fall out of it.
Client — manager or landlord · terms · default NTE · invoice rules └─ Property — address · lockbox notes (encrypted) · main shut-off └─ Unit ├─ Resident — name · phone · text consent · move-in / move-out ├─ Asset — water heater · A/C & furnace (tons, refrigerant) · panel · appliances └─ Work order — source · PM's WO# / PO# · NTE · priority · status ├─ Visit — window · tech · arrived / left · GPS stamp │ └─ Photos (before/after) · checklist · parts used · signature ├─ Estimate → Approval — who approved, when, how much └─ Invoice → Payment — rolled into the client's monthly statement Company — trade licenses · insurance expiry · W-9 → reminders └─ Worker — licenses per trade → which jobs they may take alone
The asset table is the quiet moat: after a year, he knows the age of every water heater and A/C system across a manager's portfolio (and which ones still run on R-22 refrigerant) and can sell a replacement schedule before they fail.
One status machine, enforced in code. The red step is the one that loses money when skipped: work above the manager's not-to-exceed limit needs a recorded approval before the wrench turns.
Side exits: Parts on order, No access (billable trip charge), Callback (tracked separately so his re-do rate stays honest).
Same dual-brain split we use elsewhere: the model reads messy text, code makes every decision. A model can never accept a job, set a price, or skip the NTE gate.
| Layer | Does | Never does |
|---|---|---|
| Fast pathcode | Parses known email templates (AppFolio, Property Meld) with fixed rules. Most volume should land here, at zero cost. | Guess at anything it can't match; it hands off instead. |
| ReasoningClaude Haiku 4.5 | Reads a free-text email or text and returns JSON: address, unit, resident, issue, PM's WO#, NTE, plus a confidence score. | Decide priority, price, or whether to take the job. Below 0.8 confidence it goes to a review queue. |
| Decisioncode | Matches the address to a known unit, dedupes by WO#, sets priority from rules (active leak, no water, sewage backup, no cooling in a heat wave = urgent), routes by trade and license, enforces NTE, queues it. | Write customer-facing text. |
Budget: about 1,500 tokens in and 300 out per email ≈ $0.003 per work order on Haiku 4.5 ($1 / $5 per million tokens). At 200 work orders a month that's about 60¢. Every call is logged with its input, output and cost, so any work order can be replayed.
| Piece | Choice | Per month |
|---|---|---|
| App, API, database, photos | Cloudflare Workers Paid, with D1 (SQLite) and R2 for photos. Tech app is a PWA: installs from the browser, works offline in a crawlspace. | ~$5 |
| AI intake | Claude Haiku 4.5, only for emails the fast path can't parse | < $1 |
| Tenant texts | Twilio, registered as a sole-proprietor A2P 10DLC brand ($4.50 + $15 vetting once, $2/mo campaign) plus per-message fees | ~$5 |
| Payments | Stripe: card 2.9% + 30¢; ACH 0.8% capped at $5. Push managers to ACH: a $6,450 A/C replacement costs $5 to collect, not $187 by card. | per payment |
| Accounting | QuickBooks Online Simple Start. He needs this whether he builds or buys; the app pushes invoices and payments to it. | $38 |
| Domain + email | Cloudflare Registrar + Email Routing (also feeds the work-order inbox) | ~$1 |
| Total software | Excluding payment fees and the QuickBooks he'd pay anyway | ≈ $12 |
Sources: Twilio 10DLC fees · Stripe pricing · QuickBooks pricing (NerdWallet) · Cloudflare Workers pricing. Prices as of Sept–Oct 2026.
Each phase is gated by real jobs, not by a calendar. Effort assumes evenings with Claude Code doing most of the typing; your son is the product owner (he writes the checklists, prices and statuses for each trade), you're the builder.
Log every step he actually does: how the order arrived, how he reached the tenant, what the manager wanted on the invoice. That log is the spec. Building before this means building the wrong thing.
Three samples per source and trade (AppFolio, Property Meld, a landlord's free text about an A/C or a leak). These become the fast-path templates and the AI extractor's test set.
Start 10DLC early: brand vetting takes days and texts sent before approval get filtered by carriers.
Import from his spreadsheet. Lockbox codes encrypted at rest, shown only on the day of the visit.
Manual entry is fine at this stage; the inbox comes in Phase 2.
Offline-first: queue photos and notes locally, sync when signal returns. Big buttons, works with wet hands.
Managers reject invoices missing the WO# or with labor and materials lumped together, and some won't pay anything older than 45 days. Photos attached means fewer disputes and faster payment.
Magic-link login per manager; each client sees only its own properties.
Measure on the Phase 0 sample set before turning it on: target ≥95% correct unit match.
Approval stored with name, time and amount; the invoice cites it.
Cuts the "no access" trips that kill a day. Opt-in language registered with 10DLC.
Recurring, schedulable work between tenants: the steadiest revenue in the rental niche.
Each job type carries the credential it needs (gas water heater → licensed plumber on site; A/C → registered tech under an A/C contractor license; outlets and fixtures → licensed electrician; paint in a pre-1978 unit → lead-safe certified; caulk and hardware → anyone), and dispatch refuses a mismatch. Every open order shows days since the tenant reported it against Texas's 7-day reasonableness presumption.
Managers pay on terms; he needs to see who owes what at 30/60/90 days.