How to Price a Recurring Service Contract?
Recurring revenue is the most valuable thing a service business can build. It's also the easiest thing to price wrong for years without noticing.
Mise à jour de l'7 septembre 2026

Recurring revenue is the most valuable thing a service business can build. It's also the easiest thing to price wrong for years without noticing.
Published September 2026.
The short answer
Price a recurring contract from the year, not the visit. Count every visit across a full twelve months including your heavy season, total the hours, apply your break-even hourly rate, add your margin, then divide by twelve for level monthly billing. Two things most operators skip: decide deliberately whether predictability is worth any discount at all, and write in an annual increase so year three isn't running on year one's prices.
Why this is worth getting right
Recurring work is worth more than the same revenue billed one job at a time. You're not re-winning the customer every time, the schedule fills itself, and cash flow stops swinging with the season.
The industry numbers point the same direction, though most come from vendors and trade press rather than independent research, so treat them as directional. Contractors commonly report retaining 80 to 90% of maintenance-agreement customers annually versus 40 to 60% of one-time service customers, and shops with a large share of recurring revenue are reported to sell at meaningfully higher multiples than demand-only shops.
The direction is not controversial: recurring revenue is what turns a job into a business. Which is exactly why underpricing it hurts so much longer than underpricing a one-off. A bad one-off costs you one afternoon. A bad contract costs you every month until somebody renegotiates it.
The trap: discounting for the privilege of locking yourself in
The most common recurring-pricing mistake sounds generous and reasonable: "They're committing to me all year, so I'll knock 20% off."
Look at what you just did. You accepted a lower rate, and you locked it in for the longest possible time, against costs that only go up. The customer got a discount and certainty. You got certainty and a pay cut.
There are real reasons a recurring rate can be a little lower than a one-off: no repeat selling, predictable routing, fuller schedule, less unpaid quoting. Those are genuine savings, and they're usually worth something - but they're worth what they actually save you, not a round number you picked to sound competitive. Calculate the savings, then pass along a share of them. Don't guess at 20%.
Price the year, not the visit
Here's the whole method, with a landscape maintenance account as the example.
Step 1: Count the real visits. Weekly through the growing season, March to October, is about 32 visits. Biweekly November through February is another 8. That's 40 visits a year - not "weekly," which is what you'd have said off the top of your head, and not 52.
Step 2: Total the real hours. Say 45 minutes on site plus 15 minutes of drive and load time. One hour per visit, so 40 hours a year. Use door-to-door time, not mower time.
Step 3: Apply your break-even rate. If your true cost is $74.80 per billable hour (that calculation is in How to Stop Underpricing Your Estimates?), the year costs you 40 × $74.80 = $2,992.
Step 4: Add margin by dividing, not marking up. At a 20% target margin: $2,992 / 0.80 = $3,740 a year.
Step 5: Divide for level billing. $3,740 / 12 = about $312 a month.
Now the important part. In July you might make five visits for that $312. In January you make two. That imbalance isn't a bug - it's the trade. The customer buys a flat, predictable bill; you buy a full schedule and steady cash flow. But it only works if the price came from the annual total. Price the monthly bill by looking at a July week and you'll be underwater by spring.
Scope creep is what actually kills the margin
On a one-off, "while you're here, could you just..." costs you twenty minutes once. On a recurring account, it becomes part of the service permanently - and it compounds, because next month it's expected, and the month after there's a new one.
Write down what's included and what isn't. Not a legal document, a clear list on the agreement: number of visits, what each visit covers, what counts as extra and roughly what extras cost. The conversation you don't want is the one two years in, when you finally push back on something the customer has considered standard since month three.
A useful test: if a different tech ran this account tomorrow, could they tell from the paperwork what's included? If not, the scope isn't defined - it's remembered, and only by you.
Build in the annual increase now
This is the single most valuable clause in a recurring agreement, and most small operators don't have it.
Your wages, fuel, insurance, and materials all rise every year. If the contract doesn't rise with them, your margin quietly erodes, and by year three you're doing the work at a real loss. Then you face the worst possible conversation: asking for a 25% jump all at once, which feels outrageous to a customer even though it's just three years of catching up.
Instead, state it up front: prices increase a set percentage each year on the anniversary, or track a published index. Small and predictable beats large and shocking. Customers accept a modest annual bump far more easily than a sudden correction - and you never have to work up the nerve, because it's already in the agreement.
A few more things worth pricing in
- Churn. A contract priced on the assumption of three years that ends after eight months never repaid the cost of winning it. Know roughly how long your accounts actually last.
- The heavy season's real cost. If peak season means overtime or a temp, that's a cost the annual total has to carry.
- Callbacks and between-visit calls. Recurring customers call more. That's usually good, but it isn't free.
- Payment terms. Monthly billing is only smooth cash flow if it actually gets paid monthly.
Where a job log helps
Every step above needs one thing you may not have: what the visits actually took.
In ToolBerry, recurring visits are scheduled on their real cadence, so the visit count for the year is something you can look at rather than estimate. Work orders record what each visit involved, with notes and photos, and you can add custom fields for actual time so a season's worth of real durations builds up on the account. When renewal comes, you're pricing from what happened rather than what you remember. It's free and works offline, so the log gets filled in at the property.
What it won't do is calculate your overhead, write your agreement, or track contract terms and renewal dates as a formal contract system. Those live in your books and your paperwork.
The honest caveats
We're engineers, not accountants or attorneys. The numbers here are illustrative - they show the shape of the math, not your figures. Escalator clauses, cancellation terms, and what a service agreement can bind a customer to vary by state and are worth a professional's eye before you standardize a contract you'll sign dozens of times.
Reprice new agreements first. Fix the pricing on new contracts immediately; move existing ones at renewal. Repricing everyone at once is how you lose a season's worth of accounts in a month.
Have a question?
We build ToolBerry as working engineers, and recurring work is the backbone of most of the businesses we talk to. If you run the annual math and it surprises you, we'd like to hear about it: contact@toolberry.net.
Grab ToolBerry from the App Store or Google Play, or visit toolberry.net.
Free forever for solo operators. No account. No credit card. Works offline.
Further reading
- How to Stop Underpricing Your Estimates? - the break-even rate this method depends on
- How ToolBerry Helps Landscapers Run Their Business - recurring routes, one trade deep
- Pest Control: Recurring Service and Field Logs Without Paper - another recurring-heavy trade
- Tracking customer sites and equipment so you're not guessing on the next visit - the history that makes renewal pricing easy
