BSP ๐Ÿ”ง ServiceTitan Operations Playbook
Bright Side Plumbing -- The Operations Bible for a $3M Company Targeting $6M ๐Ÿš€
Updated: April 7, 2026
Source: Kassidy Call + API Research + Field Data
(913) 963-1029
12022 Blue Valley Pkwy, Overland Park, KS 66213
Playbook Completion
0%
๐Ÿ’ผ STEPHANIE Business Ops / Co-Owner
๐ŸŽง ASHTON Operations Lead / Daily ST User
๐Ÿ”จ KALEN Owner / Master Plumber
๐Ÿšจ The Problem ๐Ÿ“ž Kassidy Findings ๐Ÿ“‹ Daily Operations ๐Ÿงน Cleanup Checklist ๐Ÿ›ก๏ธ Tech Compliance โšก API Automation ๐Ÿ“š Tech Training ๐Ÿ‘ฅ Active Technicians
1
๐Ÿšจ The Problem -- Revenue We Can't See

This section covers the six reasons your ServiceTitan reports do not match what you are actually making. Understanding this matters because every business decision you make -- staffing, marketing spend, tech performance -- is built on these numbers. If the numbers are wrong, the decisions built on them are wrong too.

The good news is this is not a revenue problem. The money is coming in. The problem is a visibility problem -- ServiceTitan only knows what it has been told, and right now six process gaps are preventing it from seeing the full picture. Some of these gaps are tech behavior issues. Some are platform limitations. Some are old data that was never cleaned up. All six are fixable, and we have a specific owner and timeline on every one.

Here is what is currently invisible and why it matters to you.

$344K+
๐Ÿ’ธ Revenue invisible to your reports right now
6 fixable gaps -- every one has a solution already in progress
1๏ธโƒฃ $144K in Sold Estimates Sitting Unbooked
โœ…
SOLUTION: Ashton checks the Sold tab daily and books every sold estimate into a return visit. Robert is building an auto-alert that flags aging estimates before customers go cold.
๐Ÿ”ด
PROBLEM: When a tech sells work, the customer says yes -- but nobody schedules the return visit. The money just sits there.
๐Ÿ’ฐ
WHY THIS MATTERS: $144K in approved work is not on the schedule. Every day it sits, the customer is more likely to call someone else. That is revenue you already earned walking out the door.
๐Ÿ“‹
BREAKDOWN: Tech goes to a home, diagnoses the problem, presents an estimate. Customer says yes. Tech marks it "sold" in the app. But nobody in the office sees it or books the return visit. The estimate sits in the Sold tab indefinitely. Now Ashton checks this tab every morning and Robert's automation will flag anything older than 3 days.
2๏ธโƒฃ 200 Stuck Jobs Hiding from Reports
โœ…
SOLUTION: Ashton is cleaning them up in priority order -- 11 with real revenue first (one is $34K). Robert built a report that catches new stuck jobs weekly so this never piles up again.
๐Ÿ”ด
PROBLEM: 200 jobs are stuck in "Scheduled" or "In Progress" from months ago. They will never show up in your revenue reports because ST only counts completed jobs.
๐Ÿ’ฐ
WHY THIS MATTERS: At least $34K in real revenue is trapped in these stuck jobs. Your P&L looks $34K+ worse than reality. And the noise makes every report you pull unreliable.
๐Ÿ“‹
BREAKDOWN: A tech goes to a job. The job stays "Scheduled" because nobody hit complete. Weeks pass. Now it's an old job that will never auto-complete. It just sits there making your numbers wrong. Ashton is going through all 200 one by one: complete the real ones, cancel the dead ones, recover the revenue.
3๏ธโƒฃ 78% of Jobs Have No Sales Credit
โœ…
SOLUTION: Robert's automation fills in the missing sales credit every night automatically. It looks at who was dispatched and writes that as the seller.
๐Ÿ”ด
PROBLEM: 78% of jobs don't show who sold them. The "Sold By" field is blank on almost every job.
๐Ÿ’ฐ
WHY THIS MATTERS: You can't pay commissions correctly. You can't track who is selling. Kalen's $22K+ in recent sales is invisible -- he looks like he's producing $0 when he's your top closer.
๐Ÿ“‹
BREAKDOWN: When Ashton books a job, the "Sold By" field stays blank because ServiceTitan does not require it on mobile. Kassidy confirmed this is a platform limitation -- it literally cannot be forced. Our automation reads who the dispatched tech was and fills it in overnight. No manual work needed.
4๏ธโƒฃ 40% of Jobs Labeled "General Plumbing"
โœ…
SOLUTION: Robert is building an auto-corrector that reads what work was actually done and re-labels the job type. Ashton also reclassifies manually during debrief.
๐Ÿ”ด
PROBLEM: 40% of jobs are categorized as "General Plumbing" instead of Drain Cleaning, Water Heater, Sewer, etc. Techs cannot change the job type from their phone.
๐Ÿ’ฐ
WHY THIS MATTERS: You cannot see which services make money and which don't. If drains are your best margin but 40% of drain jobs are labeled "General," you are flying blind on where to invest.
๐Ÿ“‹
BREAKDOWN: A call comes in for a water heater. Ashton books it as "General Plumbing" because that's the default. The tech does the work but can't change the type from his phone. Now your water heater revenue report shows $0. The auto-corrector reads the invoice summary ("installed 50 gal water heater") and patches it to the right category.
5๏ธโƒฃ 61% of Service Direct Jobs Show $0 Revenue
โœ…
SOLUTION: Ashton debriefs every completed job for invoice completeness. Robert is building a real-time Slack alert that fires the instant a job completes with $0.
๐Ÿ”ด
PROBLEM: 61% of jobs from Service Direct show $0 revenue. The tech hits "complete" without adding invoice line items.
๐Ÿ’ฐ
WHY THIS MATTERS: You are paying for Service Direct leads. When those jobs show $0, it looks like you are spending money and getting nothing back. Your marketing ROI looks terrible when the money is actually there -- just not recorded.
๐Ÿ“‹
BREAKDOWN: Tech completes a $500 drain cleaning. He hits "complete" on his phone but does not add the $500 invoice line item. ServiceTitan records the job as $0. Your report says Service Direct generated $0. In reality, the customer paid $500 cash. Now the debrief catches this before end of day, and the automation catches anything the debrief misses.
6๏ธโƒฃ 19 Dead Campaigns Polluting Data
โœ…
SOLUTION: Robert is deactivating all 19 old campaigns via the API. New calls will only be assigned to current, active campaigns.
๐Ÿ”ด
PROBLEM: 19 marketing campaigns from the Russ era are still active in ServiceTitan. New calls are getting assigned to dead campaigns.
๐Ÿ’ฐ
WHY THIS MATTERS: When a new call lands on a dead campaign, you cannot track where that customer came from. Your marketing spend looks like it is not working because the leads are being credited to campaigns that no longer exist.
๐Ÿ“‹
BREAKDOWN: Russ (previous marketing person) set up campaigns that are no longer running. But ServiceTitan still has them as active options. When a new Google Ads call comes in, it sometimes gets tagged to an old Russ campaign instead of the current BSP campaign. Robert is deactivating all 19 via API so this stops happening.

This section lists the six data gaps that are making our ServiceTitan reports wrong, in the order you should fix them. Each gap has a specific cause, a specific fix, and a reason it matters to the business. The pattern is always the same: techs cannot fill certain fields from their phone, so the office has to catch it during debrief or Robert's automation catches it overnight.

