A membership program lives or dies on two boring jobs: getting members onto the schedule when their tune-up is due, and getting their card charged when their dues are due. Miss the first and they cancel because they never saw you. Miss the second and they are members on paper only. TradesWork treats both as daily work the software does, and leaves the judgment calls (who to call, what to waive) to you.
What a plan holds
Every plan in Settings, Memberships carries the same handful of fields. Here is the demo company's plan next to the limits, so you can see the range:
| Field | Demo "Comfort Club" | What you can set |
|---|---|---|
| Billing | Yearly, $179 | Monthly, yearly or paid once |
| Length | 12 months | 1 to 60 months |
| Auto-renew | On | On or off per plan, overridable on each sale |
| Repair discount | 15% | 0% to 100%, applied to service (labor) lines |
| Included visits | 2 (heating and cooling tune-ups) | 0 to 52 per term, up to 12 defined visits |
| Visit timing | Named months | Named calendar months, or every N months (1 to 24) |
Each defined visit can carry a job type, so a spring visit books as a cooling tune-up and a fall visit as a heating tune-up without anyone choosing. Plans also have an Offered for sale switch and a customer-facing description of up to 2,000 characters.
One membership covers one location. The same plan can't be active or pending twice at the same address, which keeps landlords and multi-property customers from getting double-billed when two people sell to them.
Selling it where the customer is
Technicians sell on the job they're assigned to, and the fee lands on that job's invoice. The office sells from the customer page, and the fee goes on a billing job. Either way you can capture a printed name and a signature on the device, set a future start date (the membership shows as Starts later until then), and the seller is recorded as Sold by for commission and coaching.
The sale is the best moment to show what membership is worth. On the technician's phone, estimate options show the member price beside the regular price, so the conversation is "here is what this repair costs today, and here is what it costs as a member." If you want to model what a program could bring in before you launch it, start with numbers you trust.
Free calculatorMembership program revenue calculatorSee what a maintenance membership program is worth over three years.Member pricing, without a second price book
Member pricing works in two places:
- Estimates. Price book items have a member price mode: default, percent, explicit or none. Default means list price minus the largest active plan's repair discount, so most shops never type a member price at all.
- Invoices. For an active member at the job's location, TradesWork adds an explicit line such as "Comfort Club member discount -15%" on labor. If more than one plan applies, the highest rate wins.
A few lines are never discounted: membership fees, monthly dues, finance charges and extended warranties. Paid and void invoices keep whatever discount they had, so changing a plan never reopens settled work.
Visits due and bulk booking
Each term creates one due visit per slot. On Memberships, the Due for an appointment card lists open visits from three months back through next month, with an Overdue badge on the late ones.
- 1
Filter and select
Pick the visits you want to book this round, for example everyone due in April in one part of town.
- 2
Choose what you know
Add a date, an arrival window and a technician, or leave the date blank so the jobs land unscheduled for dispatch.
- 3
Book them all
Each visit becomes one job with its job type and the Memberships campaign. Either every selected visit books or none do.
- 4
Let completion close the loop
When the job completes, the daily run marks the visit done. If the job is canceled, the visit goes back to due.
Booking the same visit twice never creates a second job, so two CSRs working the same list can't double-book a customer. The dispatch board's Recurring Visits view then groups member visits by zone, so you can put a cluster on a day a truck is already nearby. Technicians see a member badge and visits remaining on each appointment.
Dues that charge themselves
With Stripe connected and auto-charge memberships on (it's on by default), billing runs once a day, mid-morning so the texts it sends aren't held by quiet hours.
- Monthly plans get their own invoice each month on the next bill date, charged to the customer's default card if it is active and unexpired, otherwise their newest valid card.
- Annual plans are charged at each renewal.
- Re-runs are safe. There is one charge per membership per period, so running billing twice in a day changes nothing.
Accounting, Billing has Run billing now with a dry-run preview, and a Billing activity log of every charge, retry and text. Stripe's published card rates apply to these charges.1
When a charge fails, the retry schedule takes over:
| Step | When | What the customer gets |
|---|---|---|
| First failure | Billing day | Text with an update-card link, a pay link and the next try date |
| Retry 1 | Day 1 after first failure | Same, if it fails again |
| Retry 2 | Day 3 | Same |
| Retry 3 | Day 7 | Same |
| Retry 4 | Day 14 | Same |
| Past due | After the last retry | A past-due text; the period shows in Needs attention |
You can change the schedule (one to six retries, each 1 to 60 days, increasing). An expired card or no card on file counts as a failure and gets its own "add a card" text. At most one text goes out per period per step. Paying through the link, paying cash, or voiding the invoice settles the period automatically. From the office, Retry now and Skip are one click each; Skip stops retries and texts but leaves the invoice open.
Renewals and cancellations
The daily renewal run starts pending memberships, marks visits done, and at term end either renews or expires. A renewal gets a new term, the next term's visits, a renewal invoice on a billing job, and then a charge to the card. A membership that doesn't auto-renew expires and its open visits are dismissed.
There is no built-in renewal notice. Two automation templates cover it: Renewal reminder 30 days out (a text that waits for approval) and Call members two weeks before renewal (a task for a CSR). Both start switched off, so turn them on in automations. Customers can also ask to renew from their portal.
Canceling takes a reason of at least three characters. It sets the membership to canceled, turns off auto-renew, clears the next bill date, stops the discount and dismisses open visits. Already-booked jobs stay for the office to keep or cancel. There is no proration and no automatic refund.
Switching from ServiceTitan without double-billing
The importer brings over memberships and their visits due. Every imported membership arrives with auto-renew off and no next bill date, and ServiceTitan's next billing date is stored on the side. Plans that don't exist yet are created for 12 months with a "check the price" note.
Settings, Import shows two counts: Waiting (billed by ServiceTitan) and Billing in TradesWork. Only the owner can click Start billing N imported memberships, and only after ticking "ServiceTitan has stopped billing these members." Each membership keeps ServiceTitan's next date if it is still ahead, nothing is back-billed, and the switch is audited. Several ServiceTitan file layouts were built from ServiceTitan's screens and help docs and are still being validated against real exports, so check a sample of members before you flip the switch.
Saved cards are the hard part of any switch. ServiceTitan's help center has a Saved Payment Methods report template,2 but a report lists cards, it doesn't move them. Plan on an "update your card" text to members during the side-by-side run.
What ServiceTitan does differently
ServiceTitan's help center describes recurring billing as batch-driven and daily, with configurable retry rules for failed payments, and a feature called Membership Renewal Protection that auto-updates expired card tokens through the card networks when you use ServiceTitan Payments.3 That card updater is a real advantage for passive churn, and TradesWork doesn't have one. The same article notes that a renewal creates a new membership record rather than extending the old one; TradesWork renews in place with a new term.
Where this isn't the right fit
If your agreements are commercial contracts with per-site pricing, mid-term changes and prorated periods, use multi-location service agreements instead; memberships don't prorate. If you can't connect Stripe, memberships still track visits and create invoices, but you will collect every dues payment by hand.
Free download · WordMaintenance Agreement TemplateA plain-English membership agreement you can edit, plus a one-page plan sheet for your techs to hand over.Footnotes
-
Stripe, pricing for card payments in the US. https://stripe.com/pricing ↩
-
ServiceTitan help center, "Saved Payment Methods report template." https://help.servicetitan.com/docs/saved-payment-methods-report-template.md ↩
-
ServiceTitan help center, "Grow Recurring Revenue with Memberships." https://help.servicetitan.com/docs/grow-recurring-revenue-with-memberships ↩
