Custom Reports
The built-in reports cover most needs, but if you have a specific question — "How many HVAC jobs in Sacramento with margin > 30% in Q1?" — the Custom Report Builder lets you slice your data any way you want.
What you can build
Any combination of:
- Data source — jobs, customers, quotes, invoices, payments, expenses, time, forms
- Filters — date range, status, source, tag, custom field, value range, etc.
- Group by — month, customer, tech, service type, location, lead source
- Metrics — count, sum, average, median, max, min
- Sort by any column
- Visualize — table, bar chart, line chart, pie chart
Creating a custom report
- Reports → Custom Reports → + New Report
- Pick the data source (e.g. Jobs)
- Add filters (e.g. status = paid, in 2025, service = HVAC)
- Pick group by (e.g. month)
- Pick metrics (e.g. sum of revenue, count of jobs)
- Choose chart type
- Save with a name
The report runs and you see the result instantly. Tweak filters; the result updates live.
Saving and sharing
Saved reports appear in your Reports → Custom list. From there:
- Pin to your dashboard for quick access
- Schedule to email yourself (or others) on a cadence (daily, weekly, monthly)
- Share with team — make it visible to other users
- Export — CSV or PDF
Examples
"Top 10 customers by revenue this year"
- Source: Invoices
- Filter: year = 2025, paid
- Group: customer
- Metric: sum(amount)
- Sort: descending
- Limit: 10
"Quote conversion rate by service type"
- Source: Quotes
- Group: service_category
- Metrics: count, count where status=accepted, win_rate (calculated)
"Hours per tech per week"
- Source: Time entries
- Filter: last 12 weeks
- Group: tech, week
- Metric: sum(hours)
- Chart: stacked bar
"Revenue by zip code"
- Source: Invoices
- Filter: paid, last 12 months
- Group: customer.zip
- Metric: sum(amount)
Helpful for understanding your service area.
"Margin per service category"
- Source: Jobs (with profit data)
- Filter: completed, last quarter
- Group: service_category
- Metrics: sum(revenue), sum(cost), margin %
Scheduled emails
For reports you want to see without logging in:
- "Weekly team sales" — every Monday morning, top sales last week
- "Monthly P&L" — first of each month
- "Daily new leads" — every morning
Set up in the report's Schedule menu. Recipients can include team members or external (e.g. your accountant).
Permissions
Custom reports respect role permissions:
- An accountant role can see financial reports but not customer-level details
- A tech can see reports about their own work, not others'
Set per-report permissions in the report settings.
Calculated fields
For more advanced reports, define calculated fields:
- "Margin % = (revenue - cost) / revenue"
- "Win rate = count where won / count where total"
- "Days to close = signed_at - created_at"
Available on the Pro+ tier in the report builder's Advanced section.
Drilling in
Click any number / bar / pie slice to see the underlying records. From there, click any record to see its full detail. Source-of-truth always traceable.
FAQ
How many custom reports can I create? No limit. Most users have 5-15 of their favorites pinned.
Can I run reports across multi-location? Yes — Business tier custom reports can filter or group by location.
Can the report be embedded on my website? Limited — for true embedding you'd use the API. But you can share a public link to a snapshot (e.g. a "transparency dashboard" if that fits your business).
What if my report is slow? Most reports return in under 5 seconds. If yours is slow, the date range is likely too wide — narrow it. For very heavy queries, the report runs async and emails you when ready.
Can I import my custom report definition to another HandyBook account? Yes — export as a JSON definition, import into another account. Useful for franchise / multi-org consultants.