Start with stuck jobs (they have real money trapped) and work down the list. The daily items become part of your routine. The one-time items get done and stay done.

โšก 6 Things to Fix (In Priority Order)

Each one follows the same pattern: here's the fix, here's the problem, here's why it matters, here's the full picture.

๐Ÿ”ด 1. Stuck Jobs (200 jobs)
โœ…
SOLUTION: Search Status = "Scheduled" + Date < Today. Work through them in priority order: revenue jobs first, then $0 jobs. Complete the real ones, cancel the dead ones.
๐Ÿ”ด
PROBLEM: 200 jobs still showing "Scheduled" from months ago. They will never complete on their own and they clog every report.
๐Ÿ’ฐ
WHY THIS MATTERS: At least $34K in real revenue is stuck. Stephanie's reports look wrong. Kalen thinks the team is underperforming when the work was actually done.
๐Ÿ“‹
BREAKDOWN: 11 jobs have real revenue (do first, one is $34K). 92+ are $0 scheduled (cancel with notes). 53 are in-progress with money (verify with techs then complete). The rest are legacy imports and old estimates. No QB adjustments needed since none were exported yet.
  • Search and start cleaning stuck jobs -- revenue jobs first
๐Ÿ”ด 2. $0 Invoices (61% of Service Direct)
โœ…
SOLUTION: Debrief EVERY completed job before moving on. Check: does the invoice have line items with real dollar amounts? If not, add them or call the tech. Robert is building a Slack alert for instant notification.
๐Ÿ”ด
PROBLEM: Tech completes job, doesn't add invoice line items, hits complete. Result: job shows $0 revenue even though the customer paid.
๐Ÿ’ฐ
WHY THIS MATTERS: Stephanie sees Service Direct generating $0 and thinks the leads are bad. In reality the money came in -- it just wasn't recorded. She's about to cut a marketing channel that's actually working.
๐Ÿ“‹
BREAKDOWN: Tech does a $500 drain job. Hits "complete" on his phone without adding the $500 line item. ST records $0. Your end-of-day debrief catches this: open the job, add the line items, correct the invoice. The Slack alert will catch it in real-time so you don't have to wait until EOD.
  • Debrief every completed job for invoice completeness
๐Ÿ”ด 3. Sold-By Missing (78% of jobs)
โœ…
SOLUTION: Fill Sold-By during your end-of-day debrief for every completed job. Look at who was dispatched -- that's who gets the credit. Robert's nightly auto-fill will catch anything you miss.
๐Ÿ”ด
PROBLEM: 78% of jobs have a blank Sold-By field. ST cannot require this on mobile -- techs will always skip it.
๐Ÿ’ฐ
WHY THIS MATTERS: Kalen's $22K+ in sales is invisible. Commission calculations are wrong. Stephanie can't see who's actually producing revenue and who isn't.
๐Ÿ“‹
BREAKDOWN: Kassidy confirmed this is a platform limitation -- ST physically cannot force techs to fill Sold-By on mobile. The fix is two-layer: you fill it manually during debrief (takes 10 seconds per job), and the nightly automation fills anything you miss by using the dispatched tech's ID.
  • Fill Sold-By on every completed job during EOD debrief
๐ŸŸก 4. Wrong Job Type (40% = "General Plumbing")
โœ…
SOLUTION: After every call, check the job type. If it says "General Plumbing," change it to the correct type: Drain Cleaning, Water Heater, Sewer, etc. Robert's auto-corrector will handle this automatically once built.
๐Ÿ”ด
PROBLEM: 40% of jobs are labeled "General Plumbing" because techs can't change the job type from their phone. Everything defaults to General.
๐Ÿ’ฐ
WHY THIS MATTERS: Stephanie can't see revenue by service type. Kalen can't see which services are most profitable. You can't staff or schedule correctly if you don't know what work is coming in.
๐Ÿ“‹
BREAKDOWN: When you reclassify, use these categories: Drain Cleaning, Water Heater, Sewer, Remodel/Renovation, Gas Line, General Repair. Read the work summary or invoice to figure out the right one. Takes about 5 seconds per job.
  • Reclassify "General Plumbing" jobs after every call
๐ŸŸก 5. Unsold Estimates ($144K in Sold Tab)
โœ…
SOLUTION: Check the Sold tab daily. Every estimate marked "sold" needs a return visit booked immediately. Don't let anything sit more than 24 hours.
๐Ÿ”ด
PROBLEM: Customer says yes, tech marks "sold" -- but nobody books the return visit. $144K is sitting in the Sold tab right now with no appointment scheduled.
๐Ÿ’ฐ
WHY THIS MATTERS: Every day an approved estimate sits without a return visit, the customer is more likely to call a competitor. This is money the tech already closed -- it just needs to get on the schedule.
๐Ÿ“‹
BREAKDOWN: Go to Estimates > Sold tab. Sort by date. Anything without a linked return visit needs one booked now. For estimates older than 7 days, call the customer to confirm they still want the work. Robert's estimate alerter will auto-flag 3-day, 7-day, and 14-day aging tiers.
  • Check Sold tab and book return visits for all sold estimates
๐ŸŸก 6. Dead Campaigns (19 old campaigns)
โœ…
SOLUTION: Robert is deactivating all 19 via API. No action needed from you -- just be aware that new calls will only show current campaigns going forward.
๐Ÿ”ด
PROBLEM: 19 old marketing campaigns from the Russ era are still active. New calls sometimes get assigned to these dead campaigns.
๐Ÿ’ฐ
WHY THIS MATTERS: When a call lands on a dead campaign, we can't track the lead source. Stephanie can't see which marketing is working because leads are going to the wrong bucket.
๐Ÿ“‹
BREAKDOWN: Russ set these up when he ran marketing. He's gone but his campaigns live on in ST. Robert is deactivating them via API so new calls only get tagged to the current BSP campaigns. Once done, lead source tracking will be accurate.
  • Robert handles this via API -- no action needed

This section explains why the numbers you see in ServiceTitan reports do not match what your team is actually producing. The short version: the money is coming in, but the software cannot see it because of how certain fields work on the mobile app. Your team is doing the work -- the reports are just not capturing it correctly.

The fixes are already in progress. Ashton catches gaps daily, and Robert is building automation to catch the rest. Within two weeks, your reports will show the real picture.

๐Ÿ“Š Why Your Numbers Look Wrong -- And How We're Fixing It
โœ…
SOLUTION: Ashton does daily checks now. Robert is building automation that catches every gap automatically. Within 2 weeks, your reports will show the real numbers.
๐Ÿ”ด
PROBLEM: The money is coming in, but ServiceTitan can't see it. Techs aren't filling in 3 critical fields, 200 old jobs are stuck, and $144K in sold work was never booked for return visits.
๐Ÿ’ฐ
WHY THIS MATTERS: Your $22K+ in recent sales is invisible because 78% of jobs have no sales credit. You look like you're producing $0 when you're the top closer. The reports are wrong, not your team.
๐Ÿ“‹
BREAKDOWN: Four things are making your numbers wrong:
1. Sold-By empty (78%) -- techs can't fill it on mobile, so nobody gets credit. Auto-fill runs nightly.
2. $0 invoices (61% of Service Direct) -- tech hits complete without adding the invoice. Debrief catches it now.
3. Wrong job type (40%) -- everything defaults to "General Plumbing." Can't see revenue by service. Office reclassifies daily.
4. $144K unbooked estimates -- customers said yes but nobody scheduled the return. Daily Sold tab check fixes this.
โšก The Fix Timeline
โœ…
Good (NOW): Ashton does daily manual checks -- catches ~70% of gaps
Better (THIS WEEK): Slack alerts flag problems in real-time -- catches ~90%
Best (2-3 WEEKS): Full API automation catches 99% and auto-fixes most gaps before anyone notices
2
๐Ÿ“ž What Kassidy Confirmed (April 7 Call)

