Software for 2–5 person lawn-care crews

GroundCut runs the operations of small lawn-care crews — unlimited team members, route optimization that orders the day’s jobs by drive time, a built-in customer hub with notes/tags/timeline so the office and the crew share one source of truth, clean CSV exports for your bookkeeper, and a custom domain on your booking page. One plan: $99/month plus Stripe processing — every feature we’ve shipped is included, every new feature we ship is included, no per-user or per-customer fees ever. (QuickBooks Online sync is in Intuit certification right now and turns on automatically when approved — same price.) 14-day free trial.

What you’re dealing with

  • Crew calling for the next address while you’re elbow-deep in a different job.
  • Two trucks driving across each other’s routes because nobody planned the day.
  • Manual labor cost tracking — guessing at hours per job.
  • Bookkeeper exporting CSVs and re-entering invoices into QuickBooks.
  • Team members logging into a shared owner account because there’s no role separation.
  • Customer notes scattered across phones, group texts, and a clipboard in the truck.

How GroundCut solves it

Crew calls for the next address

Crew mobile app shows the day’s queue with addresses, lawn outlines, and estimated durations. One-tap "Open in maps" launches Apple Maps, Google Maps, or geo:// with the next stop. Multi-stop route URLs work for the whole day.

Trucks crossing each other

Route optimization reorders jobs by drive time using Mapbox Directions. From the admin Jobs view, click Plan route on a date and the day’s jobs sort by nearest-neighbor with drive-time-to-next on each card.

Manual labor cost tracking

Each user has an hourly_rate. Each job tracks estimated vs actual time, distance, drive time, fuel cost, labor cost, and equipment cost. The Jobs table’s "net" column shows final price minus computed cost — per-job profitability without spreadsheets.

Re-entering invoices into QuickBooks

CSV export from /admin/bookkeeping covers your bookkeeper today — invoices, payments, and expenses with the columns QBO and Xero expect. Direct QuickBooks Online OAuth sync is built and currently in Intuit’s app-review process; once approved it turns on for everyone with no upgrade and no extra cost.

Shared logins

Unlimited users with four roles: owner (everything), admin (everything except team/settings/billing), office (read-only customers/jobs/invoices), crew (operator queue and assigned jobs). Each user signs in with their own email; the crew mobile app filters to their assigned jobs.

Customer notes scattered everywhere

The built-in customer hub has a pinned + chronological notes thread per customer (gate codes, pet warnings, special instructions). Pinned notes surface as "property notes" in the crew mobile app so the crew sees them at the door. Tags let you segment customers (commercial, weekly, snowbird) and filter the list. Every SMS and email sent to a customer appears on a notification timeline with delivery status. TCPA/CAN-SPAM opt-out is handled automatically.

Setup walkthrough for small crews

  1. 1Sign up at /register and use the 14-day trial to evaluate every feature risk-free.
  2. 2Configure services and pricing rules in /admin/services. Set realistic time_rules — min minutes per quarter-acre, multipliers for overgrown / large_lot / complexity — so your scheduling reflects actual crew speed.
  3. 3Add team members in /admin/team with role and hourly_rate. Crew accounts only see /operator. Office accounts get read-only admin access without billing or settings.
  4. 4In /admin/equipment, list your equipment types with cost-per-hour. Each service can use one or more equipment types; the equipment cost rolls into per-job profitability.
  5. 5In /admin/zones, draw service-area boundaries with rules per tier (accept / accept-with-fee / high-value-only / reject). The default 4-zone setup catches most operations.
  6. 6Hand your bookkeeper the CSV export from /admin/bookkeeping (income, expenses, audit log). Direct QuickBooks Online OAuth sync ships once Intuit approves the integration. Set up your custom domain at /admin/settings → Custom domain so customers see book.yourcompany.com instead of {subdomain}.groundcut.com.

One price. Every feature. Forever.

A 2–5 person crew uses the full feature set — unlimited team members (no per-seat fees, ever), route optimization on Plan-route days, the customer hub with notes and tags so office and crew share one source of truth, CSV export for the bookkeeper today (with QuickBooks Online sync queued behind Intuit certification, same price), and a custom domain on the booking page. The bill is $99/mo plus Stripe’s standard processing on each customer charge — that’s it. Hire your fifth crew member tomorrow and the bill doesn’t change.

GroundCut
14-day free trial
$99/mo

