Concorbit HelpAll guides →

Reports (Operational Dashboard)

Jobs reports: operational dashboard

The Jobs reports page at Jobs > Reports (/jobs/reports) surfaces the operational health of your field-service work: how many jobs you complete, how long they take, how often you fix on the first visit, how often you meet the SLA you promised, how customers rate you. For the money side (revenue, cost, margin, profitability per technician/customer/job-type), see the JCP dashboard; the two are complementary, not duplicative.

Permission: jobs.reports.view, which can be granted independently of jcp.view so operations managers can see their team's health without seeing financial data.

Date range

Presets: last 7 / 30 / 90 / 365 days. 30 days is the default. The window is capped at 2 years to keep aggregate queries bounded.

Headline metric cards

Five top-of-page cards, tenant-wide for the selected window:

  • Completed: number of jobs whose status is completed or invoiced with actual_end_at inside the window

  • Avg duration: mean of actual_end_at - actual_start_at across completed jobs that have a start stamp. Jobs that closed without a recorded start (rescheduled → completed without ever going through on-site) are excluded

  • First-time fix: percentage of completed jobs with no linked JobVisit carrying a return_reason. A job that was single-visit or was multi-visit without any "require return" action counts as first-time fix. A job where any visit was flagged "parts needed / access denied / scope expanded" does not.

  • SLA compliance: percentage of completed jobs whose actual_end_at - scheduled_at is within the job type's sla_resolution_minutes. Jobs without an SLA target (job type has no sla_resolution_minutes) are excluded from both the numerator and denominator: you can't breach an SLA you didn't set.

  • Avg rating: mean customer_rating across completed jobs that have one. Ratings are collected on the post-completion customer tracking page (see customer-tracking).

Technicians tab

League table, top 50 technicians by completions:

  • Completed: count of completed jobs with this technician as assigned_to

  • Avg duration: per-technician average, same definition as the headline card

  • Billable hours: sum of job_time_entries.duration_minutes WHERE is_billable for the technician in the window

  • Utilisation: billable_hours / (jcp_user_costs.contracted_weekly_hours × weeks_in_window), shown as a percentage. Requires a contracted_weekly_hours value on the engineer's JCP cost record, otherwise shows

  • First-time fix: per-technician version of the headline metric

  • Avg rating: mean customer rating for jobs this technician completed

Top three completions-wise are highlighted with rank numbers in the accent colour.

Job types tab

Per-job-type table, top 50 by completions:

  • Completed: count

  • Avg duration: mean

  • SLA target: the job type's configured sla_resolution_minutes for quick sanity-check against avg duration

  • First-time fix: per-type rate

  • Avg rating: per-type mean rating

Use this to spot job types that routinely overrun their SLA (compare "Avg duration" against "SLA target"), or types that customers rate consistently low.

Customers tab

Per-customer (company) table, top 50 by completions:

  • Visits: completed-job count for this customer

  • SLA breaches: completed jobs where actual_end_at - scheduled_at exceeded the job type's SLA target. Breaches are counted regardless of whether the customer has churn risk

  • Avg rating: mean rating from this customer

Useful for spotting customers at churn risk (consistently low ratings or high breach counts) ahead of their next contract renewal. Click through to the CRM company page to see full context.

Not yet shipped

  • Trend charts: completions / rating / FTF / SLA compliance vs the prior period, needs the chart component wired in

  • Geographic heatmap: plot all completed jobs by postcode to identify service-area density

  • Automated SLA-breach workflow: trigger an ops manager task + customer apology template when a breach is detected

  • Scheduled exportable reports: weekly/monthly CSV + PDF dashboard email (reuse Analytics module export infrastructure)

  • Canvas widgets: dashboard-level WidgetJobsFirstTimeFixRate, WidgetJobsUtilisation, WidgetJobsSlaCompliance, WidgetJobsCustomerRating for operators who want these metrics on their canvas rather than visiting /jobs/reports