“Hours Worked vs Hours Billed: Where Does the Time Go?”
Autotask PSA Datto RMM Datto Backup Microsoft 365 SmileBack HubSpot IT Glue All reports
AI-GENERATED REPORT
You searched for:

Hours Worked vs Hours Billed: Where Does the Time Go?

Built from: Autotask PSA
How this report was made
1
Autotask PSA
Multiple data sources combined
2
Proxuma Power BI
Pre-built MSP semantic model, 50+ measures
3
AI via MCP
Claude or ChatGPT writes DAX queries, executes them, formats output
4
This Report
KPIs, breakdowns, trends, recommendations
Ready in < 15 min

Hours Worked vs Hours Billed: Where Does the Time Go?

This report provides a detailed breakdown of hours worked vs hours billed: where does the time go? for managed service providers.

The data covers the full scope of Autotask PSA records relevant to this analysis, broken down by the key dimensions your team needs for day-to-day decisions and client reporting.

Who should use this: Operations managers, service delivery leads, and MSP owners managing capacity

How often: Weekly for scheduling, monthly for utilization reviews, quarterly for staffing decisions

Time saved
Calculating utilization from time entries and ticket data manually is tedious. This report does it automatically.
Capacity insight
See who is overloaded, who has bandwidth, and where bottlenecks form.
Staffing data
Evidence-based decisions about hiring, scheduling, and workload distribution.
Report categoryResource & Capacity
Data sourceAutotask PSA · Datto RMM · Datto Backup · Microsoft 365 · SmileBack · HubSpot · IT Glue
RefreshReal-time via Power BI
Generation timeUnder 15 minutes
AI requiredClaude, ChatGPT or Copilot
AudienceOperations managers, service delivery leads
Where to find this in Proxuma
Power BI › Resources › Hours Worked vs Hours Billed: Where D...
What you can measure in this report
Overall Hours Snapshot
Worked vs Billed Hours by Client
Non-Billable Hours by Client (Top 8)
Key Findings and Recommended Actions
Frequently Asked Questions
Total Hours Logged
Billable Hours
Non-Billable Hours
Billability Rate
Proxuma AI Report — Autotask PSA
Hours Worked vs Hours Billed
Generated: March 2026
Dataset: Autotask PSA (Demo)
Report ID: PRX-TIME-064
Sources: Autotask PSABackupHiBob
Hours Worked vs Hours Billed: Where Does the Time Go?
A breakdown of logged hours, billed hours, and the non-billable gap by client. Identifies which accounts absorb the most unbilled labor and where pricing adjustments may be warranted.
Demo data: This report uses synthetic data. Your connected Power BI environment shows live figures from your Autotask PSA instance.
01
Overall Hours Snapshot
Total worked, billable, non-billable, and your current billability rate
Total Hours Logged
50,751
All time entries
Billable Hours
38,363
75.6% of total
Non-Billable Hours
12,387
24.4% of total
Billability Rate
75.6%
Target: 80%+

A 75.6% billability rate sits below the 80% threshold most profitable MSPs target. Every percentage point below 80% translates to real revenue left on the table. With 50,751 hours logged, moving from 75.6% to 80% would recover roughly 2,200 additional billable hours without adding headcount.

View DAX Query — Overall Hours KPIs
EVALUATE
ROW(
  "Total Hours", [Total],
  "Billable Hours", [Billable],
  "Non Billable Hours", [Non-Billable],
  "Billable Pct", [Billable % (vs Logged)],
  "Company Hours Worked", [Company - Hours Worked],
  "Company Hours Billed", [Company - Hours Billed]
)
02
Worked vs Billed Hours by Client
Sorted by total hours worked. Non-billable % shows where the biggest gaps are.
MetricValue%
Total Hours Worked50,752100%
Billable Hours38,36475.6%
Non-Billable Hours12,38824.4%
Resources77
View DAX Query — Hours by Client
EVALUATE ROW("TotalHours", SUM('BI_Autotask_Time_Entries'[hours_worked]), "BillableHours", SUM('BI_Autotask_Time_Entries'[Billable Hours]), "NonBillable", SUM('BI_Autotask_Time_Entries'[Non billable Hours]), "HoursToBill", SUM('BI_Autotask_Time_Entries'[hours_to_bill]), "Resources", DISTINCTCOUNT('BI_Autotask_Time_Entries'[resource_name]))
03
Non-Billable Hours by Client (Top 8)
Green = billed, red = non-billable. Width proportional to total hours per client.
Billed Non-Billable
Craig-Huynh
578h lost
Little Group
664h lost
Lewis LLC
135h lost
Martin Group
247h lost
Burke, Armstrong, Morgan
216h lost
Thompson, Contreras, Rios
153h lost
Wall PLC
31h lost
Doyle-Contreras
8h lost