Polygon-based instant quoting, branded booking page, recurring Stripe Subscriptions billing, the built-in customer hub (notes, tags, notification timeline, opt-out, reengagement), route optimization, custom domain, the crew mobile app, weather alerts, CSV export for accounting, and 22+ SMS and email notification types. Unlimited team members. Direct QuickBooks Online sync ships once Intuit certification clears — same plan, same price.

Start 14-day free trial
What you actually pay
  • GroundCut subscription$99/mo
  • Stripe processing on each customer charge2.9% + 30¢
  • GroundCut platform fee0%
  • SMS / email / Mapbox / map tiles$0 (covered)
  • Per-user / per-customer / per-job feesNone
  • New features as they shipFree, always

That’s the entire bill. No add-on modules, no feature unlocks, no surprise upgrade prompts. Today’s $99 buys today’s product. Tomorrow’s $99 buys tomorrow’s — every feature we ship lands on the same plan at the same price.

14-day free trial. No card required. Cancel any time.

FAQs for small crews

How does route optimization actually work?+
On a date with multiple jobs, click Plan route in /admin/jobs. The server calls Mapbox Directions with each pair of jobs, builds a distance matrix, and runs nearest-neighbor starting from your home base. Each job gets a stop_order and a drive-time-to-next-job estimate. The crew mobile app shows the queue in stop_order with multi-stop maps URLs. It’s not the traveling-salesman optimum, but for a 6–12 stop residential mowing day it’s within a few percent and runs in under a second.
Can crew members see each other’s jobs?+
Owner and admin see everything. Office sees everything read-only. Crew users see their own jobs by default; the operator queue has tabs for "My jobs," "Unassigned," "Others" (admin/owner only), and "Site visits." Crew can’t edit jobs they aren’t assigned to. Job-level RLS is enforced at the database — it’s not a UI-only restriction.
How do refunds and voids show up for the bookkeeper today?+
Refunds via the Stripe webhook (charge.refunded) flip the invoice to void if fully refunded and insert a negative payments row. The CSV export from /admin/bookkeeping reflects voided invoices and refund payments line-by-line so the bookkeeper sees the correction in their normal workflow. When the QuickBooks Online sync ships (post Intuit approval) it’ll be idempotent and refund-aware out of the box; we don’t double-post on retries.
Can I run multiple crews on different routes?+
Yes. Assign jobs to specific crew users — that user sees them in their operator queue. Run Plan route per-day from /admin/jobs after assignments. Each crew member taps Start route in their own PWA and the next-customer SMS goes out. Multi-day or multi-route planning is manual: GroundCut doesn’t have a "smart auto-assign jobs to two crews to balance the day" optimizer yet.
How does the crew mobile app handle bad cell coverage?+
Status updates and photo uploads queue locally and sync when reception returns. The operator queue is loaded on page open; you can keep scrolling and tapping in airplane mode for an hour and reconnect later. It’s not a fully offline-first app — you need data to load the queue at the start of the day — but it survives the gaps.
Is there a real CRM, or is it just a customer list?+
Real customer hub. Each customer has a pinned + chronological notes thread (gate codes, pets, parking, quirks); pinned notes surface as "property notes" in the crew mobile app so the crew sees them at the door. Tenant-scoped colored tags let you segment customers (commercial, weekly, snowbird) and filter the list. Every SMS and email sent appears on a notification timeline with provider delivery status (sent / delivered / bounced). Inbound STOP replies and email unsubscribe clicks set per-channel opt-out flags automatically — TCPA and CAN-SPAM compliance is handled. There’s a manual follow-ups system for "call back next week" reminders and a reengagement cron that wakes up lapsed customers automatically. It’s not a marketing-automation platform with drip campaigns, but for office + crew running a residential lawn business it’s enough.
Will hiring a fifth crew member or adding 100 customers raise the bill?+
No. The plan is $99/mo flat with unlimited users, unlimited customers, unlimited jobs, unlimited recurring schedules, unlimited notifications. The only variable cost is Stripe’s standard processing fee on each customer charge (paid out of the customer charge itself, not on top), and the SMS/email/Mapbox costs are covered by the platform. Per-seat and per-customer pricing is the kind of model that turns "we’re scaling" into "the software bill exploded" — we don’t do that.

Get set up in an hour

14-day free trial unlocks every Pro feature. No card required to start.

14-day free trial · No card required · Cancel any time