Period
📅 This dashboard is calendar-only — every number here comes straight from Google Calendar, nothing from spreadsheets.
Monthly Revenue — 2026
✓ = MONTH marker (authoritative)
QUOTE CALCULATOR
All pricing rules baked in · PDF quote · SMS template
Rates:
W+Seal $2.30→$1.60/sqft ($999 min) • W+Sand $1.65→$1.40/sqft ($750 min) • WSS $999 min •
Windows <100=$9.50 · 100-249=$8.00 · 250+=$7.50/ea (Int+Ext doubles) •
Gutters $1.50-$2.25/lf • Deck $0.80/$0.65/$0.40/sqft • Asphalt $0.60/<1500 · $0.55/1500+ •
All minimums: $299
Customer
Services — tap to add
House Wash
Interlock
Pressure Wash
Windows
Gutters
Deck Wash
Asphalt Seal
Roof Wash
🌃 Discount0%
0%15%30%
Quote Breakdown
Total + HST (13%)
$0
CRM & LEADS
Live from Google Sheets — all 2026 leads & quoted amounts
—
Total Leads
—
Pipeline $
—
Avg Quote
—
No Answer
Lead Table
| Name | City | Service | Quoted | Rep | Status |
|---|
OPS & TEAM GUIDE
Daily to-dos, lead SOPs, quoting rules, on-job standards — bookmark this tab
✅ Daily To-Do List
🔥 What To Be Doing Right Now
📱 No jobs? Work the pipeline.
Open the CRM tab. Sort by highest quoted amount. For everyone with a number — copy it, paste it in GHL, find their conversation, pick it back up. Reference their specific job ("just wanted to circle back on your interlock in Ajax"). If no reply in 24h, call them.
📷 Take before + after photos on every single job.
Before you start, wide shot + close-up of the worst areas. After, same angles. Upload to the GHL contact. These build the portfolio that closes future jobs — especially for interlock (customers love seeing the transformation).
★ Ask for a Google review before you leave.
Right at the end of every job, while the customer is happy: "Would you mind leaving us a Google review? It goes a long way for a small business like ours." Show them the QR code or text them the link. Don't wait — do it while you're standing there.
📍 Canvass between jobs.
If you're in Ajax, Markham, or Pickering, drop 10 door hangers on each side of the job. Knock on the next-door neighbour — "we're just finishing up your neighbour's interlock, thought we'd check if yours needs attention." This costs $0 and consistently generates same-day quotes.
👥 Lead Follow-Up SOP
▼
The goal: pick up every relationship where it was left. Every unanswered lead is money sitting on the table. Here's how to work it:
1
Open CRM tab in this dashboard HERE
Filter by "No Answer" or sort by highest quote. Find someone with a real number — $1,000+ first.
2
Copy their phone number → paste in GHL GHL
Open GoHighLevel. Search bar at top. Paste the number. Their full contact pulls up including every text, email, and note.
3
Read the conversation history
Scroll to the bottom (most recent). Figure out: Did they ghost? Were they "thinking about it"? Did we quote and they went quiet? That context changes your approach.
4
Send a warm, specific follow-up TEXT FIRST
Reference their exact situation: "Hey [Name], Caleb from A Tier Washing — following up on your interlock in Ajax. We had a cancellation nearby next week if you're still interested. Quote was $1,610 to wash and seal. Want to lock that in?" Specific always beats generic.
5
No reply in 24h? Call. CALL
Most people don't respond to texts but will answer a call. Keep it short: introduce yourself, reference their quote, mention a reason to act now (nearby job, openings this week). Don't pitch — ask a question: "Still thinking about getting the interlock done this season?"
6
If hot ($2k+) or close — escalate to Caleb HOT
Anything over $2,000 or where they've engaged multiple times gets a personal touch. Flag it in GHL, send Caleb a screenshot. High-value jobs deserve a phone call from the owner.
7
Booked? Add to calendar with $ in the title CALENDAR
e.g. "Nick W+Seal $2,100" — this is how the dashboard tracks revenue. Add the full address in location. Update GHL pipeline stage to Won.
📊 Sheet vs GHL — Which One's the Truth?
▼
✅ The Google Sheet is the #1 main data source.
Every lead, every quoted amount, every "no answer," every rep assignment — the Sheet is what this dashboard reads, what revenue gets reported from, and what's treated as correct if the two systems ever disagree. GHL is the day-to-day communication and automation tool, and it's a critical backup record, but it is not the source of truth.
1
Update the Sheet first, every time
New lead comes in, you quote someone, a status changes ("No Answer" → "Texted" → "Booked") — that goes in the Sheet first. This dashboard's CRM tab, revenue numbers, and rep stats all pull directly from it live.
2
Then reflect the same update into GHL BACKUP
Move the contact's pipeline stage, add a note, or log the call/text in GHL so the conversation history stays accurate there too. Think of GHL as the detailed paper trail behind every number the Sheet is reporting.
3
If something happens in GHL first, log it back to the Sheet
Sometimes a text reply or a call comes in through GHL before you've touched the Sheet — that's fine, it happens. Just make sure the Sheet gets updated the same day so it never falls out of sync with what's actually going on.
4
If the two ever disagree, the Sheet wins RULE
If GHL shows a job as "Won" but the Sheet was never updated, the Sheet is what's wrong — fix the Sheet, don't trust GHL's status as the real answer. Every report, every dashboard number, every revenue figure comes from the Sheet.
5
Why keep both instead of picking one?
The Sheet is fast to scan, easy to filter/sort, and feeds this whole dashboard. GHL is what actually sends texts, makes calls, and stores full conversation history. You need GHL to work a lead and the Sheet to track it — losing either one creates blind spots.
⚠ Golden Rule: Always price before visiting.
We always try to get a price to the client before checking in person so they're not shocked. Give a range by phone or text first, visit only to close or confirm.
A
Simple jobs — quote by phone/text NO VISIT
Windows, gutters, basic pressure wash, small decks. Ask for count/sqft, plug into the calculator, send a price. Done. Visit only if they're hesitant or describe something unusual.
B
Medium interlock (<1,500 sqft) — satellite + photos PHOTOS
Use Google Maps satellite to estimate sqft. Ask the customer to send a photo of the worst areas. Quote from that. Most 800-1,200sqft driveways can be priced accurately this way.
C
Large/complex (>1,500 sqft, WSS, multiple areas) — range first, then visit
Give them a ballpark ("You're likely looking at $2,000-$2,800 based on what you've described"). Once they're interested, schedule a walk to confirm. Never show up cold to a large quote without their buy-in on the range first.
D
Hard to see from satellite / mentions shifting or uneven pavers ALWAYS VISIT
If you can't see the house clearly, or they describe uneven or shifting pavers (possible releveling), you MUST visit. Releveling changes the job completely — it's a separate quote and separate decision. Flag for Caleb.
E
Near-close or high-ticket? Walk it in person
If someone's at $3,000+ and ready to book, offer a quick walk-through to build trust and confirm details. Frame it as "I'll come take a quick look to make sure my numbers are bang-on." Builds confidence and closes the job.
