Automating expense reporting at Microsoft boosts employee experience

Feb 26, 2021   |  

Automating expense reporting is saving the day at Microsoft.

Like everywhere else, filing expenses has long been a chore most employees at Microsoft sought to avoid.

And the numbers back that up.

Instead of spending their time developing new technologies, Microsoft employees spend more than 500,000 hours per year itemizing and filing expense reports.

That’s about to stop.

The team that manages expense report filing in Microsoft Digital at Microsoft has a plan for eliminating 70 percent of that effort.

What’s their plan?

Automating expense reporting.

Ask about filing expense reports at Microsoft, and it seems everyone can recall a horror story of tedium, whether scanning endless receipts, calculating currency conversions based on different daily exchange rates, or manually entering the individual names of 25 employees attending an off-site to cover coffee.

Worse, many times they have to use three different tools to get the job done.

With such high figures of lost productivity—and employee dread—it’s no wonder the Microsoft Finance Management team saw potential for major improvement.

“Because the experience was pretty bad, the confidence we had that we could solve complex business problems with engineering solutions led us to improve the user experience,” says Sumeet Deshpande, a principal software engineering manager who led the effort for Microsoft Finance. “We decided to show what the power of AI, machine learning, and end-to-end automation can be.”

[Find out how Microsoft is creating efficiencies in finance with Dynamics 365 and machine learning. Learn more about how Microsoft automates revenue processes with Power Automate.]

Engineering over policy and process

Like many innovations at Microsoft, the launch pad for the automating expense reporting project was born out of the Microsoft annual Hackathon, an event where employees are encouraged to gather to develop breakthrough ideas. In this case, the Microsoft Finance engineering team used the 2019 hackathon to successfully prove that they could use automating expense reporting as a solution to relieve one of the company’s biggest employee pain points.

With leadership support in hand, Deshpande’s team laid the groundwork by identifying the most painful steps in the expense filing process. They then bucketed them into a dozen different engineering problems to solve.

One of the biggest challenges was the fact that expense filing processes varied greatly across regions and countries. Even more challenging, all these systems were implemented across multiple expense tools.

Extensive research to track down original policy decisions that regulate what an employee is allowed to expense revealed a pleasant surprise, though, says Sahil Garg, principal director of software engineering for several domains of Microsoft Finance.

“We found that 90 percent of the processes were common across countries,” Garg says. “They looked different, but they could actually be standardized.”

The next key piece on the way to a pilot launch was to identify the easiest and lowest-risk expense transaction categories that would begin teaching the machine learning (ML) models. For this, they turned to Microsoft’s “road warriors”—employees who travel frequently and have highly categorical and predictable expenses, such as airfare, taxis, and hotels.

“These are also people who need to file a lot of expense reports,” says Amruta Anawalikar, senior program manager for Microsoft Finance. “One person said that creating a report is so long and tedious, they have to put on a ‘Game of Thrones’ episode, and that’s the only way they can get it done. That really struck a chord with me—we want to ease that pain.”

It required a lot of experimentation, and how we thought of things theoretically wasn’t necessarily possible. But now we feel there’s a fully-tuned solution.

– Sumeet Deshpande, principal software engineering manager, Microsoft Finance

Drawing on data from two primary sources of truth—receipts and credit card transactions—the engineers made the decision to take a “receipt first” approach to automation. Whereas credit card data may take a couple of days to flow in, receipts are generated immediately upon a transaction, which makes this the most expedient initial input.

Finally, the team brought in other technologies that were readily available to them within the Microsoft Azure stack, integrating them together on the Microsoft Dynamics 365 business platform. Optical Character Recognition (OCR) technology would help scan the receipts and extract data, then apply Natural Language Processing (NLP) and Azure ML models to provide context and meaning to the data.

“All of these tools at our fingertips allowed us to build an enterprise-level expense system,” Deshpande says. “It required a lot of experimentation, and how we thought of things theoretically wasn’t necessarily possible. But now we feel there’s a fully-tuned solution.”

UnXpensing expenses

The new way of filing expense reports at Microsoft is to not file an expense report at all.

“As engineers, we want to make life easier for all of us,” says Chinmaya Rath, a senior software engineer and lead developer for expense automation who coded much of the solution now called OneExpense. “Why does the employee have to go to a tool? Let’s bring it to them, and let’s make it a nearly touchless experience.”

Now, when an employee makes a purchase on their corporate credit card, they immediately get an alert via Outlook Actionable Emails (or wherever they want to receive their alerts).

A familiar user interface meets the employee wherever they are, thanks to the use of Microsoft Adaptive Cards which uses small snippets of UI code that can adapt to any environment. This taps into the power of multiple enterprise scale platforms Microsoft offers, like Microsoft Outlook, Microsoft Teams, or an internal employee app known as MyHub.