This section covers what we learned from the April 7 call with Kassidy, our ServiceTitan representative. The call confirmed two important things: first, several of the data gaps you are seeing are platform limitations that no amount of training will fix -- the mobile app literally does not allow techs to fill certain fields. Second, there are specific workarounds for every one of those limitations.

The good news is we now have a clear path forward. We set up three new reports, a daily digest email, and notification triggers during the call. The remaining question is training format -- you need to decide between virtual (free) or in-person with Kathy (paid). Everything else is already in motion.

๐Ÿ“ž Kassidy Call -- What You Need to Know
โœ…
SOLUTION: Daily digest emails (live at 7 AM), 3 new reports built on the call, Slack alerts from Robert's automation, and an office debrief process that catches what techs miss.
๐Ÿ”ด
PROBLEM: ServiceTitan has real limits. Techs on mobile physically cannot fill in Sold-By, change job type, or be forced to complete invoices. This is the software, not a training issue.
๐Ÿ’ฐ
WHY THIS MATTERS: You are not going to train your way out of this. No amount of telling techs to fill in fields will work because the app literally does not allow it. The workarounds (daily checks + automation) are the only path to accurate data.
๐Ÿ“‹
BREAKDOWN: Kassidy (our ST rep) confirmed on the call: Sold-By cannot be required on mobile. Job type cannot be changed on mobile. Invoice completion cannot be enforced. These are platform limitations. Our fix is two layers: Ashton catches gaps daily through the debrief process, and Robert's automation catches anything she misses overnight.
๐Ÿ“š Training Decision -- Needs Your Input
โœ…
SOLUTION: Schedule a 1.5-hour training session. Management first (you, Kalen, Robert), then record it for techs. Pick virtual (free) or in-person with Kathy (Freeman MO, ~35 min, charges time + mileage).
๐Ÿ”ด
PROBLEM: Techs don't know the correct workflow for completing jobs in ServiceTitan. They skip steps because nobody showed them the right way.
๐Ÿ’ฐ
WHY THIS MATTERS: Every skipped step is money you can't see. The training teaches the right completion flow so fewer gaps need to be caught by the office or automation. It's 1.5 hours now vs. hours of cleanup every week forever.
๐Ÿ“‹
BREAKDOWN: Kassidy recommends management training first so you understand what compliance looks like. Then the recording becomes mandatory viewing for all 10 techs before next payroll. Combined with the Position Agreement, techs who follow the training get full autonomy. Techs who don't get restricted.

This section covers the practical takeaways from the Kassidy call -- what ServiceTitan physically cannot do, what workarounds exist, and what new tools you have starting today. The four platform limits are permanent (no setting or update will fix them), so the workarounds below are how we handle them going forward.

๐Ÿšง Platform Limits -- What ST Can't Do (And Our Workarounds)
โœ…
SOLUTION: Every platform limit has a workaround: office-side debrief catches gaps daily, Robert's API automation catches them nightly, and the Position Agreement creates accountability.
๐Ÿ”ด
PROBLEM: ST has 4 hard limits that no setting can fix: Sold-By can't be required on mobile, $0 invoices can't be prevented, techs can't change job type on mobile, and field completion can't be enforced.
๐Ÿ’ฐ
WHY THIS MATTERS: These limits are why 78% of jobs have no sales credit and 40% have wrong job types. It's not that techs are lazy -- the app literally won't let them fill these fields. Your debrief process is the first line of defense.
๐Ÿ“‹
BREAKDOWN:
Sold-By: Office fills during debrief + API auto-fill nightly
$0 invoices: Debrief catches it + real-time Slack alert coming
Job type: Office reclassifies + API auto-corrects by keyword
Field completion: Position Agreement + compliance scorecard
โœ… What We Set Up on the Call (Use These Now)
โœ…
SOLUTION: 4 new tools are ready to use today. Run the 3 reports daily, check the digest email at 7 AM, set up notifications, and use the multi-day booking method.
๐Ÿ”ด
PROBLEM: Before this call, there was no structured way to catch daily gaps. Kassidy helped us build the reports and configure the digest so you have a daily safety net.
๐Ÿ’ฐ
WHY THIS MATTERS: These 4 tools together catch the majority of data gaps the same day they happen instead of finding out weeks later. Same-day fixes mean accurate reports by end of week.
๐Ÿ“‹
BREAKDOWN:
3 New Reports: Stuck jobs, $0 invoices, Sold-By null. Run every morning.
Daily Digest Email: Arrives at 7 AM with yesterday's incomplete jobs.
Notification Triggers: ST notifies on job completed, estimate sold. Settings > Notifications.
Multi-Day Installs: Book LAST day first, work backwards. Prevents scheduling conflicts.
  • Run the 3 new reports daily (stuck jobs, $0 invoices, Sold-By null)
  • Check 7 AM daily digest email every morning
  • Set up notification triggers in Settings > Notifications
  • Use last-day-first booking for multi-day installs

This section is the bottom line from the Kassidy call. The software has real limits that affect your reports, but every one of those limits has a workaround already in place or being built. Training will teach the techs the correct workflow, and the Position Agreement gives you a system for accountability that does not require constant supervision.

๐Ÿ“ž Kassidy Call -- The Bottom Line
โœ…
SOLUTION: Daily office checks catch gaps same-day. Robert's automation catches the rest overnight. Within 2 weeks, your reports will actually match reality. Training session will teach techs the right way.
๐Ÿ”ด
PROBLEM: The software has real limits. Techs can't fill in Sold-By, can't change job type, and can complete jobs with $0 invoices -- all from their phone. No setting can fix this.
๐Ÿ’ฐ
WHY THIS MATTERS: Your team is doing the work but the reports say otherwise. That's the software's fault, not your team's. The workarounds mean you'll finally see accurate numbers for who's selling, what services are running, and where the money is.
๐Ÿ“‹
BREAKDOWN:
Can't fix in ST: Sold-By on mobile, $0 invoices, job type from field, field completion enforcement
Already fixed: Daily digest email at 7 AM, 3 new reports for daily checks
Building now: Slack alerts for $0 jobs, auto-fill Sold-By via API, compliance scorecards
Training: 1.5-hour session with Kassidy. Management first, then recorded for techs. Stephanie picks virtual (free) or in-person with Kathy (~35 min from Freeman MO, charges time + mileage).
3
๐Ÿ“‹ Daily Operations Playbook

This section shows you how the daily operations process works -- what Ashton does every day to catch data gaps before they pile up. Before this system, nobody was checking for missing invoices, blank Sold-By fields, or stuck jobs on a regular basis. Problems would accumulate silently for weeks and only surface when your month-end P&L looked wrong.

The good news is Ashton now has a structured routine: morning check at 7 AM, all-day debrief on every completed job, and an end-of-day close-out. You will receive a weekly summary showing how many gaps were caught and how much revenue was recovered. You should not need to think about this day-to-day -- the system runs itself and only alerts you if something needs your attention.

