Detroit Spent $6.35M Patching Payroll Errors -- Then Ignored the Fix
Summary
Detroit paid $6.35 million through error-driven "supplemental" payroll runs over a two-year audit period, a workload the city's own finance office estimates burns roughly a full-time employee's worth of staff hours every year just to process. A statistically significant sample of payroll transactions found 29% had unsupported or improperly documented pay. When the Auditor General delivered 23 fixes, the city's Action Plan answered 17 of them "No Action" or didn't address them at all. Then, in August 2025, the Auditor General discovered her own employee had been silently overpaid for a full year by the same payroll system -- a synchronization bug the city does not expect to fully fix until 2028.
An off-cycle fix that costs the city an employee every year
Supplemental pay runs exist to catch employees the normal payroll cycle missed -- usually because a supervisor didn't approve hours in time, or HR didn't process a change. Detroit's finance office, the Office of the Chief Financial Officer (OCFO), told auditors it estimates each supplemental run costs about $62.50 to $63 to process, for a total re-work expense of roughly $64,000 to $64,260 a year. The bigger cost is staff time: at an estimated 52 hours per run and 26 runs a year, that's almost 1,400 hours annually.pdf) -- work the auditors concluded amounts to losing roughly a full-time employee's worth of labor every year just to correct payroll mistakes that shouldn't have happened in the first place.
Five departments, most of the money
The $6.35 million wasn't spread evenly. Five departments -- Fire, the Department of Transportation (DDOT, which runs the city's buses), Police, General Services and the Public Library -- account for $4.99 million of it, 78.5%. The Fire Department alone is responsible for $2.84 million, 44.7% of the total, across 3,049 separate off-cycle payments.
View data as table
| Detroit Fire Department | $2.84M | 3,049 transactions |
|---|---|---|
| DOT (buses) | $1.13M | 1,268 transactions |
| Police Department | $0.50M | 419 transactions |
| General Services | $0.26M | 419 transactions |
| Public Library | $0.26M | 277 transactions |
| All other departments (24) | $1.36M | remainder |
Nearly a third of sampled pay had something wrong with it
Beyond the off-cycle runs, auditors built a random sample of 110 payroll transactions -- statistically significant at a 90% confidence level with a margin of error of plus or minus 10% -- covering 109 employees across 26 different bargaining units. After setting aside 4 transactions ruled out of scope, 31 of the remaining 106, 29%, had one or more elements of compensation that were either undocumented or paid in a way that didn't match the relevant collective bargaining agreement; 14 of those 31 involved Police or Fire employees and were held for a separate, still-pending interim report. Separately, auditors analyzing every payroll transaction in the two-year period found more than 10,000 transactions -- roughly 82,000 hours' worth -- where an employee was paid for more than 80 hours of combined regular time and paid time off within a single two-week pay period, excluding overtime. The problems weren't abstract to employees, either: the city logged more than 16,000 payroll complaints in just one year of the audit window, July 2022 through June 2023, with the monthly complaint rate showing no sign of improving.
The city's own watchdog got caught in it too
The audit's starkest illustration of the underlying problem involves the Auditor General's own staff. In August 2025, the Auditor General discovered one of her employees had been paid the wrong hourly rate for an entire year, from August 2024 through August 2025 -- $31.46 an hour instead of the correct $29.39. The cause: Detroit's payroll system, UltiPro, keeps pay rates in two separate tables that are supposed to stay synchronized -- one in the HR system, CORE, and one in the time-and-attendance module, UTA. A pay increase for the employee had been requested, denied, then partially reversed after an HR staffer had already entered it into both systems; the reversal only took in CORE, not UTA, and payroll runs off the UTA number. Neither HR, the OCFO, nor UltiPro itself could identify why the two tables fell out of sync, and the city's planned fix -- eliminating the dual-table setup entirely -- is not expected to be finished until 2028.
A second discrepancy auditors examined shows how the same ambiguity can cut the other way. A Detroit Fire Department employee who arrived late to a shift and then worked past its end to make up the time was paid the department's "high" hourly rate of $34.95 instead of the "low" rate of $8.81 -- nearly four times as much. The fire union's labor agreement sets both rates but doesn't specify when each applies, and neither the OCFO nor the Fire Department could explain the criteria. As Stout's auditors put it, the employee "is incentivized to arrive late and stay late" rather than work his normal schedule.
Most of the fix, refused
The Citywide Report -- finalized November 17, 2025, more than two years after the audit period it covers had already ended -- laid out 23 recommendations, most of them aimed at replacing manual payroll processes with automated controls: integrating police and transit time-and-attendance systems directly into the payroll platform, building electronic documentation for manual pay overrides, and creating consequences when departments don't follow time-reporting procedures. The OCFO and HR's joint Action Plan, dated December 18, 2025, included real implementation plans for only 6 of the 23. For the other 17, the Auditor General's office found the response was either "No Action" or simply didn't address what was recommended. In a January 30, 2026 rebuttal, the Auditor General wrote that the combined response "is neither an action nor implementation plan that addresses the systemic issue," and noted that the OCFO and HR jointly administer approximately $1.3 billion in city payroll every year -- a scale, the office argued, that makes the departments' resistance to basic controls hard to justify.
- Off-cycle fixes cost Detroit about a full-time employee's worth of labor every year. $6.35 million moved through 6,811 error-driven "supplemental" payroll runs over two years -- work the city's own finance office says takes roughly 1,400 staff hours annually to process, on top of the pay itself.
- Nearly a third of tested pay had something wrong with it. A statistically significant sample found 29% of transactions had undocumented or contract-inconsistent pay, and more than 82,000 hours of pay exceeded the standard 80-hour biweekly period -- with 16,000-plus employee complaints in a single year of the audit window.
- The city rejected most of the fix, then the problem hit its own watchdog. Detroit's Action Plan gave a real answer to only 6 of 23 recommendations. Months later, the Auditor General found her own staffer had been overpaid for a full year by a payroll-system bug the city won't fully resolve until 2028.
All figures come from the City of Detroit Office of the Auditor General's January 30, 2026 Second Interim Report on the Citywide Payroll Performance Audit, a consolidated document combining the Auditor General's Executive Summary, Stout Risius Ross LLC's November 17, 2025 Citywide Report, the OCFO/HR Department's December 18, 2025 Response Letter and Action Plan, and Stout's January 30, 2026 Response Report rebutting that plan; read in full via direct PDF fetch and pdftotext extraction. An archive.org Save Page Now request did not complete at the time of this iteration; the direct detroitmi.gov URL serves as the one-click original.
The department-level percentages (44.7% for Fire, 78.5% for the top five departments), the 73.9% recommendation-rejection rate, and the 0.49% ratio of supplemental payments to total annual payroll are this outlet's own arithmetic on the audit's own figures (methods and caveats in analysis.json); the report states each underlying number individually but does not itself state these derived shares. The report's own claimed "average value of $1,533 per payroll transaction" for the supplemental total does not match dividing $6,353,044 by 6,811 (which yields roughly $933) -- an apparent inconsistency in the source document itself -- so that average is omitted from this piece rather than repeated. The report's "29%" sample figure is properly footnoted: Stout excluded 4 of the original 110 sampled transactions as out of scope, then divided 31 unsupported transactions by the resulting 106 (31/106 = 29.2%, rounding to 29%) -- this piece states that adjusted basis rather than the raw 110. A blind adversarial verifier, working from the primary document alone with no access to this draft, independently checked every itemized fact; see verification.json.
Sources(1) ▾
- City of Detroit, Office of the Auditor General, Second Interim Report, Citywide Payroll Performance Audit (Consolidated Citywide and Response Reports) (2026-01-30) — The primary document: a 78-page consolidated report from Detroit Auditor General Laura Goodspeed to City Council and Mayor Mary Sheffield combining (1) the Auditor General's own Executive Summary, (2) Stout Risius Ross LLC's 'Payroll Performance Audit -- Citywide Report' dated November 17, 2025, (3) the OCFO/HR Department's Response Letter and Action Plan dated December 18, 2025, and (4) Stout's 'Payroll Performance Audit -- Response Report' dated January 30, 2026 rebutting that Action Plan. Source for the $6,353,044 in supplemental (off-cycle) payroll payments, the 29%-unsupported-pay sample finding, the 17-of-23-recommendations-rejected finding, the $1.3 billion annual payroll figure, the 16,000+ employee payroll complaints, the >80-hour pay-period overpayment analysis, and the Auditor General's own employee's year-long pay-rate error. detroitmi.gov · original document
Comments
Always open. Logged-in readers can annotate paragraphs in place.
A performance audit.pdf) from Detroit's Office of the Auditor General found the city paid $6,353,044 across 6,811 transactions through "supplemental" payroll runs -- off-cycle fixes for pay that went wrong the first time -- over the two-year period from July 2021 through June 2023. In a statistically significant sample of payroll transactions, 29% had pay elements the city couldn't document or that didn't match its own labor contracts. When the Auditor General handed the city's finance and HR departments 23 recommendations to fix the underlying problems, the departments' own Action Plan rejected or ignored 17 of them.