ServiceM8 Recurring Billing: How to Set It Up and Automate It
The complete picture — from native auto-pay to full service plan automation
ServiceM8 has a built-in recurring billing feature that most businesses using the platform have never touched. It works. But it also has limits that matter once you're trying to run a real service plan or membership program. This post covers both: what ServiceM8 does natively, and what you need when you outgrow it.
What ServiceM8's native recurring billing actually does
ServiceM8's auto-pay feature works through their Recurring Jobs add-on combined with a Stripe integration. Here's the flow:
You create a recurring job for a client. When the job is completed and invoiced, the client receives an email with an online invoice link. When they open that link and pay, they see an option to "Pay future invoices automatically." If they opt in, their card is saved and charged automatically every time that recurring job is completed and invoiced going forward.
That's it. No subscription setup on your end. No card-on-file enrollment form. The client activates it themselves the first time they pay.
What you need to make it work:
- Recurring Jobs and Reminders add-on (included on Starter plan and above)
- Stripe connected to your ServiceM8 account
- Invoice links enabled in your email/SMS templates
Once it's running, the client's card is charged automatically each time you complete and invoice the recurring job. Diary notes are logged automatically. It handles the core mechanics cleanly.
Where the native feature falls short
For simple recurring jobs - same job, same client, same price, auto-charged - it works well. The problems start when you want to do more:
No service agreements or e-signatures. If you're selling a maintenance plan, pest control membership, or HVAC service agreement, you probably want the customer to sign something before billing starts. ServiceM8 has no mechanism for this. You're back to PDFs and email.
No customer portal. Clients can't log in to see their plan details, upcoming visits, payment history, or update their card. Every question comes to you by phone or email.
No failed payment recovery workflow. If a card declines, ServiceM8 doesn't have a built-in system to notify the customer, retry the payment, or flag the subscription as at-risk. You find out when you check Stripe.
No MRR visibility. ServiceM8 doesn't show you monthly recurring revenue, churn, or revenue at risk in one place. You're piecing it together from job records and Stripe.
No plan types beyond job-based billing. ServiceM8's auto-pay is tied to recurring jobs. If you want to sell a monitoring plan, warranty plan, or priority service membership where no job card is created - just a recurring charge - the native feature doesn't support it.
No bulk enrollment. If you want to migrate 50 existing customers onto a service plan at once, you're setting them up one by one.
These aren't complaints about ServiceM8. It's a job management platform, not a membership management platform. The recurring billing feature covers the most common case well. It just wasn't built to run a full service plan program.
What a complete recurring revenue setup looks like on ServiceM8
If you're running or want to run a real service plan program - multiple plan types, signed agreements, customer portal, failed payment handling - you need a layer on top of ServiceM8.
The way to think about it: ServiceM8 handles job execution. A purpose-built billing layer handles the membership lifecycle.
That means:
Plan builder - create named plans with pricing, visit frequency, job description templates, and member perks (priority scheduling, 10% off repairs, etc.)
Digital agreements with e-signature - customer signs before billing starts. PDF generated, stored, and optionally attached to their ServiceM8 client diary.
Automatic job card creation - for maintenance plans with scheduled visits, job cards are auto-created in ServiceM8 and land on the dispatch board without anyone touching them. This replaces the manual scheduling step most trade businesses are still doing by hand.
Customer portal - clients log in via magic link to see their plan, upcoming visits, payment history, and update their card. Eliminates the "what am I paying for?" calls.
Failed payment recovery - past-due subscriptions surface in a dashboard. Automated reminders go out. After retries fail, the subscription pauses and a win-back flow kicks in.
MRR dashboard - monthly recurring revenue, active subscribers, churn rate, and revenue at risk in one view.
This is what Service Plan Pro does. It's built specifically for ServiceM8 businesses that want to run service plans properly. It connects directly to your ServiceM8 account and handles the membership side while ServiceM8 handles the job side.
The three plan types and when to use each
Not every recurring revenue model involves scheduled visits. ServiceM8 businesses typically run one of three types:
Billing only: customer pays a recurring fee, no job cards created. Used for security monitoring plans, warranty plans, priority service memberships. The billing is automatic and ServiceM8 is notified of each payment via a diary note.
Billing plus visits: customer pays a recurring fee and receives scheduled service visits. Job cards are auto-created in ServiceM8 when a visit is due. The business owner dispatches from the normal dispatch board. Used for HVAC maintenance plans, pest control, pool service.
Recurring invoice: no card on file. The system generates and sends an invoice on a recurring schedule. The business owner records payment manually. Used for customers who pay by bank transfer, cheque, or cash.
ServiceM8's native auto-pay handles the second type reasonably well for simple setups. The first and third types are not natively supported.
Setting up ServiceM8 recurring billing: the practical steps
If you're starting with ServiceM8's built-in feature:
- Go to Settings > ServiceM8 Add-ons and activate Recurring Jobs and Reminders if it's not already on
- Connect Stripe under Settings > ServiceM8 Add-ons > Stripe
- Create a recurring job for the client under their job card and set the recurrence schedule
- Make sure your invoice email template includes the
{document}merge field so the online invoice link is included - Complete and invoice the job. The client will see the "Pay future invoices automatically" option when they pay online
- Tell the client about auto-pay. It only activates when they opt in, so they need to know it's there
For more advanced setups with signed agreements, customer portals, and multi-type plans, book a call with ChanAutomation. As a ServiceM8 Certified Partner, this is the kind of workflow build we do regularly.
The business case for doing this properly
A trade business with 50 recurring clients on a $150/month maintenance plan is generating $7,500/month in predictable recurring revenue. That's the number that matters. Not the per-job revenue, which fluctuates with season and call volume.
The admin cost of managing that manually - tracking who's paid, following up on missed payments, scheduling visits, sending agreements - can easily consume 10 or more hours a month. Automated, it's closer to one.
The difference between "we do recurring jobs sometimes" and "we have a service plan program" is mostly a systems question. ServiceM8 gives you the foundation. Building on top of it properly is what turns it into a revenue line you can count on.
ChanAutomation is a ServiceM8 Certified Partner based in BC, Canada. We help trade businesses set up, optimize, and automate ServiceM8 - including recurring billing and service plan systems. Get in touch or read more on The Ops Shortcut.
Want help setting this up in your business?
We can walk through your ServiceM8 setup and identify exactly where time is being lost.
More from the blog
The Two-Trip Problem Costing Trade Businesses Hours Every Week
Technicians showing up without the right parts or information costs the average trade business 3-4 hours a week in wasted drive time. This is a fixable ops problem, not a people problem.
The Invoice Timing Problem Killing Your Cash Flow
Most trade businesses invoice at the end of the week. That single habit is adding 5-7 days to every payment cycle. Here's why it happens and how to fix it in ServiceM8.