It’s all about letting employees choose the experience they like best.

The system reads the receipt, auto-populates an expense line for it, intelligently applies the appropriate cost category, and sends it to the employee for review. The employee can make any necessary adjustments and submit it then and there. Or if they take no action, the system automatically submits the expense four days later.

“Instead of asking the user to go do one big boring monolithic report in the expense tool, we have broken the experience into smaller, logical micro-actions that happen in context,” Deshpande says.

In addition to taking the compliance burden off employees, the team needed to build employee confidence and trust into the system while keeping employees compliant with corporate expense rules.

So, the machine learning is trained to detect anomalies by applying a line-level confidence score to each transaction. Only high-scoring expenses are submitted automatically, while low-scoring items are flagged to the employee or their manager for additional review.

“We found an intelligent way to only submit the pieces that make sense,” Garg says. “And our intelligence grows stronger all the time.”

For example, a $500 coffee charge may raise a red flag, but when cross-referenced with other API inputs, such as a Microsoft Outlook calendar item for a large off-site, it could make sense. By shifting the auditing process from manual work to automation, the system is expected to meet greater compliance levels than ever before.

Configurability was also key to creating a smooth experience.

“We recognize that employees want flexibility,” Rath says. “Maybe they want to be notified for individual transactions, while others just want to see them all at the end of the day or week.”

So Rath and the team created functionality allowing employees to set preferences to automatically bundle transactions according to a particular category or timeframe.

“Let people spend money where they need to,” Garg says. “On the back end, we’ll intelligently connect the dots. Expense as an entity is gone.”

A complex expense report that would have taken someone at least 40 minutes to complete can now be done in less than five minutes. Overall, this time reduction is estimated to translate to $50 million in potential soft-dollar savings each year.

“We just eliminated ‘complex’ from the expense dictionary,” Deshpande says. Deshpande even has a new word for it: “UnXpensing.”

The road to nirvana

There is still much work to be done.

After the pilot phase, the new OneExpense experience is ready to be rolled out to all 140,000 Microsoft expense users. As the system continues to learn and get smarter, Deshpande and their team are dreaming bigger about what automating expense reporting will allow them to do.

Some of that includes refinements, such as standardizing hotel inputs and tackling the variety of evolving receipt categories the system might encounter. In the future, actionable alerts will be extended to additional platforms such as Microsoft Teams, Cortana, and the employee MyHub mobile app.

The team is also working on further reducing the attention required by managers and approvers by applying those line-level confidence scores to document headers for easier reference.

Pooja Sund, a principal program manager who recently joined the effort to help roll OneExpense out company-wide, says the beauty of OneExpense is just how limitless it is.

“We have gone above and beyond just solving the problem,” Sund says. “We’re building on the big bets like the goodness of the Azure stack and building layers of flexibility on top of it.”

Deshpande says that means potentially extending the framework beyond expenses.

“This can work for any employee reimbursement scenario at Microsoft,” Deshpande says.

Plus, thanks to the inherent agility built into the Dynamics 365 platform, the system has no external dependencies, says Mohit Jain, a senior software engineer and lead developer for Expense automation.

“It doesn’t matter which expense platform you’re working on top of. It works with any expense solution on the market that offers an API,” Jain says. “Dynamics 365 is great in that way—it has a very future forward-looking architecture.”

Down the road, Sund says, there is broader potential for automating corporate expense reporting at enterprise level.

“We’re connecting different siloed teams and tools, building on big bets and the goodness of the Azure stack,” Sund says. “You’re not just creating new experiences for our internal employees. You can leverage that functionality and power, take the feedback you get, and bake it into the product so you can take it outside. That will be the nirvana state.”

The team really embraced that entire mindset of creating delight, meeting the user where they are, being compliant and secure by design, and getting the human out of the loop. That cultural work we’ve done pays off with this kind of innovation.

– Brad Wright, director of software engineering, Microsoft Finance Management

For the Microsoft Finance team at large, this larger automating expense reporting opportunity represents more than just a major accomplishment in redefining an age-old corporate process.

This transformation is also about pride of ownership.

“The team really embraced that entire mindset of creating delight, meeting the user where they are, being compliant and secure by design, and getting the human out of the loop,” says Brad Wright, director of software engineering for Microsoft Finance Management. “That cultural work we’ve done pays off with this kind of innovation.”

Find out how Microsoft is creating efficiencies in finance with Dynamics 365 and machine learning.

Learn more about how Microsoft automates revenue processes with Power Automate.

Tags: , , ,