How Microsoft Streamlined Visibility into Cash Flows
Treasury and finance teams developed a new, automated platform that provides actionable liquidity insights to corporate leadership.
When Microsoft’s leadership team is making strategic business decisions, they want information about cash flows from operations. “There is a great deal of scrutiny around cash flow from operations and free cash flow generation for a company like Microsoft, so visibility into drivers of cash flows is crucial,” says Shreyas Kulkarni, who, until a recent change in role, was the group manager for reporting and business insights on Microsoft’s Global Treasury & Financial Services (GTFS) team. But historically, liquidity information was a bit opaque.
Like many of its peers, Microsoft used the indirect method, as permissible under generally accepted accounting principles (GAAP), to determine cash flow from operations. “The traditional way of analyzing cash flow is based on changes in account balances across different drivers, which is used to prepare analyses around cash flow from operations,” says Kulkarni.
“But changes in A/R [accounts receivable] and aging don’t clearly reflect how billings convert into cash,” Kulkarni continues. “Looking at bank account activity to determine a company’s cash inflows and outflows has limitations. Because of Microsoft’s size and scale of operations, we have a lot of accounts, and getting balance information requires collaboration with a lot of different teams.” Collecting the bank data took time, as did ensuring that each team’s data used consistent assumptions and was ready to be slotted into the corporate cash flow framework.
As a result of these challenges, “it was difficult to provide actionable insights to Microsoft leadership to understand what was actually driving cash flows,” Kulkarni says. “We could see what we collected in our accounts, and we could see our billings, but we couldn’t really say why we were collecting more or less in a particular time period.”
Although the company will continue to use the indirect method for reporting cash flow from operations for quarterly and annual filings, Microsoft’s GTFS and Central Financial Planning & Analysis (CFP&A) teams considered their options to move toward a more direct method of measuring cash flows to better support internal management decisions and reviews. They wanted to streamline processes for gathering data around customer collections, supplier payments, and taxes.
For collections, one objective was to gain a real-time view of revenue flows into A/R accounts and ending in cash, Kulkarni says. “Another objective was to provide better intelligence that leadership could use, like understanding the impact to Microsoft’s cash flow of business decisions such as timing of invoicing, changes in sales motion or operational processes, and acquisitions.”
In addition, he says, “we wanted to gain these insights in a systematic way, with one source of information, eliminating the need for different teams and geographies to come up with these analyses. At the same time, we didn’t want to pigeonhole ourselves. We wanted to build a framework that would be dynamic for measuring and explaining Microsoft’s year-over-year growth story.”
Dennis Crispin, director of business intelligence in the GTFS group, had conceptualized the idea of using A/R general ledgers (G/Ls) and subledgers to extract insights; he shared the idea of offset accounts with Kulkarni. Together, they recognized that the best source of all this information would be Microsoft’s SAP enterprise resource planning (ERP) system. “SAP contains all our A/R G/Ls and subledgers,” Kulkarni says. “Still, getting that cash flow information was not going to be simple. Microsoft has hundreds of thousands of customers and billions of transactions in multiple SAP instances. We needed a creative solution to get the crucial cash flow data in one place. And we didn’t want to invest millions of dollars in this; we wanted to use technology we already had.”
A small and agile project team was put together with representatives from Microsoft’s GTFS, CFP&A, and Finance Engineering groups to build what the company now calls “The Flow Model.” Along with Crispin and Kulkarni, who led the business intelligence and insights aspects of the project, the core team consisted of only a handful of individuals: Scott Masters, principal program manager, was the project manager. Shyamala Kuppusamy, principal software engineering manager, led the engineering implementation. And Justin Surina, senior finance manager, led the business testing and execution effort. The team decided to leverage double-entry accounting to categorize transactions from a subject account or group of subject accounts using the offsetting entries.
“Essentially, A/R is considered as a subject account, and the corresponding debits or credits to the subject account are considered as offsetting items,” Kulkarni explains. “This allows us to visually see the accounting flows and classify each item into categories such as cash, revenue, tax, write-offs, or other types of adjustments.
“We worked with corporate accounting to identify all the G/Ls and subledgers that make up our A/R balance,” Kulkarni adds. “There are a few complexities that make it difficult to tie billings directly to cash, especially due to intercompany transactions. As a result, we came up with a set of assumptions by identifying patterns that eventually convert billings to cash. Through this groundwork, we addressed 90 to 95 percent of these complexities before the tool was even built.”
Then the Finance Engineering team got to work. “The sheer volume of data was a huge challenge,” Kuppusamy says. Microsoft receives about 150 million high-dollar-value payments per quarter and has about 1.5 billion subledger line items for lower-value transactions each quarter. “Moving all this data from our SAP instances into a data lake for processing was a pain point. We had to not only aggregate the information, but present it in a meaningful way for users to consume so they can drill down into the transactions anytime there is an issue. There were a lot of complexities involved in ensuring that the cash collected is accurately represented in this data.”
The team leveraged Apache Spark as the framework for solving this big-data challenge and utilized Azure Databricks for compute processing. Every day, cash flow data is transformed, aggregated, and stored in an Azure data lake, then funneled through Azure Analysis Services so that users can perform interactive, self-service analyses using PowerBI.
“We could not have done this five years ago,” Masters says. “The cloud architecture and data lake, which enable us to add more virtual machines whenever we need more horsepower, made a huge difference.”
The developers added row-level security in Azure Analysis Services to restrict user access to the data. And they developed reconciliation controls that help maintain data integrity and quality, ensuring that financial metrics within The Flow Model reconcile back to the books of record. “We pull in G/L trial balances from our source systems to ensure that all these transactions are accurate in terms of the data we are posting,” Kuppusamy says. Reconciling to the books of record increases the GTFS team’s confidence in the accuracy of the data.
“It is important to note that this process happens every day,” Masters points out. “It takes someone about four hours of processing, but then the business can go in and see prior-day numbers, which is super important.
“Microsoft is extremely diverse in terms of our offerings,” he adds. “The cloud business has a very different cash flow profile than the devices business, which is very different from the Windows business. The Flow Model precisely measures cash flows, then gives us the ability to slice that data by Microsoft business unit or product.”
By dramatically enhancing visibility for Kulkarni and the GTFS team, The Flow Model prepares them to update Microsoft leadership about drivers of the company’s liquidity. It also enables them to set up consistent and measurable key performance indicators (KPIs). “When transactions hit subledgers and change A/R balances, The Flow Model shows us all the things that actually impact our cash flows,” Kulkarni says.
“It aggregates the data, then enables us to drill down to explain why collections grew at a certain pace compared with billings,” he continues. “It also helps us figure out the movement between A/R and all the other line items in the offset groupings. For example, we can look at when in the quarter the billings were posted, when payments were due, and what percentage of that was revenue versus tax. Then we can do some intelligent analysis, such as comparing across time periods: If billings increased by $X billion year-over-year, did collections increase at the same rate?”
“Then we can go back to the operations and business teams and give them insights about the impact of their decisions on cash flows,” Kulkarni says. “If a metric like average collections velocity is deteriorating, we can go to the collections operations team and find out why that is happening for a particular business unit or region. Are their disputes growing? What can we do?”
Those conversations could lead to faster payments and a shorter cash conversion cycle for Microsoft. “With enriched insights, operations teams can focus on drivers that may impact cash flows, like diverting resources during the quarter to focus on businesses or geographies that are lagging behind on some of the KPIs,” Kulkarni says. “That is one way we use this data to unlock cash flows. Another example would be using these insights to drive conversations with business teams to standardize payment terms offerings to customers, or to assess the impact to cash flows due to changes in sales motion before a program is launched. This provides finance teams with some comfort and direction on how such changes will impact financial metrics, and it reduces surprises and churn during critical quarter-end cycles.”
The team is now managing the next phase of the project, which involves pushing access to cash flow data out to operations managers. “We will complete that within the next six months,” Masters says. The team is also working to apply the Flow Model concept to supplier payments, taxes, employee payments, interest payments, and so on, in an effort to compile a direct-method cash flow statement with enriched insights.
“Prior to this project, we had to coordinate with many teams and spend many hours preparing analyses for leadership reviews—not only to compile the data while ensuring accuracy, but also to identify areas where cash flows may be lagging,” Kulkarni concludes. “After close, it would take us 7 to 10 days to provide a cash flow analysis. Today, as soon as the last G/L is closed, we can immediately dive into the model and start working directly on analysis instead of worrying about where the data came from. The timeliness of data analysis is the biggest advantage of this project.”