“Total Cost Breakdown: Labor vs. Other Charges”
Autotask PSA Datto RMM Datto Backup Microsoft 365 SmileBack HubSpot IT Glue All reports
AI-GENERATED REPORT
You searched for:

Total Cost Breakdown: Labor vs. Other Charges

A full breakdown of $8.3M in costs across labor, products, expenses, block hours, and recurring services. Mapped against $17.6M in revenue to show where margin is earned and where it leaks. Generated by AI via Proxuma Power BI MCP server.

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

Total Cost Breakdown: Labor vs. Other Charges

A full breakdown of $8.3M in costs across labor, products, expenses, block hours, and recurring services. Mapped against $17.6M in revenue to show where margin is earned and where it leaks. Generated by AI via Proxuma Power BI MCP server.

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: MSP owners, finance leads, and operations managers tracking profitability

How often: Monthly for financial reviews, quarterly for strategic planning, on-demand for pricing decisions

Time saved
Building financial reports from PSA exports and spreadsheets is a full day of work. This report delivers it in minutes.
Margin visibility
Revenue numbers alone do not tell the story. This report connects revenue to cost for true profitability.
Pricing intelligence
Data-driven evidence for pricing adjustments, contract negotiations, and resource allocation.
Report categoryFinancial & Revenue
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
AudienceMSP owners, finance leads
Where to find this in Proxuma
Power BI › Financial › Total Cost Breakdown: Labor vs. Other...
What you can measure in this report
Summary Metrics
Cost Breakdown by Category
Revenue vs. Cost by Contract Type
Billing Sub-Type Analysis
Analysis
What Should You Do With This Data?
Frequently Asked Questions
TOTAL REVENUE
TOTAL COST
GROSS MARGIN
MARGIN %
RECURRING SERVICE
AI-Generated Power BI Report
Total Cost Breakdown:
Labor vs. Other Charges

A full breakdown of $8.3M in costs across labor, products, expenses, block hours, and recurring services. Mapped against $17.6M in revenue to show where margin is earned and where it leaks. Generated by AI via Proxuma Power BI MCP server.

Demo Report: This report uses synthetic data to demonstrate AI-generated insights from Proxuma Power BI. The structure, DAX queries, and analysis reflect real MSP data patterns.
1.0 Summary Metrics
TOTAL REVENUE
$17.6M
All billing items
TOTAL COST
$8.27M
Sum of our_cost
GROSS MARGIN
$9.33M
53.0% portfolio margin
MARGIN %
Recurring Service
$4.03M · 48.6%
View DAX Query — Summary Metrics
EVALUATE ROW("TotalRevenue", [Revenue - Total], "TotalCost", [Cost - Total], "Margin", [Profit - total], "MarginPct", [Profit - total - percentage]*100)
What are these DAX queries? DAX (Data Analysis Expressions) is the formula language used by Power BI to query data. Each “View DAX Query” section shows the exact query the AI wrote and executed. You can copy any query and run it in Power BI Desktop against your own dataset.
2.0 Cost Breakdown by Category

Total costs of $8,272,864 split across five billing categories, from largest to smallest

RECURRING SERVICE
$4.03M
48.7% of total cost
PRODUCT / MATERIAL
$2.48M
30.0% of total cost
LABOR
$1.21M
14.6% of total cost
BLOCK HOURS
$454K
5.5% of total cost
Recurring Service
$4,025,063
48.7%
Product/Material
30.0%
Labor
$1,207,179
14.6%
Block Hours
$453,912
5.5%
Expense
$173,409
2.1%
Cost CategoryCost% of TotalScale
Recurring Service$4,025,06348.7%Largest
Product / Material$2,483,17030.0%Second
Labor$1,207,17914.6%Third
Block Hours$453,9125.5%Fourth
Expense$173,4092.1%Fifth
View DAX Query — Cost Category Breakdown
EVALUATE
UNION(
    ROW("Category", "Labor", "Cost", SUM(BI_Autotask_Billing_Items[internal_cost])),
    ROW("Category", "Product/Material", "Cost", CALCULATE(SUM(BI_Autotask_Billing_Items[price]), BI_Autotask_Billing_Items[billing_sub_type] = 7)),
    ROW("Category", "Expense", "Cost", CALCULATE(SUM(BI_Autotask_Billing_Items[price]), BI_Autotask_Billing_Items[billing_sub_type] = 8)),
    ROW("Category", "Block Hours", "Cost", CALCULATE(SUM(BI_Autotask_Billing_Items[price]), BI_Autotask_Billing_Items[billing_sub_type] = 2)),
    ROW("Category", "Recurring Service", "Cost", CALCULATE(SUM(BI_Autotask_Billing_Items[price]), BI_Autotask_Billing_Items[billing_sub_type] = 12))
)
ORDER BY [Cost] DESC
3.0 Revenue vs. Cost by Contract Type

