Admin

Manage the job-costing rollout

Open Settings in Thermal →

Job costing keeps department attribution, revenue, costs, margins, and manager-compensation inputs separate by organization. It starts safely in report-only mode: a shop must deliberately promote each rollout control; none are enabled automatically for an existing organization.

Set up departments

Open Settings → Departments to create the active operating departments that reports should use, for example HVAC, Refrigeration, Controls, Plumbing, and Electrical. Assign a manager only when that manager is the appropriate owner for a department's compensation schedule.

Every organization has one system Unassigned department. It is the intentional fallback for older records and for sources that do not yet have a known department. Do not rename, deactivate, or use it as a substitute for a real operating department.

New estimates, projects, phases, and work orders keep an explicit department when one is supplied. Otherwise, their creation flow resolves the inherited department from its project/phase/work-order context and finally falls back to Unassigned. This makes an unknown visible instead of guessing a historical department.

Correct an assignment without rewriting history

Change a live estimate, project, phase, or work order from its edit screen and give the required reason. The authorized reclassification action records the before/after department and leaves posted cost, revenue, and compensation snapshots unchanged. A department that has been deactivated cannot receive a new assignment, but it remains available for historical reporting.

Promote the rollout

An Owner uses Settings → Job Costing to promote the three independent switches in this order:

  1. Department P&L report makes the report and CSV export available.
  2. Cost & revenue capture permits new attribution events as jobs and paid invoices are processed.
  3. Manager compensation permits creation of new manager-compensation runs through the guarded service path.

Saving the controls and running the backfill create an append-only rollout audit record. Turning any switch off is a rollback of new behavior only: it does not delete departments, posted snapshots, attribution events, compensation runs, or reclassification history. No switch activates a general ledger or payroll integration.

Backfill and health checks

Run Historical backfill once before enabling capture. It assigns only departmentless legacy estimates, projects, phases, work orders, and invoice snapshots to the system Unassigned department. It never guesses a department, and it is safe to run again; the result shows the exact number of rows updated.

The rollout health badges show the checks to resolve before the next promotion:

  • Reconciliation must remain balanced: department totals agree with the organization-wide ledger total for each currency.
  • Duplicate events must be zero. A non-zero count means the immutable ledger's source identity needs investigation.
  • Unassigned-department events are a warning queue for authorized reclassification, not an automatic reassignment.
  • Attribution gaps identify eligible labor or paid invoices without their expected active ledger event.

Read the P&L and export safely

Open Reports → Department P&L and set the date, branch, and department filters before reading a margin. The report derives revenue and every cost category from immutable attribution snapshots; a later department rename or reclassification does not rewrite a posted period. Select a department to inspect its source events, then use Export CSV for the same filters.

The accounting handoff remains snapshot-based: exports carry the department attribution that was recorded at posting time. Review the P&L reconciliation and the accounting-sync status before treating an export as an external posting; this rollout does not activate a GL mapping or payroll payout.

Troubleshoot and roll back

If a health badge is red or a production reconciliation delta is non-zero, turn Cost & revenue capture off first. That immediately prevents new attribution writes while preserving the evidence needed to investigate. Do not delete or edit ledger rows to force a balance. Resolve the source issue, review the health checks again, then re-enable capture.

If compensation needs to stop, turn off only Manager compensation. Existing pending, approved, and reversed runs remain intact. Re-enable it only after a clean reporting and capture period has been reviewed.

Reference

On this page