🔒

OCC Command Center

Sign in to continue

OCC Connected Operations Grid · Private · Authorized users only

📊 2026 Business Dashboard
2026 Annual
2026 Target
from 2025 QB actuals
2026 Actual YTD
collected so far
Variance
ahead/behind target
Jan 1 Customers
starting point
Current Customers
today
Net YTD Change
since Jan 1 2026
April 2026
Monthly Target
from active customer base
Monthly Actual
from QB P&L
Monthly Variance
actual vs target
Started Month With
customers at month start
Added This Month
new signups
Lost This Month
cancellations this month
Business Metrics
Avg Rev / Customer
monthly per active customer
Annual Run Rate
at current customer base
Revenue / Stop
avg per service visit
Mo / Mo Revenue
vs last month · Square
⚙️ Internal Activity system · 7-day retention
Loading…
👥 Customer Activity
Loading…
📈 Service Tier Breakdown
📈 Revenue Trend — Monthly
📈 Customer Growth
💰 Failed Payments & Past Due
🚫 Cancellations & Churn
📍 Top ZIP Codes by Revenue
🚚 Cans Not Out — Impact
💰 Revenue Collected — Deposits

System Health

Workers OK:
D1 row counts:
Integrations OK:
Recent errors:

A. Workers

WorkerStatusResp (ms)Last cron
Probing 29 workers…

B. D1 Databases

Counting tables…

C. Integrations

ServiceStatusDetail
Pinging integrations…

D. Recent Errors

WhenWorkerActionMessage
Loading error log…
🚚 Routes
Route Calendar
🚚 Full Year 2026
🎯 Customer Density by ZIP
📈 Service Type Mix
📊 Quick Reports
Stops Per Route
Completion rates by route and day
Crew Efficiency
Stops/hour, time per stop, idle time
Cost Per Stop
QB YTD ÷ total stops — actual vs target
Route Completion Rates
% completed on-time vs rescheduled
Route Balance
Overloaded vs light — find where to add stops
Underserved ZIPs
Low customer count — growth opportunities
Seasonal Volume
Load changes by month — plan crew & trucks
Profitability by Run
Revenue vs cost per Week + Day combo
🔧 Custom Report Builder
💾 Saved Reports
🎄 Holiday Schedule — manual push, 8 days before each holiday

When a holiday is coming up that affects the route, this lets you notify affected customers. You pick the holiday, preview who gets the message, and manually send. Nothing fires automatically.

Click Refresh to load upcoming holidays.
👥 Customer Intelligence
Active Subscriptions
from D1
New This Year
from D1 date_added
One-Time Customers
from D1 plan_type
Problem Accounts
balance > $0
VIP (3+ Years)
date_added before 2023
Signup Sources
from D1 signup_source
★ Loyalty:
📈 2026 Monthly New Customers
⚠ Problem Children — Accounts Needing Attention
📍 Top Service Areas
🎯 How They Found Us
💵 Financials ● Square ● QB
💳 Square Revenue — Live
YTD Gross
--
YTD Net (after fees)
--
MTD Gross
--
MTD Net
--
YTD Transactions
--
YTD Fees
--
📈 2026 YTD — QuickBooks P&L
❄ January 2026 — Winter Shutdown (~3 weeks)
Operations suspended ~3 weeks. Jan reflects ~1 active week.
YTD Revenue
--
Net Income
--
Total Expenses
--
Margin
--
📈 YTD Expenses Breakdown — QuickBooks
📈 2025 Full Year — QuickBooks Actuals
Net Income
requires 2025 QB P&L query
Revenue
requires 2025 QB P&L query
Expenses
requires 2025 QB P&L query
Margin
requires 2025 QB P&L query
💰 AR Aging Summary
📈 Year-over-Year Growth — Customer Signups by Year
💳 Square Fee Analysis
💳 Square Reconciliation & Refunds
Reconcile Square transactions, issue refunds, export to QuickBooks
Opens in a new tab. Use to search a transaction, issue a refund, or export a date range to QB.
💲 Payment Escalation Rules (Day 0-28 ladder)
Loading…
💲 2026 Pricing Model
★ Annual Prepaid: Pay 12, get 13th FREE · New orders only · Existing grandfathered
⚠ EDITING MODE — Prices are editable. Click the lock to save changes.
Full Pricing Matrix — Per-Cleaning
🎉 Marketing Coupons
Code Discount Used Expires Status Actions
Click Refresh to load coupons…
⚡ Automation Control Panel
ALL OFF
👥 Customer Outreach
Emails Sent (30d)
requires Brevo analytics sync
Open Rate
requires Brevo analytics sync
Click Rate
requires Brevo analytics sync
Conversions
requires attribution worker
Attributed Revenue
requires attribution worker
OT Drip Pool
one-timers in sequence
OT Converted
OT → recurring (90d)
Proximity Eligible
dormant near this week's route
Reactivated MTD
brought back this month
📩 OT Conversion Drip — One-Time → Recurring LIVE