Little Group and Craig-Huynh together account for 1,242 non-billable hours. At $125/hour that's $155,250 in unrecovered labor from two clients. If those contracts are fixed-price, you need to check whether the scope has drifted. If they're T&M, the time-entry process might have gaps.

Rivers, Rogers and Mitchell shows 1,661 hours with zero billed. This typically indicates an internal entity or a client with a contract type where billing is handled through a different mechanism than time entries. Worth confirming this is intentional.

View DAX Query — Non-Billable Hours Ranking
EVALUATE
TOPN(15,
  FILTER(
    SUMMARIZE(
      'BI_Autotask_Time_Entries',
      'BI_Autotask_Time_Entries'[company_name],
      "Worked", SUM('BI_Autotask_Time_Entries'[hours_worked]),
      "Billed", SUM('BI_Autotask_Time_Entries'[Billable Hours]),
      "Non Billable", SUM('BI_Autotask_Time_Entries'[Non billable Hours])
    ),
    NOT ISBLANK('BI_Autotask_Time_Entries'[company_name])
      && [Non Billable] > 0
  ),
  [Non Billable], DESC
)
04
Key Findings and Recommended Actions
What the data tells you and where to act first
!

Little Group: 664 unbilled hours, 17.5% non-billable rate

This is your largest non-billable account by percentage. Review whether the contract scope has expanded without a rate adjustment. For managed service contracts, check if out-of-scope work is being logged correctly. A 17.5% non-billable rate on 3,791 hours is a pricing conversation waiting to happen.

~

Three clients above 15% non-billable: review time-entry process first

Burke, Armstrong and Morgan (16.5%), Little Group (17.5%), and Rivers Rogers Mitchell (100%) all exceed the 15% threshold. Before renegotiating contracts, verify that technicians are coding work correctly. A time-entry training session often recovers 3-5% of non-billable hours without any contract change.

Doyle-Contreras and Clements, Pham and Garcia are your billing benchmarks

Both clients sit below 1% non-billable. Whether this is due to contract structure, engineer discipline, or account management practice, these accounts show what's possible. Use them as the reference point when diagnosing why other clients show higher rates.

05
Frequently Asked Questions
Common questions about hours worked vs billed analysis
What's the difference between “hours worked” and “hours billed” in Autotask?

Hours worked are all hours a technician logs in time entries, regardless of billing status. Hours billed are the subset marked as billable and actually invoiced to the client. The difference includes time marked non-billable, time that wasn't coded correctly, and work done outside the contract scope that no one remembered to add to the invoice.

What's a healthy billability rate for an MSP?

Most well-run MSPs target 78-85% client billability for service desk and field teams. Internal work, training, and team administration naturally eat into that percentage. If your rate drops below 75%, it usually points to contract structures that don't reflect the actual work being done, or time-entry habits that need attention.

Why does one client show 100% non-billable hours?

This almost always means the client is internal (your own company) or that billing is handled through a contract mechanism separate from time entries, such as a block-hour contract or a fixed monthly fee invoiced directly. Check the contract type in Autotask. If it's genuinely a client that should be billed, the time entries are likely coded to a non-billable work type.

Can I see this breakdown by technician instead of by client?

Yes. Swap the SUMMARIZE dimension from company_name to resource_name in the DAX query above. The Proxuma Power BI report library includes a dedicated technician billability report that tracks individual billable percentages, capacity utilization, and daily averages week by week.

How do I fix a high non-billable rate without renegotiating every contract?

Start with time-entry auditing. Pull the non-billable time entries for your top three offenders and look at the work type codes. Often, 30-40% of non-billable time is miscoded and can be reclassified. After that, review your contract coverage lists. If your technicians regularly do work that isn't in the contract scope, you either need scope addendums or a rate card for out-of-scope requests.

Generate this report from your own data

Connect Proxuma Power BI to your PSA, RMM, and M365 environment, use an MCP-compatible AI to ask questions, and generate custom reports - in minutes, not days.

See more reports Get started