๐Ÿ“‹ Ashton's Daily Routine -- What You'll See
โœ…
SOLUTION: Ashton has a structured daily routine: morning check at 7 AM, all-day debrief on every job, end-of-day close-out. You get a weekly summary with dollars recovered and gaps caught. Only Slack alerts if something needs you.
๐Ÿ”ด
PROBLEM: Before this, there was no structured daily process. Gaps piled up for weeks before anyone noticed. Revenue was invisible until month-end when the P&L looked wrong.
๐Ÿ’ฐ
WHY THIS MATTERS: Same-day gap catching means your weekly reports will actually be accurate. No more surprises at month-end. No more "where did this $34K go?" conversations. You'll know before the week is over.
๐Ÿ“‹
BREAKDOWN:
7 AM: Daily digest email arrives with yesterday's gaps -- Ashton reviews and acts
All day: Every completed job gets debriefed: invoice, Sold-By, job type, photos
End of day: 3 checks run: stuck jobs, $0 invoices, missing Sold-By
Weekly: Compliance report to you -- tech scorecard + dollars recovered

This section is your daily playbook -- the exact routine that catches data gaps before they compound. It is broken into four time blocks: morning check (30 minutes), during-the-day tasks (ongoing), end-of-day close-out (30 minutes), and weekly cleanup. Following this routine is what makes the difference between accurate weekly reports and month-old surprises.

โ˜€๏ธ Morning Routine (7:00 - 7:30 AM)
โœ…
SOLUTION: 30-minute morning check: digest email, dispatch board, Slack alerts, today's schedule. Catches yesterday's gaps before the day starts.
๐Ÿ’ฐ
WHY THIS MATTERS: Gaps caught at 7 AM get fixed before Stephanie pulls reports. Same-day fixes mean accurate weekly numbers. Skip this and problems compound all day.
  • ๐Ÿ“ง Check daily digest email -- Arrives at 7 AM. Lists yesterday's incomplete jobs, $0 invoices, missing Sold-By.
  • ๐Ÿ“ฑ Review dispatch board -- Any jobs from yesterday still showing? They should all be gray (completed). If not, investigate.
  • ๐Ÿ’ฌ Check Slack alerts -- #bsp-ops channel shows overnight alerts: stuck jobs, $0 invoices, unsold estimates aging.
  • ๐Ÿ“… Review today's schedule -- Any multi-day installs? Any return visits from sold estimates? Confirm everything is dispatched.
โฑ๏ธ During the Day
โœ…
SOLUTION: 5 ongoing tasks: book multi-day installs correctly, use Do Work Now vs Later properly, book all sold estimates immediately, debrief every completed job, reclassify "General Plumbing."
๐Ÿ’ฐ
WHY THIS MATTERS: Every sold estimate that sits unbooked is revenue walking out the door. Every $0 invoice is money Stephanie can't see. Every "General Plumbing" job hides which services are profitable. These 5 tasks prevent most gaps in real-time.
  • ๐Ÿ“† Book multi-day installs LAST DAY FIRST
    Kassidy confirmed: book the final day, then work backwards. This prevents overlapping schedules.
  • โš™๏ธ "Do Work Now" vs "Do Work Later"
    "Do Work Now" = tech goes to the job today. "Do Work Later" = estimate only, schedule return visit. Choose correctly.
  • ๐Ÿ’ฐ Book ALL sold estimate items into return visits
    When a tech sells work, IMMEDIATELY book the return visit. Don't let it sit in the Sold tab. Every day it sits = money at risk.
  • ๐Ÿ” Debrief every completed job
    Before moving to next job: Does it have an invoice with line items? Is Sold-By filled? Work performed summary? Photos? Equipment info? Payment collected or plan noted?
  • ๐Ÿท๏ธ Reclassify "General Plumbing" jobs
    After every call, check the job type. If it says "General Plumbing" -- change it to the correct type: Drain Cleaning, Water Heater, Sewer, etc.
๐ŸŒ™ End of Day (4:30 - 5:00 PM)
โœ…
SOLUTION: 30-minute close-out: clear dispatch board, run Sold-By null check, run $0 invoice check, close open invoices, check Sold tab for new estimates.
๐Ÿ’ฐ
WHY THIS MATTERS: This is your last chance to catch today's gaps before they become tomorrow's problems. Everything left unfinished at 5 PM carries over and compounds. Clean close-out = clean data for Stephanie's reports.
  • โœ… All dispatch board jobs should be gray -- If any are still colored (in-progress), find out why and resolve.
  • ๐Ÿ” Run Sold-By null check -- Reports > [Sold-By Null Report]. Fill in every blank from today's completed jobs.
  • ๐Ÿ’ต Run $0 invoice check -- Reports > [Zero Invoice Report]. Any job completed today with $0? Call the tech or fix the invoice.
  • ๐Ÿ“ Close any remaining open invoices -- Nothing should carry over to tomorrow unless it's a multi-day job.
  • ๐ŸŽฏ Check Sold tab -- Any new sold estimates from today? Book the return visits now.
๐Ÿ“… Weekly (Friday or Monday Morning)
โœ…
SOLUTION: Weekly cleanup: stuck job search, Sold tab review, tech compliance scorecard, 3-bullet report to Stephanie.
๐Ÿ’ฐ
WHY THIS MATTERS: The weekly check catches anything that slipped through daily checks. Stephanie gets a 3-bullet summary: gaps caught, dollars recovered, compliance trend. This is how she sees the system working without micromanaging.
  • ๐Ÿ”Ž Run stuck jobs search -- Status = "Scheduled" + Date < Today. Resolve each one: complete, cancel, or reschedule.
  • ๐Ÿ’ฐ Review Sold tab for unbooked estimates -- Sort by age. Anything older than 7 days needs a follow-up call.
  • ๐Ÿ“Š Tech compliance scorecard review -- Which techs have the most $0 invoices? Most missing Sold-By? Address with Position Agreement.
  • ๐Ÿ“จ Report to Stephanie -- Number of gaps caught, dollars recovered, compliance trend. Keep it to 3 bullets.

This section explains the daily system Ashton runs so you do not have to manage it yourself. The routine catches missing invoices, blank sales credit, and wrong job types the same day they happen. You will get a weekly scorecard showing tech compliance and dollars recovered, so you can see the system is working without being involved in the daily details.

