

A fire department can be fully staffed on paper and still run significant overtime every single pay period. Most chiefs who have watched this happen know the frustration. Headcount is where it needs to be, nobody quit, nobody was laid off, and yet the overtime bill keeps climbing, and city hall wants an explanation.
The explanation usually lives in the gap between who is on the roster and who can actually fill a vacancy on any given shift. Those are two different numbers, and treating them as interchangeable is why most budget conversations about firefighter overtime start from the wrong place. Making it worse, finalized pay data from payroll takes two to three weeks at best to arrive. This means by the time a department sees what overtime actually costs, the decisions driving it are already two pay periods in the past, with no intervention point left.
Headcount is a static figure recorded at a point in time. Available staffing is a daily reality that shifts with every injury, every leave request, every approved vacation bid, and every Kelly day that comes due. The two numbers are rarely the same, and the space between them is where overtime lives.
Under the FLSA's Section 7(k) exemption, fire departments calculate overtime based on work periods of 7 to 28 days rather than a standard 40-hour workweek. On a 28-day work period, overtime kicks in after 212 hours. That structure was designed to accommodate 24-hour shift cycles, but it also means that the relationship between scheduled hours and overtime liability is more complex than a standard payroll environment. Small changes in who is actually available on a given day ripple through the budget in ways that rarely surface clearly until after the payroll is processed.
The National Fire Protection Association consistently reports that firefighters sustain nonfatal occupational injuries at rates significantly above the national average for all workers. Each of those injuries removes someone from the available staffing pool, often for weeks, while their position on the roster stays filled. Workers' compensation absences compound this further. A firefighter out on workers' comp is still on the books, their position still shows as occupied, and every shift they miss requires coverage that almost always comes from someone working an extra tour.
Kelly days, vacation bids, FMLA leave, and scheduled training reduce the available pool on top of all of this. All of these are legitimate, necessary parts of how departments manage their workforce. When they stack across a shift without visibility into the cumulative effect, though, a roster that looked fully covered in the scheduling system can end up three people short by 0700.
Absence and injury account for a significant share of overtime exposure, but there are other cost drivers that departments rarely track precisely. Understanding them is what separates departments that get ahead of overtime from departments that keep explaining it after the fact.
Shift trades and the qualification gap. The most common misunderstanding about shift trades is that they are cost-neutral as long as two firefighters of the same rank make the swap, and that assumption consistently costs departments more than they realize. Rank-for-rank trades do not account for certifications or specialties. If Firefighter A is paramedic-certified and Firefighter B is not, then on the day Firefighter B is covering for Firefighter A, the department has lost scheduling flexibility it did not know it was losing. If a paramedic vacancy opens up that shift, Firefighter B cannot fill it. Someone else has to, and that fill is frequently a senior firefighter working an additional tour at overtime rates.
Seniority compounds this further. Rank-for-rank trades do not capture pay step or seniority differences, so a trade that looks equal on the schedule may produce very different cost outcomes depending on who ends up covering what. Trades are also mutual obligations. A firefighter who accepts a trade is committing to cover the return shift, and departments cannot simply treat trades as administrative paperwork without tracking their downstream effects on staffing flexibility.
Overtime loading near retirement. Senior firefighters approaching retirement in many departments have a financial incentive to accumulate overtime hours because final compensation calculations factor into pension benefits. These firefighters are often among the most expensive hourly earners in the department. When they are consistently the ones filling vacancies, the cost per filled shift is higher than it would be with a mid-career firefighter or a floater working regular hours. This pattern is structural and measurable in payroll data, but it is rarely visible in real time because most departments are not tracking overtime concentration by individual.
Sick and workers' comp backfill. Most departments track workers' comp absences and sick leave. The gap is in who backfills those seats. A firefighter on workers' comp approaching their 30th day is typically nearing the transition to personal sick time, which changes the department's coverage obligations. The same cost dynamic applies to chronic sick leave patterns. When the same seats are repeatedly backfilled by senior firefighters on overtime rather than by personnel working regular hours, the gap between what the department budgets and what it actually spends compounds shift by shift. Knowing which positions are being backfilled, by whom, and at what rate is what gives a department the ability to act on it before it has been running for weeks.
Standard payroll reporting is retrospective. By the time a department sees that overtime ran over budget last month, the decisions that caused it are two or three pay periods in the past with no intervention point left.
Linear budget tracking makes this worse. Comparing the percentage of the overtime budget spent against the percentage of the year elapsed only works if overtime is distributed evenly across the year, and in fire departments, it never is. Overtime spending is heavily seasonal, concentrated in summer months and around major holidays when call volumes are highest, mutual aid deployments increase, and vacation usage peaks simultaneously. A department that has spent 30 percent of its overtime budget by April may look fine against a linear projection and be in serious trouble once June arrives.
Comparing total spend against what month it is tells you nothing useful. What matters is how the current pace of spending tracks against the same point in prior years. A department that spent 28 percent of its overtime budget through April last year and is at 38 percent this year has a problem it can still act on, if it can see it. Most cannot, because that comparison requires pulling historical data from payroll and manually constructing the comparison. Departments managing 10 or more systems do not have time to do that before every staffing decision.
This is where the distinction between dashboards and alerts matters most. A dashboard that shows current overtime spend is useful when a chief has time to sit down and review it. The chiefs who most need to catch overtime trends early are also the ones with the least time to proactively check one more system. An alert that fires automatically when the overtime budget crosses a threshold calibrated to historical seasonality does not require anyone to remember to check anything. It finds the person who needs to know, at the moment when there is still something they can do about it.
This is the actual "what do I do" of any serious effort to control overtime costs, and it is underserved by every approach that relies on passive data visibility. Departments that configure proactive alerts around their actual spending patterns stop being surprised by payroll reports.
Some of what drives overtime costs is deeply embedded in collective bargaining agreements and seniority structures that departments cannot quickly change. Shift trade policies, overtime rotation rules, and pension calculation formulas reflect years of negotiated agreements. That context matters, because anything that amounts to "renegotiate your CBA" is not actionable advice.
Look at sick leave first. Applied research submitted to the U.S. Fire Administration consistently identifies sick leave as the primary driver of overtime in most departments, outpacing injuries, vacancies, and shift trades combined. If sick leave is the main driver of your overtime callouts and you are focused on the calldown process, you are optimizing the wrong variable. The first thing to do is pull sick leave usage by individual and look for patterns: clustering around Mondays and Fridays, absences that consistently stay just under the threshold that triggers documentation requirements, absences before or after scheduled training days. These patterns are identifiable in existing payroll data, today, without any new software. What the research shows consistently is that when the financial incentive to call in sick diminishes, usage drops. The same principle applies to workers' comp patterns. Pulling both alongside each other gives a clearer picture of where backfill costs are actually coming from.
Build a sick leave incentive and stick to it. The FLSA gives departments more room here than most realize. Structuring an incentive as paid time off rather than a cash payment means it carries no regular-rate implications under the FLSA. A 2020 analysis on FirefighterOvertime.org confirms that a department giving firefighters who use less than 72 hours of sick leave in a calendar year an additional 24 hours of paid leave the following year is fully compliant. Implementing that structure requires an agreement rather than a full CBA renegotiation, which is a meaningfully lower bar.
Align your FLSA cycle to your pay period. Most departments run their FLSA work period on a different schedule than their pay period, which means overtime calculations have to be done retroactively every time payroll runs. A 24/48 department that aligns both to a 14-day cycle knows exactly what overtime was generated the moment payroll processes. The calculations are already done. Departments that have made the change stop asking payroll what happened and start knowing in advance. It requires a union agreement to implement, but it is one of the more impactful administrative changes available to a fire chief who wants to get ahead of overtime costs.
Budget to your actual relief factor, not to your headcount. Every department has a relief factor, which is the percentage of scheduled personnel who will be absent on a given shift due to vacation, sick leave, workers' comp, training, and other leave. A San Francisco Fire Department budget audit found a relief factor of 21 to 25 percent, which translates to needing between 1.21 and 1.25 people budgeted for every seat that needs to be filled daily. A department budgeting overtime against 100 percent availability when the real number is 75 to 80 percent will be wrong every year. Pull three years of absence data across all leave categories, calculate the average daily absence percentage, and use that as the basis for your overtime budget rather than optimal headcount. That number can be defended to city finance with actual historical data behind it.
Manage vacation slots by shift. When too many personnel take vacation on the same shift simultaneously, overtime is mathematically guaranteed regardless of anyone's intentions. Departments that have the administrative discretion to set a hard cap on concurrent vacation approvals per shift can eliminate a predictable source of overtime before the shift is ever posted.
Check overtime distribution before budget season, not after. Many MOUs already require equitable distribution of overtime opportunities. Running a simple sort of payroll data by individual (how many overtime hours each person worked in the last 12 months) takes less than an hour. If 15 percent of the department is generating 60 percent of overtime hours, that concentration is worth examining before the pattern continues for another year. Prior year data is already available, so the comparison can be made before this year's numbers are even final. It may reflect legitimate factors around specialty certifications and shift needs. It may reflect retirement-adjacent loading. Either way, a chief who brings that data to a budget conversation is standing on firmer ground than one who can only report a total dollar figure.
Alert, don't monitor. The last lever is visibility, and the distinction between passive and active visibility matters. A dashboard that shows current overtime spend is useful when a chief has time to open it. An alert that fires automatically when overtime spending tracks above the historical seasonal baseline for that month does not require anyone to remember to check anything. It finds the person who needs to know at the moment when there is still a decision to be made. By the time most departments see an overtime problem in a payroll report, the decisions that caused it are two or three pay periods in the past. An alert that fires before that point, tied to seasonality-adjusted thresholds, workers' comp duration, or individual overtime concentration, closes the gap between when the problem starts and when someone with authority to act on it finds out.
Most legacy staffing systems do not make the information above available in a form that supports real-time decisions. Roster data lives in one place, timekeeping lives in another, and payroll lives in a third. Getting a clear view of what a vacancy costs, who has the right certifications to cover a specialty seat, or where the overtime budget stands against historical patterns typically means pulling data from multiple systems after the shift is already over.
Stationwise connects these disparate systems. The hiring engine automates calldowns based on the department's unique staffing list rules, working voluntary lists before mandatory holds, applying certification eligibility at every step, and keeping a complete audit trail of every action. Vacancies fill at the right tier, in the right order, without the battalion chief manually working through a call list.
Shift trade tracking keeps hours balances current, so trades do not silently create overtime liability. When a trade is logged, both firefighters' hours update in real time. If the trade creates overtime exposure for either party in their current work period, that is visible before the shift rather than appearing as a surprise on a timecard review.
For budget visibility, departments can configure alerts tied to specific spending thresholds and calibrate those thresholds against their own historical seasonality data. The alert finds the right person at the right moment. The battalion chief dashboard puts vacancy status, staffing coverage, and budget position in one place so that by the time the payroll report arrives, nothing in it should come as a surprise.
Fresno County FPD's battalion chiefs save 2 to 3 hours per week since moving to Stationwise, time that previously went to manual callout workflows and reimbursement tracking. Those 2 to 3 hours go directly toward monitoring the patterns above rather than chasing paperwork.
Firefighter overtime is an availability problem, a qualification tracking problem, and a visibility problem. All three have operational solutions that do not require going back to city hall for more headcount or budget.
To see how Stationwise handles overtime callouts, shift trade tracking, and real-time budget alerts for your department, book a demo.