New audit finds $332M is left idle in San Francisco's work orders

Published April 29, 2025

New audit finds $332M is left idle in San Francisco's work orders

A recent audit found that $332M meant to pay for expenses from other city departments is left unused in city accounts. Over half of the sampled agreements also had no written contract, were frequently months late, and lacked any performance checkpoints.

The Facts

An audit released on April 28 2025 looked at five years of “work orders,” the system San Francisco uses when one city department pays another for services like legal help, fleet repairs, or tech support. Between 2019 and 2023 the city consistently over-budgeted these deals, setting aside $53 million to $80 million more than it actually spent each year. By the end of the 2022-23 fiscal year, money left idle in these accounts added up to $332 million—about 10% of all funds budgeted for work orders.

Auditors found that half of the 48 sampled agreements had no written contract, most bills reached departments only every three months, and some City Attorney invoices arrived roughly three months late. They issued 24 recommendations, such as creating real-time tracking in the city’s PeopleSoft system, requiring short contracts with performance checkpoints, and tightening rules on carrying money forward. City finance officials said they agree with almost all of the fixes.

The Context

Work orders have been around for decades, but a big change came in 2017 when the city replaced its old accounting software with PeopleSoft. During that switch the unique ID number that once linked every work order to its spending vanished. Since then departments have relied on homemade spreadsheets to track costs, which makes errors and blind spots likely. Because many large work-order charges—utility bills, IT infrastructure, legal services—are “centrally loaded” into the budget without negotiation, supervisors reviewing the budget for just a few weeks each summer rarely dig into whether the numbers make sense.

When departments spend less than planned, the leftover cash often rolls into the next year instead of returning to the general pool where it could support programs like youth recreation or street cleaning. Delayed quarterly bills add another layer of fog: departments may not realize they are overspending or underspending until the fiscal year is almost over, leaving little time to course-correct.

Our Take

We believe the city should adopt the audit’s changes right away. Live tracking would show every department, at any moment, how much of a work-order budget is left. We need much greater transparency with where money is spent.

Sign up for the GrowSF Report!