Recurring Maintenance Contracts: What to Include

Renee signed the Castillo account eight months ago for $220 a month, "full property maintenance." At the time that meant mowing, edging, and a quick blow-off of the walkways. By month six it had quietly turned into mowing, edging, blowing walkways, trimming three hedges she never originally quoted, hauling away a growing pile of yard debris every other visit, and fielding a text every few weeks asking if she could "just take a look" at something. She was doing almost twice the work for the same $220, and there was nothing in writing that said she didn't have to.
She didn't get taken advantage of on purpose. The contract just never said what "full property maintenance" actually meant, so the client's idea of it grew and hers didn't get a say.
Why this happens
A recurring contract is different from a one-time job because scope creep doesn't show up all at once, it shows up one small ask at a time. "Can you also grab the leaves by the fence" seems too small to push back on. So does the next one. Six months later you're doing three extra tasks nobody agreed to pay for, and there's no clean moment where you can point to the line that got crossed, because there was never a line in the first place.
The root cause is almost always a contract that describes the relationship in general terms, "full service," "as needed," "whatever the property needs," instead of listing the actual tasks, their frequency, and what falls outside them. Vague language feels friendlier when you're signing a new client, nobody wants to hand over a rigid checklist on day one. But vague language is exactly what lets scope drift, because there's nothing written down for either side to check the ask against.
What you actually need
- A specific task list, not a category. "Mowing, edging, walkway blow-off, bed weeding" beats "lawn maintenance" because every word in the specific version is something you can point to later.
- A stated frequency for each task. Weekly mowing and monthly bed weeding are different commitments. If the contract just says "regular visits," you and the client can disagree about what regular means.
- A clear list of what's excluded. Naming what's NOT included, hedge trimming, debris hauling, irrigation repair, does more to prevent scope creep than any amount of detail on what is included.
- A defined process for add-on requests. Something as simple as "additional work is quoted separately and confirmed before it's done" gives you permission to say yes to extra work without doing it for free.
- A renewal or review date. Properties change. A contract that auto-continues forever with no checkpoint is how a fair price from a year ago turns into an unfair one now.
A simple system
- List every task you're actually willing to include, specifically, not by category. If you wouldn't want to explain it to the client in one sentence, it's not specific enough.
- Attach a frequency to each task. Weekly, biweekly, monthly, seasonal. No task goes in without one.
- Write an explicit exclusions section. List common asks that feel adjacent but aren't included, so there's language to point to when a request comes in.
- Add one line about extra work. State that anything outside the listed tasks gets quoted and approved before it happens, no exceptions, no "I'll just do it this once."
- Set a review date, typically annual, where price and scope both get revisited instead of running on autopilot indefinitely.
- Keep the signed contract somewhere you can pull up fast when a request comes in and you need to check what was actually agreed to.
A worked example
When Renee brings on her next client, the Alvarez property, she writes the contract differently. It lists: weekly mowing and edging, biweekly walkway and driveway blow-off, monthly bed weeding. Underneath that, an exclusions line: hedge trimming, debris removal beyond normal clippings, and irrigation work are not included and will be quoted separately. Below that, one sentence: any additional requests will be quoted and confirmed by text before work begins.
Three months in, Mrs. Alvarez texts asking if Renee's crew can trim the hedges along the driveway while they're there. Instead of feeling put on the spot, Renee has a script ready because the contract already set the expectation: "Happy to, that's outside the maintenance visits so I'll send a quick quote, should take about 30 minutes." Mrs. Alvarez says sure, gets a $45 add-on quote by text, confirms it, and it's done. No awkwardness, no unpaid extra hour, no resentment building up on Renee's side about work she never agreed to.
Compare that to the Castillo account, where by the time Renee wants to fix the scope, she has to have an uncomfortable conversation about a service level the client has come to expect for free. That conversation is much harder to have eight months in than it would have been to prevent on day one.
What this actually buys you
- You stop losing money to slow scope creep. A written task list gives you something firm to check every request against instead of relying on memory or feeling bad saying no.
- Add-on work becomes income instead of an assumption. Clients aren't trying to get one over on you, most genuinely don't know where the line is until you show them.
- Renewal conversations get easier. A contract with a review date means price increases are an expected checkpoint, not an awkward surprise you have to bring up out of nowhere.
- New hires or subs can run the account without guessing. A specific task list means anyone covering that route knows exactly what's owed, not just what "full service" might mean to them.
If Renee had written the Castillo contract with a specific task list and an exclusions line from the start, that first "can you also grab the leaves by the fence" text would have been an easy $20 add-on instead of the start of eight months of free work. Bindful lets you attach the actual service terms and task list to each client's record, so anyone checking a request, you or a crew member, can see exactly what's included before saying yes. That's the difference between a contract that protects your time and one that just sits in an email nobody rereads. bindful.app