The Operator Who Won Every Quote and Still Lost Money
Picture this: a solo operator in his third year, booking mulch jobs all spring at $280–$320 each. Win rate was great. Cash was coming in. Then he sat down in June to figure out why his bank account didn't match his revenue — and realized he'd been quoting mulch jobs at roughly the price he paid for mulch two seasons ago, before his supplier raised rates twice.
He wasn't losing jobs. He was winning them and losing money on every one.
This is the version of quoting nobody talks about. Everyone worries about underquoting because they're afraid to lose the job. But there's a slower, quieter way to underquote — and that's letting your estimates run on stale numbers while your actual costs creep up underneath them.
Winning the quote doesn't matter if you've already lost the margin before you start the job.
What AI Quoting Actually Does (And What It Doesn't)
AI quoting tools — including Lawnager's smart estimator — work by taking a service type, a property size, and some other inputs, then generating a breakdown of materials and labor to produce a suggested price. It sounds like magic. It's actually math.
The math is only as good as the inputs. When you first set up AI quoting, the system uses market-rate estimates for materials — reasonable ballpark figures that might be close to what you pay, or might be 15–30% off depending on your supplier, your region, and when you're reading this. Mulch prices alone can swing $8–$14 per cubic yard depending on the time of year and where you source it.
So if you've been generating quotes without ever updating your materials catalog, you're essentially quoting off a guess that someone else made about what your costs probably are. That's not quoting — that's hoping.
The AI quoting guide walks through how the estimator uses your service settings and materials together. The key insight: the AI doesn't know what you paid for a pallet of fertilizer last Tuesday. Only you do.
- •Market-rate estimates are a starting point, not a permanent input
- •Material prices vary by region, supplier, and season
- •Labor estimates assume an average crew — your crew's actual rate may differ
- •AI can only optimize based on the data it has access to
The Materials Catalog: The Setting Most Operators Skip
In Lawnager's Settings → Materials & Supplies, there's a full catalog where you enter the actual costs you pay for every material you use — mulch, fertilizer, seed, gravel, soil amendments, whatever's on your truck. Once it's set up, every quote the AI generates pulls your prices instead of the default estimates.
Most operators skip this during onboarding. The app works without it, so they move on to customers and jobs and come back to it 'later.' Later rarely comes.
Here's the cost of skipping it: if your mulch costs $38 per cubic yard delivered and the default estimate uses $28, every mulch job you quote is eating $10 per yard in hidden margin loss. A 3-yard job is a $30 miss. Do fifteen of those a month and you're looking at roughly $450/month in margin that never existed — not because you priced wrong, but because the system didn't know what you actually pay.
You can add materials manually or let the AI suggest 15–25 common items with typical market pricing as a starting point, then adjust each one to match your actual supplier costs. Takes about 20 minutes to do it right. After that, update it when your supplier changes rates — usually once or twice a year.
20 minutes to build your materials catalog can fix a margin leak you'd never catch otherwise.
Labor Is the Other Half of the Equation
Materials get most of the attention, but labor rates in your crew settings matter just as much. The AI estimator factors in estimated labor hours for a job — but it uses the hourly wage you've set per crew member to calculate what that time actually costs you.
If you added a crew member at $16/hour six months ago and gave them a raise to $19, your quotes are still being generated with the old rate unless you updated the profile. That's a $3/hour gap — and on a 4-hour job with two crew members, that's $24 in labor cost your quote didn't account for.
This isn't a knock on AI quoting. It's just how it works. The tool reflects your business — your prices, your crew, your costs. When those things change in real life, the software needs to know.
The crew management help article shows exactly where to update hourly wages per crew member. It's a two-minute edit. Make it a habit after any pay change.
If you want to see whether your labor cost is actually tracking with your revenue — meaning whether the jobs you're pricing are profitable after wages — the Profitability report breaks this down per customer. Worth checking if you've never looked at it.
- •Update hourly wages in crew profiles after any raise
- •Check that crew skills match the services they're assigned to
- •Account for crew size — a 2-person crew on a 3-hour job is 6 labor hours, not 3
The Right Workflow: Quote → Review → Adjust → Learn
Here's a workflow that actually makes AI quoting sharper over time, rather than just accepting whatever number the system spits out.
When you generate a quote, don't accept it blind. Look at the line items. Does the material quantity make sense for the property? Does the labor estimate match how long this type of job actually takes your crew? If you've been doing this work for a few years, your gut check on a quote takes about 30 seconds and it's worth doing every time.
When you adjust a quote — bumping the mulch quantity up, adding a line item, or changing the labor estimate — note why. Not formally, just in your head. Over time, if you're consistently adjusting the same line item on the same service type, that's a signal your defaults need updating. Go fix the underlying setting rather than correcting the same thing quote after quote.
This is how the AI actually gets smarter for your business: not through some magical self-learning process, but because you update your data as your real costs change. The tool meets you halfway. You have to meet it the rest of the way.
For operators thinking about how this connects to the bigger picture of business health and eventual sale value, accurate per-job costing is also what makes your financial records actually mean something to a buyer.
- •Review line items on every AI-generated quote before sending
- •Adjust quantities based on your actual job knowledge
- •When you catch a recurring error, fix the source setting — don't just patch each quote
- •Update materials pricing at least twice a year, or when you notice supplier price changes
What This Actually Looks Like in Dollar Terms
Let's make this concrete. Say you run mulch installs, fertilizer treatments, and basic mowing. You're quoting around 40 jobs a month across all three.
Mulch: your cost is $40/yard, defaults estimated at $30. Average job is 2.5 yards. That's a $25 miss per job. Over 12 mulch jobs a month, that's roughly $300 in missing margin — not lost to a competitor, not spent on anything, just gone from your numbers because the estimate didn't know your actual cost.
Fertilizer: your product costs $3.20 per 1,000 sq ft to apply, defaults estimated at $2.50. Average lawn is 6,000 sq ft. That's $4.20 per job. Over 20 fertilizer jobs a month, you're looking at $84 you didn't quote for.
Labor: one crew member got a $2 raise four months ago. They do 15 jobs a month at an average of 2.5 hours. That's $75/month in labor cost your quotes aren't reflecting.
Add those three gaps up and you're looking at roughly $459 a month in margin that should exist but doesn't — because of three settings that take maybe 30 minutes to fix. Annualized, that's over $5,500. That's a mower payment. That's two months of a part-time crew member.
A $459/month margin gap from stale settings isn't a software problem. It's a setup problem — and it's fixable in under an hour.
How to Audit Your Setup Right Now
You don't need to overhaul everything at once. Here's a 30-minute audit that will tell you whether your AI quoting setup is working for you or against you.
Start in Settings → Materials & Supplies. If this page is empty or has only the AI-suggested defaults and you've never touched them, that's your first flag. Pull up what you actually paid on your last supplier invoice and compare. Fix anything that's off by more than 10%.
Then go to Crew and look at the hourly wage for each crew member. When was the last time you updated these? If anyone's gotten a raise since setup, update it now.
Finally, generate a quote for a job you've done recently — a job where you know roughly what it should cost based on experience. Look at the AI's line items. Are the material quantities reasonable? Is the labor estimate in the right ballpark? If not, that's your baseline for what to fix.
This isn't a one-time fix. Build it into your quarterly routine. Every 90 days, spend 15 minutes checking your materials prices against what you're actually paying. It's the cheapest maintenance you'll do all year.
If you're just getting started with Lawnager and want to set this up correctly from day one, the getting started guide and the pricing setup article walk through the full configuration sequence — materials, services, and labor rates all in the right order.
- •Check Materials & Supplies against your last supplier invoice
- •Verify crew hourly wages are current after any raises
- •Generate a test quote for a known job and sanity-check the line items
- •Make this a quarterly habit — 15 minutes every 90 days
Ready to run your lawn care business smarter?
Join operators who traded spreadsheets for a platform that keeps up with them.
Start for free