Skip to main content
All team & permissions articles

Workforce hub — Schedule, Time off, Timesheets, Commissions

One nav entry for everything crew-related. Tabbed parent that ties weekly schedules, time off blocks, payroll-ready timesheets, and per-tech commission tracking together.

Updated 2026-05-05

Pre-2026-05-05, Schedule / Time off / Timesheets each had their own nav entry, and commissions didn't exist. The Workforce hub at /portal/workforce groups all four under one tabbed parent so the dispatcher's mental model is 'everything about the crew lives here.'

The four tabs

SchedulePer-tech weekly working hours + read-only week calendar. Smart-slot honors these when ranking candidate slots.
Time offVacation, sick, holiday, training, doctor visits. Supports full-day blocks AND partial-day blocks ('left at 2pm').
TimesheetsHours per tech per pay period, split by job/drive/lunch/admin/training. Payroll-ready CSV export.
CommissionsPer-tech earned commissions on paid invoices, computed from each tech's commission_rate_pct × invoice total.

Partial-day time off (new)

The 'all day' checkbox on the time-off form lets you record both the simple case (week of vacation) and the partial-day case (Mike left at 2pm Tuesday for a doctor visit). When 'all day' is unchecked, you specify start and end times, and the timesheet rollup shows hours missing.

  • All day = full-day block; multiple days are stored as start-of-day → start-of-day-after-end.
  • Partial day = explicit start and end timestamps; same-day partials are intra-day; multi-day partials span overnight.
  • Display: list rows show the time range AND a 'Xh missing' caption when the block is partial-day.

Commission tracking — how it works

Each tech can have a default commission rate (set on their profile in /portal/team). When a customer pays an invoice, Plyrium attributes the invoice to the customer's most recent completed appointment within 14 days, looks up the assigned tech, and credits the tech with (invoice total × that tech's commission rate).

  1. 1
    Set rates per tech

    /portal/team → click the tech → 'Commission rate (%)' field. Most shops use 8-12% for journeyman, 5-8% for apprentice, 15%+ for sales-side.

  2. 2
    Run the report

    /portal/workforce/commissions. Default range is the current month. Pick a custom start/end + apply.

  3. 3
    Review unattributed invoices

    Invoices that can't be linked to a tech (no recent completed appointment, OR appointment had no tech assigned, OR that tech has no rate) appear in the 'Unattributed' tile + are listed in the detail table with the specific reason.

  4. 4
    Export for payroll

    Same CSV pipeline as timesheets — tech, period, earned commission, paid status. Pair with the timesheet CSV for full payroll runs.

v1 attribution is heuristic

Plyrium currently links paid invoices to appointments by matching customer email/phone within 14 days. That covers the typical 'finish job, send invoice same day' workflow but won't catch edge cases like 'invoice settled 30 days after the visit.' v2 will add an explicit invoice→appointment link with backfill cron.

Don't see a tech in the rollup?

Either (1) they have no commission rate set on /portal/team, (2) no paid invoices were attributed to them in the date range, or (3) all their attributed appointments fell outside the 14-day match window. The detail table flags the specific reason.

Ready to try this in the actual product?

14-day free trial, no card charged for 14 days, cancel anytime.

More team & permissions articles