ReferenceSales & billing

Commissions

Open Commissions in Thermal →

What it's for

Commissions is how technicians get paid for what they sell. It holds the commission plans, what each technician is on, what they have accrued this period, and the ledger of what has been paid — plus the recommendation templates that give a technician something consistent to offer in the field.

Reach it from People → Commissions in the sidebar, at /commissions.

Tabs

The screen has no tabs. It is four sections: plans, assignments, accruals, and templates.

Panels and controls

Plans

Each plan has a Plan name ("e.g. Senior Tech"), a Basis, a rate, an optional multiplier, and an optional Cap in cents — the note in the field spells it out: 10000 means a maximum of $100.00 per job. A cap is worth setting on any plan where one unusually large job could distort a month.

No plans yet is the empty state.

Assignments

Technician, Current schedule, and Assign — who is on which plan. A Schedule override lets one person sit on different terms without creating a whole plan for them.

Accruals and the ledger

Tech, Plan, Eligible revenue, Rate, and Accrued show what is building this period. The ledger shows WO, Earned, Job value, Date, and Status per entry. Mark paid settles an entry.

Void commission reverses one, and it requires a note — "e.g. Job was re-assigned after completion". That is the important control on this screen: a voided commission always carries the reason it was voided, so a technician asking why their number changed gets an answer rather than a shrug.

No accrued commissions yet this period and No ledger entries yet are the empty states.

Recommendation templates

A named bundle of price book items a technician can offer as one — "e.g. AC Tune-Up Upsell Bundle" — with Notes giving dispatchers a brief description. Each template holds Pricebook item and Qty rows.

What it accepts

FieldFormatRequiredRule
Plan nameFree textYes"Name is required."
Basis / rate typePick a typeYes"Invalid rate type."
RateA non-negative whole numberYes"Rate must be a non-negative integer."
MultiplierA non-negative whole numberNo"Multiplier must be a non-negative integer."; blank means no multiplier
CapCents, whole numberNo"Cap must be a non-negative integer (cents)."; blank means no cap
StatusActive or inactiveYes
TechnicianPick a technicianYes, to assign"Missing user id."; "Schedule not found or inactive."
Void reasonFree textYes, to void"A note is required when voiding a commission."
Template nameFree textYes
Template notesFree textNo"Brief description for dispatchers"
Pricebook itemPick an itemYes, per template row"Pricebook item not found."
QtyGreater than zeroYes, per template row"Quantity must be greater than zero."

How to configure it

  • Payroll settings decide how paid commissions reach the payroll export.
  • Price book settings supply the items a recommendation template is built from.
  • Job costing settings decide how commission cost lands against a job's margin — which is why an uncapped plan can quietly change what a job looks like it earned.

Who can see it

This screen sits behind the Staff area.

Owners and office managers can open it. Dispatchers and technicians cannot — a technician sees their own commissions in the field app, not the plans or anyone else's ledger. 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.

On this page