Command Established Command Established

Running Payroll Reports in Command Established

Paying firefighters is rarely as simple as hours × rate. A 24/48 rotation means shifts that cross midnight. Kelly days pull members off the schedule. Vacation, sick, FMLA, and school time all need to be counted separately. Command Established's payroll report rolls it all up for any pay period you pick, then hands you a CSV you can drop straight into your payroll processor.

When to Use Payroll Reports

The payroll page handles any pay period you run:

The report understands how your schedule is built. 24/48 rotations, Kelly-day patterns, trades, and callbacks all roll up correctly. Overtime is broken out on its own so you can see exactly where it came from, and every time-off category — Vacation, Sick Leave, Personal, Bereavement, FMLA, Military, Comp Time, Injury, Administrative, Kelly Day, School Time, Jury Duty — has its own column.

Generating a Report

Payroll page with a bi-weekly report generated, showing per-person totals for work hours, time-off categories, overtime, and totals

From Schedule > Payroll, the page starts with no period selected — no implied monthly or bi-weekly bias. Click a preset (Last pay period, This pay period, Last month, This month) or use the date-range picker to pick custom dates. As soon as the range is valid, the report generates. No "run" button.

The Ad-hoc mode is for focused reports on a single category — say, you need a quick list of everyone who took FMLA last quarter. Switch modes, pick the categories you want, and you get a simplified Name / Category / Hours table instead of the full breakdown.

Reading the Report

Each row in the main table is one member, with their hours broken out by type:

Members with zero hours across the board are filtered out, so you don't have to scan past people who didn't work the period.

Per-Person Detail

Per-person detail pane showing a daily breakdown table with date, day of week, scheduled hours, worked hours, status, and exception notes

Click any row and a detail pane slides in from the side. It shows the full daily breakdown for that member: every day in the period, with scheduled hours, worked hours, exception notes, and a status label (Worked, Scheduled, a specific time-off category, or blank for off days).

Use it when a member questions their total, when an officer is spot-checking numbers, or when you're reconciling against a sign-in sheet. The breakdown is also the fastest way to catch a missing exception — if a sick day wasn't entered, the day will show as "Scheduled" with zero worked hours, and the total comes up short.

Exporting to CSV

The Export CSV button (top-right) downloads the current report in a format that drops straight into most payroll processors and ISO audit templates:

Hand the file to whoever runs payroll — your bookkeeper, your treasurer, or your service (ADP, Paychex, Gusto, your municipal finance office). The column layout is stable across runs, so a saved import mapping keeps working from one pay period to the next.


The pattern most departments settle into: pick "Last pay period" on Monday morning, glance at the totals, click any row whose number looks off to review the daily breakdown, and hit Export CSV. Ninety seconds from page load to a file headed out the door.