Automatically contacts one-time customers at Day 3, Day 21, and Day 80 after their first cleaning with a targeted pitch to convert them to a recurring plan. Runs daily via occ-ot-followup worker.

In Sequence
one-timers eligible
Day 3 Sent (30d)
initial touchpoint
Day 21 Sent (30d)
follow-up
Day 80 Sent (30d)
final push
Converted (90d)
OT → recurring
Worker: occ-ot-followup — runs daily at 9 AM ET
📍 Proximity Reactivation — “We’ll Be On Your Street” LIVE

Identifies dormant customers near this week’s route and sends a personalized “we’ll be on your street” reactivation email. 90-day throttle prevents duplicate sends. Backend: occ-command-centernt_lapsed_send.

Enter a ZIP and click Find to preview eligible customers.
⭐ #21 Review Request OFF

Sends a Google review request 24 hours after service is completed. One request per customer per service date — never duplicates. Worker: occ-ot-followup (daily 9 AM ET).

Requests Sent (30d)
review asks delivered
Reviews Earned (30d)
requires GBP sync
Open Rate
Brevo sync required
Worker: occ-ot-followup — runs daily at 9 AM ET
🤝 #23 Referral Offer OFF

After a customer’s 3rd completed service, automatically sends their unique referral code and explains the referral program. Worker: occ-referral-pitch (daily 10 AM ET).

Codes Sent (30d)
offers delivered
Referrals Activated
new signups from codes
Revenue from Referrals
attribution required
Worker: occ-referral-pitch
💬 #24 Auto Review Response OFF

When a new Google review is detected, drafts a personalized response for Howard to approve and post. Keeps OCC’s review engagement high without manual monitoring. Requires Google Business Profile API connection.

Drafts Created (30d)
pending approval
Responses Posted (30d)
GBP sync required
Avg Rating (90d)
GBP sync required
Requires GBP API — not yet wired
🌿 #55 Spring Reactivation — Seasonal 30-Day Reminder OFF

Emails (and/or SMS) seasonal customers a heads-up before their service restarts in spring. Fires once per customer, 30 days before their season resume date. Channel: email.

Seasonal Customers
eligible for reminder
Reminders Sent (90d)
from comms_log
Toggle in Automations tab — config saved to D1
✉ EDDM & Growth Engine — New Neighborhood Acquisition TOOL

Plan, cost, and track Every Door Direct Mail (EDDM) campaigns for new neighborhood acquisition. Enter a target ZIP, household count, and number of mail touches to calculate cost and print-ready specs. Uses LOB for printing and delivery.

Standalone planner — LOB integration
📊 Email Health — Bounce & Suppression Tracking

Live stats from Brevo for the last 30 days. Hard bounces are permanently blocked — those addresses never receive another email. Soft bounces retry automatically.

Hard Bounces
blocked permanently
Soft Bounces
retry eligible
Unsubscribes (30d)
opted out
Spam Reports (30d)
flag if rising
📝 Template Library
📝 Email, SMS & Document Templates

Click any template to edit. Changes persist live to D1 and stay in sync with the CRM. Locked items show a yellow banner before save.

📊 Reports & B2B Data Delivery
📚 Report Library

Pre-built templates plus any you've saved. Click Run Now to generate immediately, or use Schedules to deliver on a recurring basis.

Select a report above to run, or use + Custom Report to build one.
👥 Customers
🔧 Settings
Company Information
Company Details
Company Name
Owner
Phone
Email
Address
Website
Logo
📷
Upload Logo
Business Hours
Tax ID
Founded
Payment Processors

Square (Current)

Type: Flat rate
Rate: 2.6% + $0.10
Connected: March 2026
✅ Connected

Helcim (Pending)

Type: Cost-plus (interchange + markup)
Rate: Interchange + 0.3% + $0.08
Meeting scheduled — Howard to sign up
⏳ Pending Setup

Stripe (Available)

