EVERY YEAR, the city's chief financial officer trots a ponderous document before the Portland City Council: an unending series of lists and charts and ledgers detailing Portland's fiscal health.

This is the Comprehensive Annual Financial Report (CAFR) and it's reliably ignored. But last week, as CFO Ken Rust laid out the latest edition, he offered some good reasons for people in council chambers to look up from their smartphones (ahem, city commissioners included).

For one, Rust had made this year's report easier to follow by offering a series of color-coded dots to denote key components of the city's financial outlook. Portland's prospects for transportation and parks infrastructure, which face funding shortfalls, are an angry red. Utilities infrastructure is holding steady at a serviceable yellow. Only the police and fire retirement fund is an optimistic green.

More compelling than the dots was Rust's message about them: For all the sunny fiscal news Portland's had recently, there are money-sucking twisters on the horizon.

Consider: The city's about to enter a budget year that accounts for some of the fastest economic growth in decades, yet there's a lot of sullenness to go around.

Mayor Charlie Hales, remember, has asked most bureaus to find 5 percent cuts in order to accommodate spending on the city's housing emergency. That has Portland Parks and Recreation talking about closing a pool (Buckman—always Buckman), slashing recreation center hours, and eliminating the popular Movies in the Parks program. The Portland Police Bureau is threatening to chop something like 80 positions assigned to traffic enforcement, domestic violence cases, and Portland Public Schools. Those are just the bureaus I've had the chance to look at.

This May, Portlanders will vote on a four-year, 10-cent local gas tax that would partly remedy the city's transportation funding shortfall. But parks, public pensions, and rising employee costs—all of which have negative outlooks—would be unaffected.

So even though Rust says the city's in "good health," he offers a bleak prediction.

"If we don't take action, we're going to be in a position of chronic budget shortfalls and reductions," he told the commissioners. "If we're not careful... we're going to be in this position every year."

Solutions won't be simple. Well, except maybe one.

"The easiest source of new revenue is simply to have people pay what's owed to us," Rust noted last week. I followed up via email, and the CFO sent me a list of millions upon millions the city's leaving on the table: Roughly $32 million in parking tickets that haven't been paid (equivalent to two years of a gas tax), more than $5 million in business taxes that aren't handed in each year, and "several million" in fines and fees that the city could be collecting from property owners.

That's almost $40 million, for starters. Rust says not all of it will be collectible. He says it's time to try.

"We're asking people to pay more and more," he says, "when we have people who haven't paid for things they should have paid us for."