How each contract type contributes to revenue and where costs concentrate. Sorted by revenue, with margin percentage and contract counts.

55.0% margin
Recurring Service
36.7% margin
Time & Materials
51.6% margin
Block Hours
100% margin
Fixed Price
Contract TypeRevenueCostMarginMargin %ContractsActive
Recurring Service $15,724,070 $7,067,810 $8,656,260 55.0% 1,207 932
Time & Materials $1,840,111 $1,163,629 $676,482 36.7% 504 287
Block Hours $7,502 $3,628 $3,874 51.6% 173 158
Fixed Price $17,210 $0 $17,210 100% 5 0
View DAX Query — Revenue vs Cost by Contract Type
EVALUATE
SUMMARIZE(
    BI_Autotask_Contracts,
    BI_Autotask_Contracts[contract_type],
    "Revenue", SUM(BI_Autotask_Billing_Items[price]),
    "Cost", SUM(BI_Autotask_Billing_Items[internal_cost]),
    "Contracts", DISTINCTCOUNT(BI_Autotask_Contracts[contract_id])
)
ORDER BY [Revenue] DESC
4.0 Billing Sub-Type Analysis

Revenue and cost split by billing sub-type, showing which charge categories generate the most revenue and where costs concentrate

Recurring Service
$9.58M revenue
$4.03M cost
Milestone
$3.85M revenue
Product / Material
$2.64M revenue
$2.48M cost
Block Hours Deduction
$918K
$454K
Revenue Cost
CategoryItemsRevenueCostMargin% of Cost
Recurring Service42,607$9,577,503$4,025,063$5,552,44048.2%
Product / Material4,597$2,644,523$2,483,170$161,35329.7%
Labor69,321$273,878$1,207,179$-933,30114.5%
Block Hours3,943$917,546$453,912$463,6335.4%
Expense182$225,026$173,409$51,6162.1%
Misc737$10,981$5,364$5,6160.1%
Other1$500$500$00.0%
Retainer2,047$3,845,490$0$3,845,4900.0%
Pre-paid187$94,305$0$94,3050.0%
Adjustment / Credit2,129$17,017$-75,734$92,7510.0%
View DAX Query — Billing Sub-Type Analysis
EVALUATE ADDCOLUMNS(SUMMARIZE('BI_Autotask_Billing_Items','BI_Autotask_Billing_Items'[sub_type]), "Count", CALCULATE(COUNTROWS('BI_Autotask_Billing_Items')), "Revenue", CALCULATE(SUM('BI_Autotask_Billing_Items'[total_amount])), "Cost", CALCULATE(SUM('BI_Autotask_Billing_Items'[our_cost]))) ORDER BY [Cost] DESC
5.0 Analysis

At a portfolio level, 53% margin on $17.6M revenue is a solid position. But the aggregate number hides structural problems in how costs distribute across billing types.

Recurring services are the backbone of the business. They account for 89% of total revenue ($15.7M) and carry a 55% margin. The cost side is predictable: $7.1M in recurring service costs against steady monthly income. This is the contract type you want to grow.

Time and Materials is the weak link. At 36.7% margin, T&M contracts deliver $1.8M in revenue but consume $1.16M in cost. That is 14 percentage points below the portfolio average. With 504 contracts but only 287 active, there is also a long tail of inactive T&M agreements that may still carry administrative overhead.

The billing sub-type data tells an even sharper story. Time Entry charges generate only $274K in revenue against $1.2M in labor cost, creating a negative margin of -340.7%. This does not mean labor is unprofitable by itself: the labor cost is spread across contract types, and much of it supports recurring service delivery. But it does mean that time entries billed directly at the line-item level are severely underpriced.

