Job P&L
Open Reports → JOB PNL in Thermal →
What it's for
Job P&L is the job-level profit-and-loss view: revenue, labor cost, material/parts cost, subcontractor cost, total cost, and net margin for each work order — down to net margin % — with subcontractor cost broken out on its own line so you can see whether a job that uses a subcontractor still nets positive.
Reach it from Reports → Job P&L, at /reports/job-pnl.
Tabs
Reports links back to the hub.
Panels and controls
Summary tiles at the top give the Jobs, Revenue, Total cost, Net margin, and Margin % across the whole result set.
Filters: From / To date range and Customer. Clear resets them.
Columns: Job (work-order number, summary, and service site), Customer, Branch, Revenue, Labor cost, Material/parts cost, Subcontractor cost, Total cost, Net margin, and Net margin %.
- Subcontractor cost is its own column — that is the point of the report. A job that subs out work shows the sub's cost as a distinct line, so the margin question ("does this job still net positive with a subcontractor?") is answered at a glance rather than buried in a blended total.
- Rows are ordered worst-margin-first, so losing jobs surface immediately.
- A job with zero revenue shows no Net margin % — there is no revenue to take a percentage of yet.
Export CSV takes it out; No jobs in scope is the empty state.
What it accepts
| Field | Format | Required | Rule |
|---|---|---|---|
| Date range | From / To | No | Defaults to the trailing 90 days |
| Customer | Select | No | Filters the job list to one customer |
The report is a read-out. Revenue comes from the job-costing revenue ledger (recognized when a job's invoices reach paid); labor and material/parts cost come from the work order's line items; subcontractor cost comes from the work order's own subcontractor-cost field.
How to configure it
- Job Costing must be enabled (Settings → Job Costing) for this report to appear — it reads the job-costing revenue ledger, same as Department P&L.
- Cost lines and subcontractor cost come from the work order record itself.
Who can see it
This screen sits behind the Reports area.
Owners, office managers and dispatchers can open it. Technicians cannot. The gate is checked on the server, not just hidden in the sidebar, so a direct link does not get around it.
The full role matrix is on Roles & permissions.