Skip to content

Running Your First Payroll

FoxCLM's payroll system generates pay periods automatically from session assignments and staff rates. You pick a date range, and FoxCLM counts every assigned session, applies the configured rates (hourly, per-session, commission), and shows the breakdown. You review, approve, and mark as paid.

This tutorial walks through creating and processing a payroll period. Takes about 5 minutes.

Prerequisites:

  • At least one staff member with payroll rates configured (see Inviting a Collaborator and tick "Invite as workspace member")
  • Sessions assigned to that staff in the period you want to pay (see Your First Session for session assignment)

1. Open the Payroll page

Click Payroll in the sidebar (under BILLING).

Payroll page

The Payroll page shows a list of pay periods on the left. Each card has:

  • Label - the period name (defaults to a month-based name like "March 2026")
  • Date range - start and end
  • Status badge - Draft, Approved, or Paid
  • Total amount (shown once calculated)

The right side shows the entries for the currently selected period, or an empty state if no period is selected.

Click + New Period in the top-right.

2. Create a payroll period

The New Payroll Period modal opens:

New payroll period modal

Fields:

  • Label (optional) - what you'll call this period on the list. If blank, FoxCLM uses the date range.
  • Period Start (required) - first day of the pay period
  • Period End (required) - last day of the pay period

Tip text: "Sessions will be auto-counted from staff-assigned events in the period."

How pay is calculated

When you click Create & Calculate, FoxCLM:

  1. Finds every session between Period Start and Period End that's in status Occurred (by default).
  2. For each session, lists every assigned staff member.
  3. Per staff, applies:
    • Session count x Session rate = session pay
    • Hours worked x Hourly rate = hourly pay
    • (session pay + hourly pay) x Commission % = commission pay
  4. Sums all three to produce Gross pay per staff.
  5. Creates one row per staff in the period's entries table.

Staff with no assigned sessions in the range don't appear in the payroll entries.

Click Create & Calculate to generate.

3. Review the period

Click any period on the left to see its details on the right:

Period selected with entries

The detail panel shows:

  • Header - period name, date range
  • Status / action buttons (top-right):
    • Approved / Draft / Paid badge
    • Mark Paid - advance to paid (green)
    • Reject - return to draft (red)
    • Designer - customise the payroll statement layout

The entries table has one row per staff member per session group, with columns:

ColumnWhat it shows
StaffStaff member name
SessionsCount of assigned sessions in the period
HoursTotal hours worked (summed from session durations)
Session RatePer-session rate for this staff
Hourly RatePer-hour rate for this staff
Commission %Commission percentage on top of session + hourly pay
GrossTotal owed to this staff

The bottom of the table shows the period total:

Period totals

In this example the period total is $2,450.00 - the sum of every row's Gross column.

4. Edit an entry (optional)

Hover over any row to reveal an Edit button. Click it to adjust:

  • Session count
  • Hours worked
  • Session rate
  • Hourly rate
  • Commission %
  • Notes (internal comment, e.g. "includes bonus for covering colleague")

Edits override the auto-calculated values. Use this for bonuses, deductions, or corrections.

5. Approve the period

If the numbers look right, click Approve. The period moves from Draft to Approved.

Approving doesn't pay anyone - it just locks the numbers in so they don't change if you re-run the calculation. Staff can see approved periods in their Staff Portal.

If you've set up a workflow with a send_payroll_notification action on the Draft -> Approved transition, FoxCLM emails each staff member their pay breakdown automatically.

6. Process the actual payment

This is out-of-band. Pay your staff via:

  • Bank transfer
  • Cash
  • Check
  • Payroll service (Gusto, Rippling, Wagepoint, etc.)

FoxCLM doesn't move money - it just tracks what's owed.

7. Mark as paid

Once the money has left your bank account, click Mark Paid on the period. The status moves from Approved to Paid.

A workflow Approved -> Paid transition can fire send_payroll_notification again (with a "payment confirmed" template) or create_notification for an in-app receipt.

8. Customise the pay slip

Click Designer to open the document designer on the payroll statement. The designer works the same as for invoices - drag fields (staff name, period, sessions, hours, totals), style them, and save as a template.

Common additions to a pay slip:

  • Company header with logo
  • Staff name and period dates
  • Itemised sessions list
  • Hourly / session / commission breakdown
  • Total gross pay
  • Payment method (Bank Transfer / Cash / etc.)
  • Signature block

Click Download PDF on any staff's detail to generate their individual pay slip.

9. What staff see

In their Staff Portal, staff see only their own periods:

  • Period dates
  • Sessions that contributed (date, time, client, rate applied)
  • Hourly / session / commission breakdown
  • Gross pay
  • Payment status (Draft / Approved / Paid) and date

Staff cannot see other staff's payroll.

Tips

  • Run payroll at a consistent cadence. Weekly, bi-weekly, or monthly - pick one and stick to it. Staff expect predictability.
  • Approve and mark paid in the same sitting to minimise the window where staff see "Approved but not paid" which can confuse them.
  • Use the label field to be explicit: "April 2026 (1st half)" is clearer than "2026-04-01 to 2026-04-15".
  • Re-open a period by clicking Reject if you notice a mistake after approval. Fix the entries, re-approve.
  • Set up workflow actions to send payroll statements automatically on approval - saves a manual email per staff per period.

What's next

FoxCLM Documentation