Product and Material is another area that deserves attention. Revenue of $2.64M against cost of $2.48M leaves only a 6.1% margin. This is pass-through with minimal markup. For an MSP handling procurement, that margin should be closer to 15-20% to justify the effort of quoting, ordering, and provisioning hardware and licenses.

Milestone billing stands out as the most efficient: $3.85M in revenue with zero recorded cost. This is likely project work or one-time charges where labor cost is captured elsewhere. It inflates the apparent margin, but the revenue is real and recurring it is not.

6.0 What Should You Do With This Data?

5 priorities based on the findings above

1

Review Time & Materials pricing immediately

T&M contracts run at 36.7% margin, 16 points below the portfolio average. Pull the top 20 T&M contracts by revenue and compare their hourly billing rate against the internal labor cost rate. If your average internal cost per hour is $85 and you are billing at $115, you have a 26% margin before any overhead. That is not enough for project-based work with scope risk. Raise rates or convert high-volume T&M clients to recurring agreements.

2

Increase product markup from 6% to at least 15%

A 6.1% margin on $2.64M in product revenue means you earned $161K for handling procurement. That barely covers the time spent quoting, ordering, receiving, and configuring. Set a minimum 15% markup policy on all hardware and software. For commodity items (cables, peripherals), go higher. If a vendor relationship requires you to sell at cost, negotiate volume discounts or drop the line.

3

Audit the 217 inactive T&M contracts

You have 504 T&M contracts but only 287 are active. The remaining 217 may still carry billing configurations, auto-charges, or clutter your PSA. Close or archive inactive contracts to keep your data clean and reduce the chance of billing errors on dormant agreements.

4

Track time entry cost separately from recurring labor

The -340.7% margin on direct time entries is misleading because labor cost is allocated across billing types. Set up a cost allocation model in Power BI that attributes internal labor cost proportionally to the contract type where the work was performed. This gives you a true picture of which contract types actually consume the most engineering hours and whether your pricing reflects it.

5

Protect and grow recurring service revenue

Recurring services generate $15.7M in revenue at 55% margin. That is the foundation of the business. Focus sales efforts on converting T&M clients to managed service agreements. Every $100K in T&M revenue converted to recurring at a 55% margin adds $18K in annual gross profit compared to the current T&M margin of 36.7%.

7.0 Frequently Asked Questions
Where does the cost data come from?

Cost data comes from the internal_cost field in Autotask billing records, which Proxuma Power BI pulls through the Autotask API. Labor cost is based on the internal hourly rate assigned to each resource in Autotask. Product cost comes from the cost field on billing items. Recurring service cost is the vendor cost recorded on recurring service contracts.

Why does Time Entry show negative margin?

Time Entry as a billing sub-type captures direct hourly charges, but the internal_cost field records the full labor cost for all time entries, including those that support recurring contracts. The negative margin does not mean labor is unprofitable. It means the labor cost allocation in Autotask spreads wider than the Time Entry billing sub-type alone. A proper cost allocation model would distribute labor cost across the contract types where work was actually performed.

What is a healthy margin for an MSP?

Industry benchmarks from Service Leadership and ConnectWise put healthy MSP gross margins between 50% and 65% for managed services. Time and materials work typically runs 35-45%. Product resale should target 15-25% margin to justify the operational overhead. A blended margin of 53% across all contract types is solid, but the individual line items matter more than the average.

How are Milestone charges recorded with zero cost?

Milestone billing in Autotask records a flat-fee charge when a project milestone is completed. The internal cost for the labor that went into reaching that milestone is captured in time entries, not on the milestone billing item itself. The $3.85M in milestone revenue has real labor cost behind it, but that cost shows up in the Labor category rather than being attributed directly to the milestone line item.

Can I run this report filtered to a specific time period?

Yes. Add a date filter to the DAX queries using the billing date column. For example, add CALCULATE with a filter on BI_Autotask_Billing_Items[billing_date] to restrict to a specific quarter or fiscal year. This lets you compare cost structures period over period and spot trends in margin erosion.

Can I run this report against my own data?

Yes. Connect Proxuma Power BI to your Autotask PSA, add an AI tool (Claude, ChatGPT, or Copilot) via MCP, and ask the same question. The AI writes the DAX queries, runs them against your real data, and produces a report like this in under fifteen minutes.

Demo Report: This report uses synthetic data to demonstrate AI-generated insights from Proxuma Power BI. The structure, DAX queries, and analysis reflect real MSP data patterns.

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