1 Reports Hub
2 Empty State
3 Revenue Report
4 Job Performance
5 Team Analytics
6 Lead Sources
7 Report Builder
8 Scheduled Reports
9 Reports Home
10 Empty State
11 Biz Overview
12 Loading
13 Export
Reports Dashboard
9:41
Reports
Revenue
$47.2K
12.3%
Jobs
23
8.1%
Win Rate
68%
2.4%
Avg Ticket
$2,052
5.7%
Week
Month
Quarter
Year
Custom
Quick Reports
Revenue Report
Income breakdown by category and period
Job Performance
Completion rates, timing, and customer satisfaction
Team Analytics
Leaderboard, utilization, and productivity trends
Lead Sources
Acquisition channels, funnels, and conversion rates

ReportCard, MetricCard, DateRangeSelector

useReportDefinitions(), useReportCategories()

Reports Empty State
9:41
Reports
No Data Yet
Reports will populate as you complete jobs. Revenue, performance, and lead data will appear here.
Complete Your First Job

EmptyState

useReportDefinitions() → empty array


Revenue Report
9:41
Revenue Report
Week
Month
Quarter
Year
Total Revenue
$47,200
12.3%
vs last month
Monthly Revenue Trend
Sep Oct Nov Dec Jan Feb
Revenue by Category
5
types
Roofing — $17,936
HVAC — $11,328
Plumbing — $8,496
Electrical — $5,664
Other — $3,776
Top Revenue Sources
Residential Roof Replacement
8 jobs completed
$14,200
HVAC System Install
4 jobs completed
$11,328
Water Heater Replacement
6 jobs completed
$8,496
Panel Upgrade 200A
3 jobs completed
$5,664
General Repairs
2 jobs completed
$3,776
Period Comparison
This Month
$47,200
Last Month
$42,040

ReportSummaryCard, RevenueChart, RevenueBreakdown

useQuery(api.reports.getRevenueReport)

Job Performance Report
9:41
Job Performance
Jobs Overview
23
Completed
7
In Progress
4
Pending
Avg Completion Time
4.2 days
0.8 days faster
Customer Satisfaction
4.8 / 5.0
Jobs by Category
Roofing
8
Plumbing
6
HVAC
4
Electrical
3
General
2
91%
On-Time Rate
35%
Repeat Customers

JobOverviewCard, HorizontalBarChart, RingGauge

useQuery(api.reports.getJobPerformance)

Team Analytics
9:41
Team Analytics
Revenue
Jobs
Rating
Team Leaderboard
MJ
Marcus Johnson
Lead Technician
$18,400
revenue
AR
Ana Rodriguez
Senior Tech
$14,200
revenue
TW
Tyler Williams
Technician
$9,800
revenue
SP
Sarah Park
Apprentice
$4,800
revenue
Team Utilization
Marcus J.
92%
Ana R.
85%
Tyler W.
78%
Sarah P.
62%
Productivity Trend
Week 1 Week 2 Week 3 Week 4

Leaderboard, UtilizationChart, ProductivityTrend

useQuery(api.reports.getTeamAnalytics)

Lead Source Report
9:41
Lead Sources
Lead Acquisition Channels
86
leads
3Bids — 36
Referral — 20
Voice Agent — 13
D2D — 10
Direct — 7
Conversion Funnel
86 Leads
62.8% convert ↓
54 Bids Sent
55.6% win ↓
30 Won
76.7% complete ↓
23 Completed
Conversion Rate by Source
Referral
72%
3Bids
58%
Voice Agent
46%
D2D
40%
Direct
29%
Cost Per Acquisition
Referral
$0
3Bids
$24
Voice Agent
$38
D2D
$52
Direct
$18

LeadSourceChart, ConversionFunnel, CostPerAcquisition

useQuery(api.reports.getLeadSources)


Report Builder
9:41
Build Report
Filters
Step 3 of 4
Metrics
Revenue
Jobs
Team
Leads
Time
Date Range
7 Days
30 Days
90 Days
Custom
Group By
Daily
Weekly
Monthly
Filter By
Service Type Roofing, HVAC
Team Member All Members
Location All Locations
Preview
Revenue + Jobs metrics, grouped weekly, filtered by Roofing and HVAC over the last 30 days.
Back
Preview

