Full cost of the seat — base pay plus commission plus any team override — divided by the contract value that person booked over the same stretch of time. It's the number that answers whether the seat pays for itself.
Base pay is the guaranteed-hours projection from the comp plan (hourly × guaranteed hours × 52/12, in-season and off-season split out), not actual timecards. If you want it exact, enter real hours per month on the person's plan and it will use those instead.
Early in someone's ramp this number is ugly and that's expected — a seat that starts in October carries three months of winter base pay against a book that hasn't been built yet.
A lead that converts leaves the leads export and reappears in the clients export. So for any source, the clients are the ones that landed and the open leads are the ones that have not — yet. Converted = clients ÷ (clients + open leads).
Two things pull it around, both in the same direction. Leads that were deleted rather than converted vanish from both files, and clients from before lead tracking existed have no lead record to sit against — so a long-standing source reads higher than it truly converts. Compare sources against each other rather than reading any single figure as gospel.
Booked value counts only sales logged in this tracker, so it stays near zero until reps have been logging for a while. It is not historical revenue.
Service Autopilot issues a converted lead a new UserName, so the leads and clients exports share no keys — checked against your files, the overlap is zero. There is no way to match the two lists after the fact with any confidence.
So it is caught in the act instead. When a leads sync shows a lead has left the file, it is held as pending for a fortnight. When a clients sync then brings in a new client with the same email (or failing that, the same name), the two are recorded as a conversion with the days between.
That means conversion only accumulates from the first sync onward — it cannot be back-filled for leads that converted before the tracker started watching. Sync both files in the same sitting and it stays accurate.
The tracker is a single file that has to keep working with no internet and no outside requests, so it cannot pull map tiles. What you get instead is every located property plotted on true latitude and longitude — the shape of Spokane comes through clearly once you filter to a zip, and the distances and rings are calculated on the real coordinates, not on the picture.
Distance uses an equirectangular approximation, which at neighbourhood range is accurate to within a few feet of the great-circle figure.
Projected sales hours = guaranteed hours for that month × the sales share on the plan, spread evenly across the days. Zach at 40 guaranteed hours and 100% sales projects 40 hours a week. Josh at 40 and 75% projects 30. In a zero-guarantee winter month the projection is zero, so anything logged shows as a positive variance.
Actual is whatever gets logged above. Nothing is assumed — a week with no entries reads as zero logged, not as "probably worked the guarantee."
Cost follows the actuals. Once a month has any logged hours, the base pay charged against sales for that month becomes logged hours × hourly rate, and the sales-share estimate steps aside. Months with nothing logged keep using the projection. That means the team cost numbers sharpen up as reps get in the habit.
Booked per sales hour is contract value booked divided by hours logged — the cleanest read on whether selling time is producing.
The tracker is a single file with no server behind it, so it cannot hold a Google login. What it does instead is build the event for you: Add to Google Calendar opens Google with the title, time, location and notes already filled in — you press save. Download .ics does the same for anything that reads calendar files.
That means the booking is one click, but Google does not send anything back. The tracker keeps its own record of the visit and you mark how it went, which is what feeds the numbers below.
To put these on Josh's or Zach's calendar, add their address in the attendee box on the Google screen before saving — the invitation lands on their calendar without either of them needing to share anything first.
Commission is payable 30 days after the invoice goes out. Enter the invoice date and the tracker works out the payable date and moves the sale to Due when it arrives.
A sale with no invoice date has no payable date, so it will never appear in a commission run. That's the point of this tab — anything sitting in Sold or Completed for too long is money nobody has billed for.
Service completed is optional. Skip it if you only care about billing; it's there so you can see work that's been done but not yet invoiced.
Every value in this tracker is PRE-TAX. Sales tax is never commissionable and never counts as production. If an export only offers with-tax totals, fix the export — the 🦅 Data Hawk compares sales against invoice tax data and flags values that look tax-inclusive.
Service Autopilot — the recurring book: mowing, pest, fert/weed, vegetation management, aeration, power rake, and upsells to existing clients. Run a report with one row per service sold — date sold, client, and annual/contract value (pre-tax). Export to CSV.
Elevation Advisor — where landscape projects and revamps get priced and proposed. Export accepted proposals only, with the accepted date and proposal total. Filter to accepted/won before exporting or you'll be counting work nobody closed.
Watch for double-counting. A project written in Elevation and then billed through Service Autopilot lands in both exports. Exact duplicates are skipped automatically, and the Data checks tab flags a same-client, same-value sale showing up under both systems — but the same job entered two different ways won't always be caught. Spot-check after importing both.
Include the record ID column when you can. Every imported sale keeps the row exactly as the export sent it, when it was imported, and the source system's own ID. With the ID mapped, a re-import recognises records it has seen before: unchanged ones are skipped, changed ones are updated in place with the change logged — except sales already paid or reversed, which are never touched by a sync.
Weeks run Monday–Sunday. A sale counts in the week its close date falls in, and against the person credited with it.
Rolling window. Consecutive complete weeks. It passes when it holds at least (standard × weeks) new clients and the booked-value minimum. The in-progress week is shown but left out of the pass-rate math until it closes.
Pass rate. Share of completed windows that met both halves. The Sales Manager plan asks for 75%.
Season-adjusted pace. Clients closed in the current window, divided by the slice of the year those weeks represent per the seasonality curve, annualized. Answers "if he sells at this rate through the seasons, where does he land?"
Base pay. Guaranteed hours × hourly × 52/12, split between in-season and off-season months, prorated by day. Overridden by actual hours where you've entered them.
Commission. New-client rate on new-client value, upsell rate on upsell value, plus any team override on direct reports' booked value. Booked-value estimates for tracking — not a payroll calculation.