Type: Flat rate
Rate: 2.9% + $0.30
Not Connected
Integrations
🛒

WooCommerce

Site: ohiocleancans.com
Syncs: Orders, customers, coupons
Last Sync: Apr 7, 2026 2:00 AM
✅ Connected
📚

QuickBooks Online

Syncs: Invoices, payments, customers
QB sync queue ready — waiting on Julie for account mapping
✅ Connected
📧

Brevo (Email)

Sender: office@ (marketing) · billing@ (payments)
Sends: Transactional emails, campaigns
✅ Connected
💬

Brevo (SMS) NEW

Phone: OCC number
SMS approved and live as of April 7, 2026
✅ Connected
📮

Lob.com DIRECT MAIL

Used for: EDDM postcards, Neighborhood Takeover Touch 1 & Touch 2 mailings
How it works: NT Engine submits postcard orders to Lob per activation. Lob prints & mails to target addresses within 5–7 business days.
Env:  |  Set LOB_ENV=live on nt-engine worker to mail real postcards
✅ Connected
🦍

GorillaDeSK (Legacy)

Syncs: Customers, jobs, invoices (nightly 2AM)
Legacy system — will be disconnected after COG cutover
✅ Connected
Users & Roles
Active Users
NameEmailRoleRoutesStatusAction
Howard Cooper howard@ohiocleancans.com Owner All Active
Jason jason@ohiocleancans.com Manager All Active
Coby coby@ohiocleancans.com Crew Route 2 Active
Brady brady@ohiocleancans.com Crew Route 3 Active
Whitney whitney@ohiocleancans.com Read Only Active
Claude (AI) ai@plusautomation.ai Read Only Active
Permissions Matrix
Feature Owner Manager Crew Read Only
CRM Dashboard
Customer Profiles✓ Full✓ Full✓ View
Routes / Schedule✓ Edit✓ View Own✓ View
Billing / Payments
Pricing
Automations✓ View
Templates✓ View
Settings
Crew App✓ All Routes✓ Own Route
COG Grid
Command Center✓ Limited✓ View
Financials / QB
Send Email/SMS✓ Templates Only
New Orders
Approve Actions
Note: Roles are assigned per user in the Users section above. Owner has full access to all features. Custom role configurations coming in COG v3.
COG Setup Wizard
Complete each step to get your company live on COG
78% Complete
1
Company Info ✓ Complete

Company name, address, phone, logo upload.

Already configured → Go to Settings
2
Service Area ✓ Complete

ZIP codes, counties, coverage area.

15 ZIP codes configured → View in Analytics
3
Service Plans ✓ Complete

Define your service types and pricing tiers.

134 service templates configured → Go to Pricing
4
Routes & Schedules ✓ Complete

Set up routes, assign areas, define schedules.

4 routes configured → Go to Settings
5
Crew & Users ✓ Complete

Add team members, assign roles and routes.

6 users configured → Go to Settings
6
Payment Processor ⏳ In Progress

Connect Square, Helcim, or Stripe.

Square connected. Helcim pending. → Go to Settings
7
Email & SMS ✓ Complete

Connect Brevo for transactional email and SMS.

Brevo connected. SMS live. → Go to Settings
8
Templates ✓ Complete

Customize email, SMS, and broadcast templates.

70+ templates configured → Go to Templates
9
Import Customers ⏳ In Progress

Upload customer CSV from old system.

1,842 customers imported. Invoice migration: 14,750 of 39,000
37.8%
10
Go Live ○ Not Started

Review everything, flip the switch.

Complete all steps above, then click GO LIVE to activate COG.
VENDORS & SUPPLIERS
Name Category Contact Phone Email Notes Actions
Loading…
📣 Marketing
Active Takeovers
routes currently armed
Channels Fired (7d)
emails + SMS + posts
Signups Attributed (30d)
from NT campaigns
Avg CPA
per attributed signup
📅 Active Takeovers

Loading…

📋 Past Takeovers

Loading…

📊 Brevo Email Health — Open / Click / Bounce Tracking
Open Rate (30d)
Click Rate (30d)
Hard Bounces
blocked from future sends
Soft Bounces
retry eligible
Unsubscribes
Spam Complaints
Click Refresh to load delivery health data.
Campaign Engine
📧 Active Campaigns
📅 Scheduled
📝 Past Campaigns
📄 Template Library

Every customer-facing template, grouped by channel. Locked templates cannot be edited without Howard's approval. See the Templates tab for full edit access.