ReportCategoryPicker, ReportColumnPicker, ReportFilterBar

useReportColumnOptions(), useReportPreview()

Scheduled Reports
9:41
Scheduled Reports
5
Total
4
Active
0
Failed
Scheduled reports run automatically and are delivered to your email or available in-app.
Weekly Revenue Summary
Every Monday · Last sent Feb 17
WEEKLY
Monthly Job Performance
1st of month · Last sent Feb 1
MONTHLY
Team Leaderboard
Every Friday · Last sent Feb 21
WEEKLY
Lead Source Analysis
1st of month · Last sent Feb 1
MONTHLY
Custom Pricebook Report
Paused · Last sent Jan 15
PAUSED
Create Schedule

ScheduledReportRow, ScheduleReportModal

useScheduledReports(), useToggleScheduledReport()


Reports Home
9:41
Reports
New
Business Overview
View full dashboard →
Trends
Export
Cohorts
Query
Saved (3)
Scheduled (2)
Favorites (1)
Revenue
3
Operations
2
Customers
2
Marketing
1
Monthly Revenue Summary
Total revenue, category breakdown, and period-over-period comparison
REVENUE Last run: Feb 28, 2026
Technician Productivity
Jobs per tech, completion rates, and utilization metrics
OPERATIONS Last run: Feb 25, 2026
Lead Source ROI
Acquisition cost, conversion rates, and channel performance analysis
MARKETING Last run: Feb 20, 2026

ReportsHomeScreen, QuickActionBanner, ReportCard

useReportDefinitions(), useReportCategories(), useReportFavorites()

Reports Home — Empty
9:41
Reports
New
Business Overview
View full dashboard →
Saved (3)
Scheduled (2)
Favorites (1)
No Scheduled Reports
Create reports and schedule them for automatic delivery
View Saved Reports

ReportsHomeScreen, EmptyState

useScheduledReports() → empty array

Business Overview Dashboard
9:41
Business Overview
Reports
Today
Week
Month
Quarter
YTD
12M
Revenue
$47,250
12.3%
Jobs
34
8.2%
Avg Ticket
$1,390
2.1%
Completed
28
15.0%
Customers
22
5.7%
Active Techs
6
Export Complete Report
Export All
Quick Stats
82.4%
Completion Rate
$1,688
Revenue/Job
$7,875
Revenue/Tech
5.7
Jobs/Tech
Revenue by Service
#1
HVAC Repair
12 jobs
34%
#2
Plumbing
8 jobs
22%
#3
Electrical
6 jobs
17%
#4
Roofing
5 jobs
15%
#5
Painting
3 jobs
12%
Top Technicians
#1
Mike Johnson
8 jobs · $1,450 avg
$11,600
92%
#2
Sarah Chen
7 jobs · $1,380 avg
$9,660
88%
#3
David Kim
6 jobs · $1,250 avg
$7,500
83%
Job Status
Completed
28
In Progress
4
Pending Funding
1
Open
1
Real-time data · Updated 2 min ago

BusinessOverviewScreen, KPIGrid, ServiceRevenueChart, TechLeaderboard

useQuery(api.reports.getBusinessOverview), useQuery(api.reports.getRevenueByService)

Business Overview — Loading
9:41
Business Overview
Reports
Today
Week
Month
Quarter
YTD
12M

BusinessOverviewScreen, SkeletonLoader

useQuery(api.reports.getBusinessOverview) → undefined (loading)

Export In Progress
9:41
Export
Export Started
Your data is being prepared
Exporting 4 datasets...
Jobs
Done
Invoices
Processing
Technicians
Pending
Customers
Pending
View Exports

ExportProgressScreen, ExportDatasetRow

useMutation(api.reports.exportReport), useQuery(api.reports.getExportProgress)


Data Architecture