๐Ÿ“Š What Ashton Does Daily (So You Don't Have To)
โœ…
SOLUTION: Ashton runs a structured daily routine: 7 AM review, all-day debrief, end-of-day cleanup. You get a weekly scorecard showing which techs are doing it right and which aren't.
๐Ÿ”ด
PROBLEM: Without this routine, gaps pile up silently. Right now 78% of data is missing. Your reports show the wrong numbers for revenue by tech, by service type, and by lead source.
๐Ÿ’ฐ
WHY THIS MATTERS: Within 2 weeks, your ST reports will actually reflect reality. You'll see accurate revenue by tech, by service type, and by lead source. No more guessing who's producing and who isn't.
๐Ÿ“‹
BREAKDOWN:
7 AM: Reviews digest email + dispatch board. Catches yesterday's gaps.
All Day: Debriefs every completed job. No more $0 invoices or missing Sold-By.
End of Day: Clears board, runs 3 checks. Clean data for your reports.
Weekly: Stuck job cleanup + scorecard. Tech compliance % + dollars recovered.
4
๐Ÿงน Cleanup Checklist -- The 200 Stuck Jobs

This section covers the one-time cleanup of 200 old jobs that are stuck in ServiceTitan. These are jobs from months ago that were never properly completed or cancelled -- they just sit there making every report you pull less accurate. Think of it like a closet full of old files that need to be sorted: some have real money attached, most are just noise.

The good news is this is a one-time project, not an ongoing burden. Once Ashton works through the list, these 200 jobs stop polluting your data. The daily routine (Section 3) prevents new ones from piling up again. The most important finding: at least $34K in real, completed revenue is trapped in these stuck jobs and will show up on your P&L once they are properly closed out.

๐Ÿงน The 200 Stuck Jobs -- Found Money
โœ…
SOLUTION: Ashton is cleaning them up in priority order. 11 jobs with real revenue go first (including one $34K job). Then 53 in-progress, then 92+ dead $0 jobs. No QuickBooks adjustments needed -- none were exported yet.
๐Ÿ”ด
PROBLEM: 200 jobs are stuck in old statuses. They clog your reports, make revenue look lower than reality, and create noise in every search and filter you run.
๐Ÿ’ฐ
WHY THIS MATTERS: At least $34K in real, completed revenue is trapped in these stuck jobs. Once cleaned, that money shows up on your P&L. The 92+ dead jobs are noise removal -- they make every report cleaner and more trustworthy.
๐Ÿ“‹
BREAKDOWN:
Priority 1: 11 jobs with real revenue ($34K+ to recover) -- do first
Priority 2: 92+ $0 scheduled jobs -- cancel with notes (noise removal)
Priority 3: 53 in-progress with money -- verify with techs then complete
Priority 4: ~20 legacy imports -- cross-reference QuickBooks
Priority 5: ~25 old estimates from 2025 -- delete/dismiss (stale)
Priority 6: 29 recent items (Jan 2026+) -- follow up with customers

This section is your cleanup checklist for the 200 stuck jobs. They are organized into six priority tiers so you work on the most valuable ones first. Revenue jobs go first because they put real money on the books. Dead jobs go second because they are noise removal. Legacy and old estimates go last. Each tier has step-by-step instructions so you know exactly what to do with each job.

๐Ÿ”ง Cleanup Priority Order
โœ…
SOLUTION: Work through 6 priority tiers in order. Revenue jobs first, noise removal second, legacy cleanup last. Each tier has step-by-step instructions below.
๐Ÿ”ด
PROBLEM: 200 stuck jobs are making every report wrong. They show up in searches, skew averages, and hide real revenue. They will never fix themselves.
๐Ÿ’ฐ
WHY THIS MATTERS: Priority 1 has $34K+ in real revenue. Once you clean those 11 jobs, that money appears on Stephanie's P&L. The rest is noise removal that makes every report trustworthy.
PRIORITY 1 11 Jobs with Revenue (incl. $34K job)
  • Search: Status = "Scheduled" + Date < Today + Total > $0.01
  • Open each job. Verify the work was actually done (check with tech if needed).
  • If work was done: complete the job properly (invoice, payment, Sold-By).
  • If work was NOT done: reschedule or cancel with notes.
  • The $34K job -- handle this one carefully. Verify with Kalen before closing.
PRIORITY 2 92+ $0 Scheduled Jobs
  • Search: Status = "Scheduled" + Date < Today + Total = $0
  • Most of these are estimate-only visits or missed appointments. Cancel with a note explaining why.
  • For any that were real jobs: check if the customer was served. If yes, add the invoice, then complete.
PRIORITY 3 53 In-Progress Jobs with Money
  • Search: Status = "In Progress" + Total > $0
  • These are jobs where work started but was never completed in ST. Verify with techs, then complete properly.
PRIORITY 4 Legacy Imported Jobs
  • Cross-reference with QuickBooks to see if these were already invoiced outside ST.
  • If already in QB: cancel in ST with note "Invoiced in QB prior to ST migration."
PRIORITY 5 Sold Tab Jun-Dec 2025
  • Old sold estimates from before BSP was fully using ST. These are stale.
  • Delete or dismiss. They're polluting the Sold tab and making it hard to find real estimates.
PRIORITY 6 29 Items from Jan 2026 Forward
  • These are recent enough to be real. Fix properly: correct job type, add Sold-By, complete invoice.
  • Follow up with customers if estimates are still valid. Book return visits for any that want to proceed.
๐Ÿ› ๏ธ Key Processes for Cleanup
โœ…
SOLUTION: 4 processes to know: how to search for stuck jobs, no QB adjustments needed, how to handle bad debt/write-offs, and how to give sales credit without revenue.
๐Ÿ’ฐ
WHY THIS MATTERS: Using the right process means no accounting messes. These jobs weren't exported to QB, so clean close-out only -- no adjustment invoices, no tax complications.
🔍
How to search:
Jobs > Search > Status = "Scheduled" + Completed Date < Today + Invoice Total > $0.01
💰
No adjustments needed:
These jobs haven't been exported to QB. Just complete or cancel them directly.
💵
Bad debt / write-offs:
Use "Write Off" payment type. This handles tax correctly. No adjustment invoice needed.
🎯
Sales credit workaround:
Book the job > Delete all line items > Cancel. This gives sales credit without creating revenue.

This section is about the 200 old jobs clogging your ServiceTitan data. Ashton is cleaning them up in priority order. The biggest takeaway for you: at least $34K in real revenue is trapped in these stuck jobs and will appear on your books once they are properly completed. After the cleanup, your reports will be significantly more accurate.

๐Ÿงน Cleanup Progress -- $34K+ to Recover
โœ…
SOLUTION: Ashton is cleaning up all 200 stuck jobs in priority order. Revenue jobs first, dead jobs second. Your books will show an extra $34K+ once the first batch is done.
๐Ÿ”ด
PROBLEM: 200 old jobs are clogging your reports. They make revenue look lower, make searches unreliable, and include at least one $34K job that should already be on the books.
๐Ÿ’ฐ
WHY THIS MATTERS: $34K+ in real revenue will hit your P&L once cleaned. The remaining 189 jobs are noise that makes every report wrong. After cleanup, your numbers finally match reality.
๐Ÿ“‹
BREAKDOWN:
Priority 1 (DO FIRST): 11 jobs with revenue -- $34K+ to recover
Priority 2: 92+ $0 scheduled jobs -- noise removal, cancel with notes
Priority 3: 53 in-progress with money -- verify then complete
Priority 4: ~20 legacy imports -- cross-reference QuickBooks
Priority 5: ~25 old estimates (2025) -- delete/dismiss
Priority 6: 29 recent (Jan 2026+) -- follow up with customers
5
๐Ÿ›ก๏ธ Tech Compliance -- Position Agreement

This section covers the accountability system for your technicians. Right now there are no consequences for skipping fields and no rewards for doing it right, so compliance is inconsistent. The Position Agreement framework (recommended by Kassidy) changes that by creating a clear trade: techs who follow the process earn autonomy, full commissions, and bonus eligibility. Techs who do not follow the process lose privileges until they comply.

This matters because every skipped field is revenue you cannot see. The compliance scorecard will give you a weekly number for each tech so you know exactly who is costing you data and who is earning trust. The system enforces itself -- no yelling, no micromanaging, just clear consequences tied to clear expectations. It costs nothing to implement. It is just a process change.

๐Ÿ›ก๏ธ Tech Compliance -- The Position Agreement
โœ…
SOLUTION: Kassidy's Position Agreement framework: techs who do it right get freedom, full commission, and bonus eligibility. Techs who don't get restricted until they comply. The system enforces itself -- no yelling needed. $0 cost, just process changes.
๐Ÿ”ด
PROBLEM: Right now there is no accountability system. Techs skip fields, leave $0 invoices, and don't take photos. There are no consequences and no rewards for doing it right.
๐Ÿ’ฐ
WHY THIS MATTERS: Every skipped field is money you can't see. The compliance scorecard turns invisible behavior into a weekly number for each tech. You'll know exactly who's costing you data -- and who's earning trust. Compliant techs = accurate reports = real revenue visibility.
๐Ÿ“‹
BREAKDOWN: 10 active techs, each scored weekly on 6 criteria: equipment info, work summary, payment/invoice, follow-up booked, photos, and Sold-By. Compliant techs see multiple jobs, self-dispatch, full commission. Non-compliant techs see one job at a time, must call office, commissions delayed. This is a proven framework from top plumbing shops -- Kassidy gave it to us.

This section covers the Position Agreement framework and the job debrief checklist. The Position Agreement is how you enforce compliance without being the bad guy -- the system handles the rewards and restrictions automatically based on each tech's weekly score. The debrief checklist is the single most important daily process: it is the 60-second check on every completed job that prevents the majority of data gaps.

๐Ÿ›ก๏ธ Position Agreement Framework (from Kassidy)
โœ…
SOLUTION: Use the Position Agreement to enforce compliance without being the bad guy. The system rewards good behavior and restricts bad behavior automatically.
๐Ÿ”ด
PROBLEM: Techs skip steps because there are no consequences. You end up chasing them for data that should have been entered on the job.
๐Ÿ’ฐ
WHY THIS MATTERS: Every incomplete job is money Stephanie can't see. The Position Agreement makes it the tech's problem, not yours. Compliant techs earn trust. Non-compliant techs lose privileges until they fix it.

✅ DO IT RIGHT -- Tech Gets:

  • See multiple jobs at a time on their board
  • Self-dispatch (pick their own route)
  • Full commission in payroll, no delays
  • Considered for leadership opportunities
  • Bonus eligibility
  • Trust and autonomy in the field

❌ DON'T DO IT RIGHT -- Tech Gets:

  • See only one job at a time
  • Lose self-dispatch (call office for every job)
  • Commissions held or delayed
  • Pulled from bonus opportunity
  • More oversight and check-ins
  • Written warning after pattern of non-compliance
๐Ÿ“‹ Job Debrief Checklist (Every Completed Job)
โœ…
SOLUTION: Before a job is truly "done," verify all 6 items below. This is your daily quality gate -- the single process that prevents most data gaps.
๐Ÿ”ด
PROBLEM: Without a debrief, techs complete jobs with missing invoices, no photos, no equipment info, and no sales credit. The data gap compounds every day.
๐Ÿ’ฐ
WHY THIS MATTERS: This single checklist prevents the majority of the $344K in invisible revenue. It takes 60 seconds per job and catches issues before they become month-old problems.
  • ๐Ÿ”ง Equipment info entered? -- Model, serial, age. Critical for warranty and future service.
  • ๐Ÿ“ Work performed summary filled? -- What was actually done. Not just "plumbing repair."
  • ๐Ÿ’ณ Payment collected or plan noted? -- Invoice has line items with real dollar amounts. Not $0.
  • ๐Ÿ“… Follow-up / additional appointment needed? -- If yes, book it NOW. Don't let it sit in Sold tab.
  • ๐Ÿ“ธ Photos taken? -- Before, during, after. Minimum 3 per job.
  • ๐Ÿท๏ธ Sold-By filled? -- Tech can't do this on mobile. YOU fill it based on who was on the job.

This section covers the accountability system for your techs. The Position Agreement gives you a proven framework from top plumbing shops: techs who follow the process get autonomy and full compensation, techs who do not get restricted until they comply. Your presence at the training session matters because the techs need to see that leadership backs this system. Once the compliance scorecard is live, you will have weekly numbers showing exactly who is following the process and who is not.

๐Ÿ›ก๏ธ Tech Accountability -- Position Agreement
โœ…
SOLUTION: Position Agreement framework from Kassidy. Compliant techs get freedom (multiple jobs, self-dispatch, full commission, bonus eligibility). Non-compliant techs get restricted (one job at a time, must call office, commissions delayed).
๐Ÿ”ด
PROBLEM: No accountability system exists. Techs skip fields, leave $0 invoices, and don't take photos. There's no reward for doing it right and no consequence for doing it wrong.
๐Ÿ’ฐ
WHY THIS MATTERS: Your reports only work when techs fill in the data. The Position Agreement turns it into a trade: do it right and you get full autonomy. Skip steps and you lose privileges. Top shops use this because it works without lecturing.
๐Ÿ“‹
BREAKDOWN -- 6 compliance requirements per job:
1. Equipment info -- warranty tracking, upsell data
2. Work summary -- know what was actually done
3. Payment / invoice -- revenue shows in reports
4. Follow-up booked -- don't lose sold work
5. Photos -- proof of work, liability protection
6. Sold-By -- know who's actually selling

Each tech scored weekly. Your presence at the training session matters because techs need to see leadership backs this.
6
โšก API Automation -- What Robert Is Building

This section explains the automation Robert is building to catch data gaps 24/7. Think of Ashton's daily routine as the first line of defense -- she catches about 70% of problems during business hours. The automation is the safety net underneath: it runs overnight, on weekends, and on busy days when manual checks get rushed. Together, they catch 99% of gaps.

The good news is all of this runs on infrastructure Robert already has -- no new software costs, no monthly subscriptions. The 9 automations protect the $344K+ in revenue that was previously invisible. Four API endpoints are already tested and confirmed working, so this is not theoretical. The build takes about 30 hours total, and the most critical pieces (zero-dollar invoice detection, Sold-By auto-fill, daily digest) are being built this week.

โšก Automation -- Your 24/7 Safety Net
โœ…
SOLUTION: Robert is building 9 automations that catch problems before they become invisible revenue. Think of it as a safety net under Ashton's daily work -- if a tech skips something, the system catches it. 4 API endpoints already tested and working.
๐Ÿ”ด
PROBLEM: Manual checks only catch ~70% of gaps. The other 30% slip through: late-night job completions, weekends, days Ashton is busy. Without automation, gaps accumulate again.
๐Ÿ’ฐ
WHY THIS MATTERS: These 9 automations protect the $344K+ in revenue that was invisible before. They run 24/7, cost $0 in software (Robert builds on existing infrastructure), and mean you never go back to "we can't see our numbers." ~30 hours of development for permanent protection.
๐Ÿ“‹
BREAKDOWN -- 9 automations by priority:

Building now (this week):
• ๐Ÿšจ Zero-Dollar Invoice Detector: Catches $0 jobs instantly -- no more phantom revenue
• ๐Ÿ“Š Daily Digest 2.0: Color-coded Slack report by tech, every morning
• ๐Ÿค– Sold-By Auto-Filler: Auto-fills missing sales attribution every night

Planned (next 2-3 weeks):
• ๐Ÿท๏ธ Job Type Auto-Corrector: Fixes "General Plumbing" to correct category
• โฐ Estimate Follow-Up Alerter: Flags aging estimates before customers go cold
• ๐Ÿ”ด Stuck Job Alert: Daily alert for jobs stuck in scheduling limbo
• ๐ŸŽฏ Lead Source Tagger: Tracks which marketing channel brought each customer
• ๐Ÿ’ธ Bad Debt Tracker: Tracks write-offs and unpaid invoices
• ๐Ÿ“‹ Debrief Scorecard: Compliance % per tech, updated daily

This section covers the technical foundation for the automation and what it means for your daily workflow. Four API endpoints have been tested and confirmed working -- this means the automations Robert is building are not guesswork, they are verified possible. Once live, you will receive Slack alerts instead of having to search for problems. Your daily routine drops from 30 minutes of searching to 5 minutes of acting on alerts.

โœ… Confirmed Working (Tested April 7)
โœ…
SOLUTION: 4 API endpoints are tested and verified. Robert can build all 9 automations on these. The foundation is solid.
๐Ÿ”ด
PROBLEM: Before testing, we didn't know if ST's API would let us fix these fields automatically. Some APIs return 404 or have undocumented limits.
๐Ÿ’ฐ
WHY THIS MATTERS: These 4 working endpoints mean the automation is not theoretical -- it's confirmed possible. The nightly auto-fill and daily alerts will work because the API allows it.
๐ŸŸข jobTypeId PATCH
LIVE
Auto-fix "General Plumbing" to correct job type
Tested: 200 OK response
๐ŸŸข soldById PATCH
LIVE
Auto-fill missing Sold-By with tech who ran the job
Tested: 200 OK with tech IDs
๐ŸŸข customFields PATCH
LIVE
Write custom data to jobs and customers
Tested: 200 OK on jobs + customers
๐ŸŸข tagTypeIds PATCH
LIVE
Auto-tag jobs by lead source (Google, SD, LSA, etc.)
Tested: 200 OK
๐Ÿ”ง What Robert Is Building (Your New Slack Alerts)
โœ…
SOLUTION: 9 automations, each sending you a Slack message in #bsp-ops when something needs attention. You won't have to hunt for gaps -- they come to you.
๐Ÿ”ด
PROBLEM: Right now you manually search for every gap. It takes 30+ minutes a day and you still miss things on busy days or weekends.
๐Ÿ’ฐ
WHY THIS MATTERS: Automation catches gaps in real-time, 24/7, including nights and weekends. Your daily routine drops from 30 minutes of searching to 5 minutes of acting on alerts. ~30 hours to build, saves 25+ minutes every day forever.
1. ๐Ÿšจ Zero-Dollar Invoice Detector
2 HRS
Real-time Slack alert when a job completes with $0 invoice
You'll see: "⚠ Job #12345 completed by Nick -- $0 invoice. Check it."
2. ๐Ÿ“Š Daily Digest 2.0
3 HRS
Morning Slack summary: color-coded by tech, shows gaps
Replaces the email digest with something more actionable
3. ๐Ÿค– Sold-By Auto-Filler
4 HRS
Nightly PATCH -- fills Sold-By with the dispatched tech's ID
Fixes the 78% gap automatically
4. ๐Ÿท๏ธ Job Type Auto-Corrector
4 HRS
Reads invoice summary, matches keywords, PATCHes job type
"Water heater" in summary = Water Heater job type
5. โฐ Estimate Follow-Up Alerter
3 HRS
Flags sold estimates by age: 3-day, 7-day, 14-day tiers
Higher-value estimates get more urgent alerts
6. ๐Ÿ”ด Stuck Job Alert
3 HRS
Daily check for jobs stuck in scheduling limbo
"3 jobs from last week still showing Scheduled"
7. ๐ŸŽฏ Lead Source Tagger
4 HRS
Tags customer record with original lead source
Google Ads, Service Direct, LSA, Daniel AI, Direct
8. ๐Ÿ’ธ Bad Debt Tracker
3 HRS
Tracks write-offs in PostgreSQL, cross-refs QB
Know exactly how much bad debt exists
9. ๐Ÿ“‹ Debrief Scorecard
4 HRS
Compliance % per tech, updated daily
Feed directly into Position Agreement conversations

This section covers the automation that will keep your data accurate going forward without requiring manual work from you or your team. Nine tools are being built that automatically catch the gaps techs leave behind -- missing invoices, blank sales credit, wrong job types. The timeline is simple: manual checks cover you now, Slack alerts go live this week, and full automation is complete in two to three weeks. After that, your reports will finally show the real numbers.

โšก What the Automation Means for You
โœ…
SOLUTION: 9 tools that automatically catch the gaps techs leave behind. Instead of trusting that techs filled everything out, the system checks for them and fixes most problems overnight.
๐Ÿ”ด
PROBLEM: Manual checks miss ~30% of gaps. Nights, weekends, busy days -- things slip through. Your reports stay wrong until someone catches it weeks later.
๐Ÿ’ฐ
WHY THIS MATTERS: Accurate data means you can see who's selling, which services are profitable, and where the leads come from. Right now you're guessing. In 2-3 weeks, you'll have real numbers.
๐Ÿ“‹
BREAKDOWN -- what you'll see and when:
• ๐Ÿšจ Zero-Dollar Detector (this week): Instant alert when a tech completes a job with no invoice
• ๐Ÿค– Sold-By Auto-Fill (this week): Every job gets sales attribution -- you'll see who's selling
• ๐Ÿท๏ธ Job Type Corrector (next week): Revenue breakdowns by service type will be accurate
• ๐Ÿ“‹ Debrief Scorecard (2 weeks): Weekly report showing tech compliance %
• โฐ Estimate Alerter (2 weeks): No more sold work sitting unbooked

Timeline: Good (NOW) = manual checks ~70% | Better (THIS WEEK) = Slack alerts ~90% | Best (2-3 WEEKS) = full automation 99%
7
๐Ÿ“š Tech Training -- Next Steps

This section covers the training plan for your team. Right now, techs are completing jobs incorrectly because nobody formally taught them the right ServiceTitan workflow. Training reduces the number of gaps Ashton has to catch every day, which means faster progress toward accurate reports. It is a one-time investment of 1.5 hours that prevents hours of daily cleanup going forward.

There is one decision you need to make here: virtual training (free, via video call with Kassidy) or in-person training with Kathy (paid, she drives from Freeman MO, about 35 minutes, charges time plus mileage). Either way, the session gets recorded and becomes mandatory viewing for all 10 techs before next payroll. After training, the Position Agreement kicks in and compliance tracking begins.

๐Ÿ“š Training -- Decision Needed From You
โœ…
SOLUTION: 1.5-hour training session with Kassidy. Management first (you, Kalen, Robert), then recorded for all 10 techs. Pick virtual (free) or in-person with Kathy (Freeman MO, ~35 min, charges time + mileage). Tell Robert which one.
๐Ÿ”ด
PROBLEM: Techs don't know the correct completion flow. They skip steps because nobody showed them the right way. Training reduces the number of gaps Ashton has to catch every day.
๐Ÿ’ฐ
WHY THIS MATTERS: 1.5 hours of training now vs. hours of daily cleanup forever. Fewer gaps = less work for Ashton = faster path to accurate data. The recording becomes mandatory viewing for all techs before next payroll.
๐Ÿ“‹
BREAKDOWN:
Option A -- Virtual (Free): 1.5-hour video call with Kassidy. Screen share + walkthrough. Recorded for techs. Schedule at your convenience.
Option B -- In-Person (Paid): Kathy comes to your office from Freeman MO (~35 min). Charges time + mileage. Hands-on with your actual setup.
After training: Recording becomes required viewing. Position Agreement kicks in. Techs who follow it get autonomy. Techs who don't get restricted.

This section covers the training rollout plan and what topics will be covered. Training is the foundation for the Position Agreement -- techs need to know the correct workflow before they can be held accountable for following it. The five-step rollout below takes you from Stephanie's decision on format all the way through to compliance tracking. The six training topics are targeted at the exact gaps that are costing money right now.

๐Ÿ“š Training Plan
โœ…
SOLUTION: 5-step training rollout: Stephanie picks format, schedule the session, record it, share with all 10 techs, then implement the Position Agreement with compliance tracking.
๐Ÿ”ด
PROBLEM: Techs are completing jobs incorrectly because nobody trained them on the right workflow. You're catching their mistakes instead of preventing them.
๐Ÿ’ฐ
WHY THIS MATTERS: Trained techs make fewer mistakes. Fewer mistakes = less daily cleanup for you. The Position Agreement only works if techs know what "compliance" means. Training comes first.
  • 1๏ธโƒฃ Step 1: Stephanie confirms training option -- Virtual (free) or in-person with Kathy (paid, Freeman MO ~35 min)
  • 2๏ธโƒฃ Step 2: Schedule 1.5-hour management session -- You, Kalen, Stephanie, Robert with Kassidy
  • 3๏ธโƒฃ Step 3: Record the session -- This becomes the tech training video
  • 4๏ธโƒฃ Step 4: Share recording with all 10 techs -- Required viewing before next payroll
  • 5๏ธโƒฃ Step 5: Implement Position Agreement -- Use compliance scorecard to track who's following the training
๐Ÿ“‹ Training Topics (from Kassidy)
โœ…
SOLUTION: 6 specific topics Kassidy recommends. Each one directly addresses a gap that's costing money right now.
๐Ÿ’ฐ
WHY THIS MATTERS: These aren't generic ST tutorials. Each topic maps to a specific dollar gap: $0 invoices, missing equipment data, lost estimates. The training is targeted at exactly what's broken.
TopicWhyWho Needs It Most
Proper job completion flow Stop $0 invoices All techs
Equipment entry Warranty tracking + upsell All techs
Photo documentation Proof of work + liability Techs with low photo counts
Estimate presentation Good/Better/Best selling Lower-performing techs
Multi-day install booking Prevent scheduling conflicts Office (you)
Debrief process Catch all gaps at end of job Office (you)

This section explains your role in the training process. The 1.5-hour management session is where you, Stephanie, and Robert learn the correct ServiceTitan workflow from Kassidy. The recording then goes to all 10 techs as mandatory viewing. Your presence at the session matters because the Position Agreement only has teeth when the techs see that leadership is behind it. After training, compliance scorecards start tracking weekly performance.

๐Ÿ“š Training -- Your Role
โœ…
SOLUTION: 1.5-hour management training first (you, Stephanie, Robert), then recorded for techs. Your presence at the session matters -- the Position Agreement only works when the techs see leadership backing it.
๐Ÿ”ด
PROBLEM: Techs don't know the right workflow and there's no formal accountability system yet. Without training + your backing, the compliance framework has no teeth.
๐Ÿ’ฐ
WHY THIS MATTERS: Trained techs + Position Agreement = fewer gaps = accurate reports. You'll finally see real numbers for who's selling, which services run, and where the money is. This is the foundation for everything else.
๐Ÿ“‹
BREAKDOWN: Stephanie picks the format: virtual (free) or in-person with Kathy from Freeman MO (~35 min, charges time + mileage). After the management session, the recording goes to all 10 techs as mandatory viewing before next payroll. Then compliance scorecards start tracking weekly.
8
๐Ÿ‘ฅ Active Technicians

This section lists your 10 active technicians and their upcoming compliance tracking. Right now you have no visibility into which techs are following the process and which are not -- you cannot see who leaves $0 invoices, who skips the Sold-By field, or who does not take photos. The weekly compliance scorecard will change that by giving you a concrete number for each tech every week.

This matters because the scorecard is the accountability lever that makes the Position Agreement work. High-compliance techs earn autonomy and bonuses. Low-compliance techs get restricted. Without the numbers, it is just a conversation. With the numbers, it is a system.

๐Ÿ‘ฅ Your Team (10 Active Techs)
โœ…
SOLUTION: Each tech will get a weekly compliance scorecard once automation is built. You'll see who's doing it right and who isn't -- no guessing, just numbers.
๐Ÿ”ด
PROBLEM: Right now you have no visibility into individual tech compliance. You can't see who leaves $0 invoices, who skips Sold-By, or who doesn't take photos.
๐Ÿ’ฐ
WHY THIS MATTERS: The scorecard feeds directly into the Position Agreement. High-compliance techs earn autonomy and bonuses. Low-compliance techs get restricted. It's the accountability lever that makes everything else work.
๐Ÿ“‹
BREAKDOWN: 10 active techs listed below. Each one will be scored weekly on 6 criteria (equipment, summary, invoice, follow-up, photos, Sold-By). Scorecard automation is in the build queue -- expected in ~2 weeks.
TechnicianRoleCompliance Tracking
Nick CherniogloTechnicianCOMING
Scott GibsonTechnicianCOMING
Izac McDermottTechnicianCOMING
Ricardo CastilloTechnicianCOMING
Matthew SchneweisTechnicianCOMING
Dan ChrittonTechnicianCOMING
Anthony EricksonTechnicianCOMING
David GallaherTechnicianCOMING
Kalen BarkerOwner / Master PlumberCOMING
AdminSystem AccountN/A

This section documents all 10 tech IDs for reference. Robert's automation scripts use these IDs to auto-fill Sold-By, tag jobs, and generate compliance scorecards. You do not need to memorize them -- they are here so nobody has to look them up again when building or debugging the automation.

๐Ÿ‘ฅ Tech IDs (Reference for API Automation)
โœ…
SOLUTION: All 10 tech IDs are documented below. Robert's automation scripts use these to auto-fill Sold-By, tag jobs, and generate scorecards. You don't need to memorize them.
๐Ÿ’ฐ
WHY THIS MATTERS: These IDs are how the automation knows which tech did which job. Without them, the auto-fill and scorecard can't work. They're documented here so nobody has to look them up again.
TechnicianST Tech IDNotes
Nick Chernioglo19699286
Scott Gibson56364618
Izac McDermott56972540
Ricardo Castillo57322879
Matthew Schneweis57802364
Dan Chritton57929980
Anthony Erickson58201476
David Gallaher58209916
Kalen Barker59401597Owner -- does not log into ST
Admin28914157System account

This section shows your team roster and the compliance tracking that is coming. Once the scorecard is live in about two weeks, you will see a weekly score for each tech across six criteria: equipment info, work summary, invoice completion, follow-up booking, photos, and Sold-By. This turns gut feelings about who is doing the work right into concrete numbers you can act on.

๐Ÿ‘ฅ Your Team -- Compliance Tracking Coming
โœ…
SOLUTION: Weekly compliance scorecard for each tech: invoice completion rate, Sold-By fill rate, photo count, equipment entry rate. The Position Agreement gives you the lever to reward or restrict based on these numbers.
๐Ÿ”ด
PROBLEM: Right now you have no way to see which techs are following process and which aren't. The data gap means you can't hold anyone accountable fairly.
๐Ÿ’ฐ
WHY THIS MATTERS: The scorecard turns gut feelings into numbers. Instead of "I think Nick skips invoices," you'll see "Nick's invoice completion rate is 60% vs. Scott's 95%." That's a conversation backed by data, not guesswork.
๐Ÿ“‹
BREAKDOWN: 10 active techs. Each scored weekly on 6 criteria. Scorecard automation building in ~2 weeks. Until then, Ashton tracks manually during debrief. Once live, numbers feed directly into Position Agreement decisions.
TechnicianCompliance ScoreTrend
Nick CherniogloPENDINGScorecard building
Scott GibsonPENDINGScorecard building
Izac McDermottPENDINGScorecard building
Ricardo CastilloPENDINGScorecard building
Matthew SchneweisPENDINGScorecard building
Dan ChrittonPENDINGScorecard building
Anthony EricksonPENDINGScorecard building
David GallaherPENDINGScorecard building
Kalen BarkerN/AOwner
AdminN/ASystem