ACI Worldwide's fiscal second quarter is the first real test of the company's oldest and largest bet: converting a fifty-year-old on-premises payments-software franchise - the company that helps banks, merchants, and billers move money - into a cloud-native platform business at the exact moment the industry's center of gravity shifts to real-time payments. For years that conversion existed mostly in the future tense. This quarter, it produced proof points. Management enabled its cloud-native banking platform, ACI Connetic, across eight major U.S. payment networks and signed its first two U.S.-based customers for the platform - validation in the world's largest banking market that works as the centerpiece of a raised full-year outlook.
The financial quarter reads cleanly. Revenue rose 7% to $430 million (6% in constant currency), GAAP net income nearly tripled to $32 million from $12 million, adjusted EBITDA rose 12% to $91 million with net margin up to 34% from 32%, and management raised its full-year revenue and adjusted EBITDA guidance for the year. The headline number that matters most is adjusted diluted earnings per share of $0.54, up 54%. Behind that strength sat one piece of the ledger moving the wrong way: net new annual-recurring-revenue bookings fell 25% in the quarter, and the trailing-twelve-month figure was down 15%. The payment-software engine that drives the profit growth delivered, while the forward bookings gauge - the leading indicator that tells investors what the next two years look like - wavered on timing of big contracts.
That tension is the whole quarter. ACI is a heavier-software company than the market usually gives it credit for: its license and services bookings, at $255 million over the trailing twelve months, still hand it lumpy, back-half-weighted quarters. The raised guidance is real, and the Connetic wins are the first credible signal that the modernization story can convert. But the stock trades on a trajectory that assumes high-single-digit organic growth holds, and the bookings print is the number that will decide whether it does.