Convex Queries

  • reports.getRevenueReport — revenue trend, breakdown by category, top sources
  • reports.getJobPerformance — completion rates, avg time, satisfaction, on-time %
  • reports.getTeamAnalytics — leaderboard, utilization, productivity trend
  • reports.getLeadSources — channel breakdown, funnel, conversion rates, CPA
  • reports.getReportPreview — custom report preview with filters
  • reports.getReportDefinition — saved report config by ID
  • reports.getReportColumnOptions — available columns per category
  • reports.getGeneratedReports — report run history
  • reports.getScheduledReports — all scheduled automations
  • reports.getReportFavorites — starred report definitions
  • reports.getReportCategories — category list with counts
  • reports.getBusinessOverview — KPIs, quick stats, job status breakdown
  • reports.getRevenueByService — top services ranked by revenue share
  • reports.getTopTechnicians — tech leaderboard with completion rates
  • reports.getExportProgress — real-time export dataset status

Convex Mutations

  • reports.createReport — save new report definition
  • reports.updateReport — edit saved report config
  • reports.deleteReport — remove report definition
  • reports.scheduleReport — create scheduled automation
  • reports.updateSchedule — edit frequency, recipients
  • reports.toggleSchedule — activate/pause schedule
  • reports.deleteSchedule — remove scheduled report
  • reports.exportReport — generate CSV/PDF/XLSX
  • reports.addFavorite — star a report
  • reports.removeFavorite — unstar a report

Key Tables

  • reportDefinitions — saved report configs (category, columns, filters)
  • scheduledReports — automation rules (frequency, delivery, recipients)
  • generatedReports — report run snapshots (rows, summary, exports)
  • reportFavorites — user-starred report definitions
  • reportExports — generated file references (PDF, CSV, XLSX)

Hooks & Components

  • useReports — barrel export for all report hooks
  • useAnalytics — KPI summary aggregation
  • ReportCard — report definition card with actions
  • ScheduledReportRow — schedule with toggle + frequency badge
  • ReportFilterBar — date range + category filters
  • ReportPreviewTable — scrollable data table
  • ReportSummaryCard — metric tiles with icons
  • ReportExportButton — multi-format export dropdown
  • ReportCategoryPicker — category selection grid
  • ReportColumnPicker — column toggle list
  • ScheduleReportModal — frequency + delivery config
  • SaveReportModal — name, description, share toggle
Reports Hub & Revenue
9:41
Reports Hub & Revenue
Reports Hub
$42,800
Revenue
+23%
Growth
Revenue Report
Kitchen Projects
$18,400 · 8 jobs
Top
Bathroom Remodel
$12,200 · 5 jobs
High
Deck & Patio
$8,600 · 4 jobs
Growing
Team Analytics & Lead Sources
9:41
Team Analytics & Lead Sources
Team Analytics
Mike Kowalski
Lead · 24 jobs completed
4.9
Dave Horvat
Senior · 18 jobs completed
4.7
Tom Garcia
Junior · 8 jobs completed
4.5
Lead Sources
3Bids Marketplace
42% of leads
Primary
Direct Referral
28% of leads
Growing
Google Ads
18% of leads
Stable
Reports Dashboard
https://app.3bids.io/contractor/reports
3Bids
Dashboard ⌘1
Revenue ⌘2
Jobs ⌘3
Team ⌘4
Lead Sources ⌘5
Builder ⌘6
Scheduled ⌘7
MK
Mike Kowalski
Contractor
Settings ⌘,

Reports Dashboard

$42.8K
Revenue
+23%
Growth
89%
Completion
4.8
Rating
Revenue by Category
Category
Revenue
Jobs
Avg. Ticket
Trend
Kitchen Projects
$18,400
8
$2,300
+12%
Bathroom Remodel
$12,200
5
$2,440
+8%
Deck & Patio
$8,600
4
$2,150
+2%
Plumbing Repairs
$3,600
6
$600
+18%
Team Performance
Mike Kowalski
24 jobs · $18,200 revenue
4.9
Dave Horvat
18 jobs · $14,600 revenue
4.7
Tom Garcia
8 jobs · $6,400 revenue
4.5
Lead Sources
3Bids Marketplace
42%
Direct Referral
28%
Google Ads
18%