Home ยป Blog ยป How to Set Up ServiceTitan Memberships: Recurring Services, Billing, and Deferred Revenue
Pixel art of an HVAC technician tuning up a residential AC condenser at golden hour

How to Set Up ServiceTitan Memberships: Recurring Services, Billing, and Deferred Revenue

Memberships are one of the messiest things in ServiceTitan to clean up after the fact. Set them up wrong and you usually don't find out for months, right up until the deferred revenue doesn't balance and half your members never got the visits you promised them. Here's how to build them right the first time.

Start with recurring service events, not the membership

Quick vocabulary note first. In ServiceTitan, memberships are the residential feature. If you're a commercial shop, the feature you want is called service agreements, and it works differently. The industry uses those words interchangeably, but ServiceTitan doesn't.

Now, before you touch the membership itself, you need recurring service events. Think of them as certificates you're handing the customer. When someone buys an HVAC plan that includes an AC tune-up and a heating tune-up, they get two certificates on their file that say "we owe you these jobs." Those events are what show up on the Follow Ups screen so your office knows who to schedule. Eventually you convert each certificate into a real job.

You build these under Settings, then Invoicing, then Recurring Service Types. Create one type per visit, so an AC maintenance type and a heating maintenance type for that example plan.

Use seasonal recurrence

This is the setting people get wrong most often. If you set the recurrence to monthly with an interval of 12, every customer's next visit comes due exactly 12 months from their signup date. That scatters due dates across the whole calendar, which means someone has to run the follow-up screen every single week and catch everyone individually. Anyone who doesn't get scheduled that week can quietly fall through the cracks.

Seasonal fixes that. You just pick the months. Put every heating maintenance in September, and when it's time to schedule, you pull the follow-up screen for September 1 through 30 and everybody is right there. Run the same date range next week and the stragglers are still there. Less scatter means less human error, and with memberships you want to prevent errors at all costs. Cleanup later is a nightmare.

One trade-off to know about: if you send recurring service reminder texts, seasonal means those texts go out in a condensed window, so your phones will get busy about 30 days before the season starts. Start calling members before the texts go out, and if you offer online scheduling, that eases the load a lot.

Also, leave the "first service already complete" checkbox alone. It sounds smart, since techs usually do the first visit the day they sell the plan. But checking it means that first certificate never populates at all. Leave it unchecked and the tech just taps a button to mark the first visit complete. Make that part of your debrief process so the dispatcher verifies it happened. And if you're using deferred revenue, ServiceTitan disqualifies that checkbox anyway.

Give each visit a dedicated job type

Create a specific job type for each maintenance visit, like Heating Maintenance, and check the box that says "make selecting a recurring service event required when booking jobs, if recurring service events exist for the location." That forces your CSRs to spend a certificate every time they book that job type, so visits actually get burned down instead of piling up. My advice is to keep these job types separate from your regular tune-up job types. You never want to accidentally spend a member's visit on a job that shouldn't have used one.

Build the membership type

Now the membership itself, under Settings, Invoicing, Membership Types. Name it whatever you sell it as, attach the tag that marks the customer as a member, and then pick your duration.

You get two options, ongoing and fixed. Go with ongoing. Fixed means the membership expires after a set term and dies unless somebody manually renews it, and people will absolutely fall through the cracks. Ongoing just keeps running until the customer cancels. It's easier, it's automated, and it keeps more members. You can still offer both a monthly and an annual billing frequency under one ongoing membership, so customers who want to pay a little each month and customers who want one lump sum per year both have an option.

For discounts, you can apply a flat percentage across all services, but think that through. A 10% member discount sounds fine until it applies to a $15,000 install. I recommend setting discounts by business unit or pricebook category instead, so you can do something like 20% off service and maintenance but only 2 or 3% off installs. Keep the "show membership savings on customer facing invoices" box checked. Seeing the savings on every invoice is how the membership keeps selling itself.

One interaction worth knowing: pricebook items also have a member price field. If an item has both a member price and a category-level percentage discount, the bigger discount wins.

Prices, the sale task, and the billing template

When ServiceTitan asks if you want to use the membership pricing table, say yes. It puts all your pricing logic in one place and lets you do things like price the annual plan slightly cheaper than 12 months of the monthly plan.

You'll then attach a new sale task from your pricebook. This is what the technician actually puts on the invoice to sell the membership. Two things matter here. First, tie the task to a liability GL account if you're deferring revenue, not an income account. Second, assign it to a pricebook category. If you skip the category, your techs can't find it in the mobile pricebook, and a membership nobody can find is a membership nobody sells.

Then you create a billing template, which is the task the system drops on the automatic monthly or annual invoices. Since your prices live on the pricing table, this task stays at $0 and the table fills in the real amount.

Deferred revenue, done right

Here's the accounting piece, and it's worth getting your accountant or controller involved. When you sell a membership, you've collected money for work you haven't done yet. That's not income, that's a liability. Deferred revenue setup keeps that money in a liability account until you actually perform each visit, then moves it into income.

The mechanics: on each recurring service type, you attach an invoice template with two tasks. One negative task mapped to your liability account and one positive task mapped to your income account. Set them at $1 and ServiceTitan calculates the real amounts automatically based on your revenue allocation, which you'll usually want set to divide evenly across visits. Fair warning, the customer sees both line items on their invoice, so name those tasks something a homeowner can make sense of. You'll still get questions. That's just how it goes.

In the revenue recognition settings, let ServiceTitan calculate deferred revenue automatically, and for dismissed events, pick "give the option to recognize revenue" instead of always recognizing it. Dismissals happen for all kinds of reasons and you want to decide case by case. And lock down the permission for dismissing recurring service events. Once someone dismisses an event, the revenue recognition follows, so that button belongs with people who understand the accounting side, not with whoever happens to be looking at the screen.

Set up automatic billing

Ongoing memberships need automatic billing, and automatic billing needs a saved payment method. There's a setting under Invoicing and Online Payments that auto-checks the "save this payment method" box during mobile checkout. Just know it applies to every card and ACH payment, member or not, and depending on where you operate you likely need the customer's consent to store their card. Talk to your attorney, and either way, make checking for a saved payment method part of your tech debrief.

The billing rules live on the Accounting screen under Recurring Billing. Here's the setup I recommend: cover billing dates from the 1st to the 31st, generate invoices on the 1st of the month, and charge on the 2nd. That 24-hour gap gives you a day to review invoices before customers get charged. Then on the 3rd, somebody's actual job is to open the billing history, drill into failed and unattempted payments, and chase them down. Failed usually means a declined card. Unattempted usually means no payment method on file.

Cards expiring is a real cost either way, so also look into membership renewal protection, which auto-updates expired cards on file for a per-card fee. Email ServiceTitan's payments team for pricing. In my opinion it beats paying someone to chase declined payments every month.

Add-ons for additional systems

If you want to charge, say, $20 a month for the first system and $10 for each additional one, membership add-ons handle that from the pricebook side. The setup is a little convoluted. You need a hidden billing task that carries the add-on price to the billing template, plus a visible task your techs sell, with a workflow on it that automatically adds the billing task to the membership. Keep the billing task out of any category so techs never see it, and put the sellable task in your membership category so they always can.

Wrapping up

The pattern through all of this is the same: memberships get messy through small human errors that compound quietly, so every setup choice should reduce the chances of one. Seasonal recurrence, dedicated job types, ongoing duration, a review day before billing runs. None of it is complicated on its own. It just has to be done deliberately, once, before you have 500 members instead of after.

If this was useful, the guide goes much deeper. Searchable video lessons covering memberships, recurring billing, deferred revenue, and every other part of ServiceTitan, built for every role on your team. Check it out at https://www.bluecollarnerd.com/#pricing.

Table of Contents

ServiceTitan Mastery For Your Whole Team

Searchable video lessons, role-based modules, and a private community โ€” everything your team needs to actually use ServiceTitan with confidence.

See Pricing →