Developing a mobile solution for Microsoft

Developing a mobile solution for
Microsoft Treasury transactions
IT Showcase Technical Case Study
Situation
The Microsoft Treasury group initiates
thousands of wire payments each year. The
systems for wire transfer requests and
approvals required corporate network
access, had manual processes that were
labor intensive, and were difficult to audit
and maintain. The Treasury group needed
an easy, secure, and fast system that could
be used anywhere.
Solution
The Wire Request Tool was created to
initiate Microsoft Treasury group wire
requests and approvals across the cloud.
The cloud-based application, built for
phones, PCs, or tablets, integrates with bank
master data and defined spending
approvals, and supports multiple approvers
as necessary. Wire transactions can be
approved and processed without
interruption due to business travel or other
absences.
Benefits
 Increases productivity and reduces the
amount of time spent processing wire
payments
 Provides a secure method to approve
requests from anywhere
 Strengthens operational controls and
increases automation
Products and technologies
 Windows Phone
 Windows 8.1
 Microsoft Azure
 SQL Azure
Published August 2015
Microsoft IT and the Microsoft Treasury group partnered to
deliver a modern solution for wire requests and financial
approvals. The solution enables business to be conducted
securely through the cloud, increasing productivity and ensuring
that key transactions are approved rapidly and processed
efficiently.
Situation
The Microsoft Treasury group processes approximately 12,000 wire transfers a year,
representing the transfer of hundreds of billions of dollars. These transactions are
related to corporate treasury activity, strategic business investments and
acquisitions, tax payments, benefit payments, and payments for other goods and
services. Microsoft employees formerly submitted wire transfer requests in one of
two ways: they could complete a manual wire request and deliver it to the Cash
Operations team, or they could fill in a wire request form, created in Microsoft
InfoPath, and email it to the Cash Operations team. Either way, both processes
were time consuming and labor intensive.
After a request came in, the Cash Operations team would check to ensure that both
the requester and the designated approvers of the wire were Microsoft employees
and confirm that the wire amount was within each approver’s spending limits. If a
manual wire request passed the control checks, the Cash Operations team would
either manually create a payment request in SAP and wait for two more approvals
or use the InfoPath method to route requests to approvers.
The InfoPath method worked flawlessly when all data was correct, but any
inconsistencies meant that the request would go back to the requester, and they
would have to start over. InfoPath automatically routed wire requests to the
designated approver via email, which streamlined the process when all the data
was correct. But if, for example, the approver didn’t have an appropriate spending
limit, the Cash Operations team would have to route an already-approved
transaction back to the requester to designate a new approver and essentially start
over. Another challenge with using InfoPath forms was that they are not backward
compatible when changes are required.
Key executive-level approvals are often required during times that the approvers
were offline, travelling on business, or otherwise unavailable during business hours.
This slowed down the pace of business and added unproductive cycles to the
process.
The entire process was cumbersome. Paper wire requests would sit on people’s
desks, where they could potentially get lost, and email requests would sometimes
sit in people’s inboxes. After a request was processed, the Treasury team would file
Page 2
|
Developing a mobile solution for Microsoft Treasury transactions
the paper or the emails. When auditors needed to audit a specific transaction, they
would have to determine who had the documentation and where it was filed.
Solution
The Microsoft Treasury team looked at how they could make the end-to-end
process faster, easier, and more secure, and decided that the ideal process would
eliminate as many manual touch points as possible for the Cash Operations team.
They knew that they needed to create a solution that would be available to
requesters and approvers anywhere in the world. They had to be sure that they
didn’t fail any Sarbanes-Oxley (SOX) controls, and they needed to be more efficient
at managing the controls. There was also a crucial need to ensure that there was
backup documentation support for every payment request to assist auditors.
Microsoft Treasury worked with Microsoft IT to develop a new Wire Request Tool
for users to create wire requests. The tool validates wire transfer data and routes
requests to the Cash Operations team for approval. The system also stores all
related support documentation, tracks the different stages of approval process, and
after all the approvals are received, the wire request data is posted automatically
into SAP. It also provides additional efficiencies and controls to the business in
compliance with Microsoft accounting policies. Two distinct systems make up Wire
Request Tool:

A simple browser-based interface that leverages the accessibility of
Microsoft Azure. From any computer or mobile device, requestors can
securely enter their wire transfer request information, upload their
documentation, and view the status of any pending requests.

A Windows-based application. This is available for Windows Phone 8 or later
and computers running Windows 8 or later. On-the-go approvers can use this
system to view and approve or reject pending wire requests.
Approval process
For every step in the approval process, the status of the request is updated in real
time in the cloud.
Using the browser-based interface, a requester generates
a wire transfer request.
Approvers receive notification of a request in email and
on their phone.
Approvers can view, approve, or reject the request.
Requester receives notification of the approval or
rejection.
The Cash Operations team receives notification of the
approval to process the payment.
Figure 1. High-level request and approval process
NOTE: After the final approver signs off, a necessary operational control
validates information that the requester entered. Once approved, the wire
payment is uploaded into the company’s SAP ERP system where it requires a
second stage of approvals by two cash managers to meet SOX controls.
IT Showcase Technical Case Study
Page 3
|
Developing a mobile solution for Microsoft Treasury transactions
Wire Request Tool architecture
At a high level, the Wire Request Tool architecture consists of three layers:

User experience (UX). The UX includes both the mobile application and the
website.

Microsoft Azure. The Wire Request Tool is hosted as a web role on Azure. It
also contains SQL Azure as a database layer.

The corporate network. The Wire Request Tool Gateway Service
authenticates service calls from the web role and authorizes the Wire Request
Tool users for interaction with other systems including SAP and MS Authorize,
the system that manages spending limits.
Figure 2. Wire Request Tool high-level architecture.
Process flow
UX

When a user accesses the Wire Request Tool from a browser from the
corporate network, they are logged on automatically. When not connected to
the corporate network, they will be redirected to a logon page where they can
enter their credentials. Based on the user’s role, different operations can be
performed, including Create Request, Approve/Reject Requests, and View
Requests.

Windows Phone users can use the installed application to connect to the Wire
Request Tool and view their pending wire requests and their associated
uploaded files. The mobile application integrates to the MS Approvals system,
which allows approvers to approve or reject pending wire requests directly
from their phones.
Microsoft Azure

The Cash Operations team can retrieve or submit data to the on-premises SAP
system. SAP feed tables are synchronized from an on-premises database using
Azure DB Synchronization.

IT Showcase Technical Case Study
The Wire Request Tool uses a Microsoft Azure SQL database. Any domain
table data is synchronized to Azure SQL using the Azure data synchronization
feature.
Page 4 |
Developing a mobile solution for Microsoft Treasury transactions
Corporate network
Any operation that involves interaction between Microsoft Azure and systems that
are on-premises involves using the Service Bus, a secure channel for the data flow
between Azure web roles and on-premises systems.
Features and functionality
Validation
The tool’s validation functionality ensures that the form won’t accept a wire request
unless the right type of information is entered into each field. For example, if the
value in the Date field has passed, the requester will get a message that the data is
not valid and must be corrected before the submission can continue.
Verification
Before accepting a request, the Wire Request Tool automatically verifies against
Microsoft Active Directory that both requesters and approvers are Microsoft
employees and confirms that any approver has the appropriate spending limits.
Direct routing
After the Wire Request Tool validates input fields and accepts a request, it
immediately routes the request to the designated approver, who receives both an
email and a push notification on his or her Windows Phone.
Multiple approvers supported
If more than one approver is required, the tool routes the request to each approver
in sequence.
Secure-anywhere access
If a user accesses the Wire Request Tool while connected to the corporate network,
the logon credentials will be taken for authentication automatically. If the user is
not on the network, they can access the tool by signing in using Active Directory
Federation Services (AD FS).

Windows Phone. The user enters their credentials in an AD FS logon page
and gets two tokens from Microsoft Access Control Service (ACS) and from the
Azure Service Bus ACS. The tokens are stored in the device.

Through the browser. The user accesses the website from any browser and
enters their credentials in an AD FS page that is configured as a federation
provider. After AD FS authenticates successfully, the user is redirected to the
website. A session ID is returned for all web API calls to the browser via
cookies.
Wire Request Tool browser application
Users that are logged on to the Wire Request Tool browser application can, based
on their role, create new wire requests, submit requests, check the status of their
request, approve requests, auto-upload to SAP, access templates, and generate
reports. The Wire Request Tool is shown in the following figure.
IT Showcase Technical Case Study
Page 5
|
Developing a mobile solution for Microsoft Treasury transactions
Figure 3. Wire Request Tool browser application
Wire Request Tool mobile application
The Wire Request Tool mobile application integrates with MSApprovals, an
application used for other types of approvals at Microsoft. Once installed,
approvers receive toast (push) notifications when new requests have been sent.
Within the application, requests assigned to the approver are displayed by
category: pending, approved, rejected, or closed. The mobile application integrates
with the Wire Request Tool web API through which an approver can take action
and either approve or reject each pending request, and view attachments related to
the request. Only approvers can take action on a request; requestors and the Cash
Operations team have read-only access to the information in a wire request
through the mobile application.
Figure 4. Wire Request Tool mobile application
IT Showcase Technical Case Study
Page 6
|
Developing a mobile solution for Microsoft Treasury transactions
Role-based access and functionality
The Wire Request Tool provides role-based access to users. All Microsoft
employees and contingent staff can use the tool to submit a request. An authorized
group of roles has access to the additional functionality required to approve,
process, and audit requests. User roles and associated capabilities are managed by
an authorization portal and include:

Requestors. A requestor is any corporate user who initiates a wire request.
Requestors can:








Approvers. An approver is a Microsoft employee who can approve the wires
requested by the requestor. There can be more than one level of approvals
required for some requests. Approvers can approve the requests only if the
requested amount is within the spending limit of the final approver as defined
in the MS Authorize application (or within the exception limit as defined by MS
Authorize). Approvers can:






Search for wire requests that are pending their approval by using the Wire
Request Tool browser interface. They can also review, approve, or reject
the wire requests and access reports.
Receive push (toast) notifications from the mobile application on their
phone for requests submitted by a requestor for his approval.
View, approve, or reject pending requests by using the mobile application.
Input his or her displayed name as “Digital Signature” and certify the
requests to complete request approval.
View the requests in the Wire Request Tool mobile application’s read-only
mode under “My Approvals” for Pending, Approved, and Rejected
statuses.
Cash Operations. Cash Operators are the final approvers of the requests.
These are the back-line users of the application that review the accuracy of
submitted information before uploading requests into SAP. They are also
responsible for reviewing the request for appropriateness from a Treasury
perspective. The Cash Operations team can:








IT Showcase Technical Case Study
Create a wire request from the Wire Request Tool browser interface.
Submit a wire request.
Cancel their wire request.
Search the wire requests they have initiated.
Edit details of their wire request if rejected.
Access reports.
Receive push (toast) notifications on their phone from the mobile
application and view their requests, including status, in read-only mode.
Review the request for accuracy according to the policy and procedures.
Generate wire request reports for analysis. Reports can be generated
based on a particular request type or within a specified date range.
Represent the final approver of any request.
Search for wires that are still pending for approval.
Review, approve, reject, and populate adjustment fields in the wire
requests.
Access reports.
Declare which requests can be audited. Only auditors can see the data for
such requests.
View requests in the Wire Request Tool mobile application’s read-only
mode for Pending, Approved, and Rejected statuses.
Page 7 |
Developing a mobile solution for Microsoft Treasury transactions

Auditors. Auditors generate reports and view requests that have been marked
for audit by Cash Operations.
Testing
Microsoft Treasury and Microsoft IT performed extensive testing with users from
the Microsoft Treasury business group that used the old system and would be
using the Wire Request Tool to perform their duties after it was deployed to the
production environment. Because the testers had in-depth knowledge of the
requirements of the tool, they were able to provide actionable feedback and
identify potential issues in early iterations of the tool.
Based on feedback from the testers and early adopters of the tool, the Treasury
team was able to improve upon the tool. For example, in response to a suggestion
from an end user, they added a “ping” functionality that enables requesters to send
a reminder message to a designated approver. They also included functionality that
allows the tool to pull details on a routine payment from SAP to automatically
populate the wire request, saving the Cash Operations team from having to fill in
each field manually based on user feedback.
Another added benefit of having users from the business group test the tool was
that when it launched into the production environment, they were already familiar
with it.
Deployment
Web application
The first version of the Wire Request Tool was an on-premises web application that
was deployed on on-premises servers. The second release of Wire Request Tool
was deployed as packages to the Azure platform. Email communications were sent
to all Wire Request Tool users to inform them of the release of the new version.
The email included the URL to access the system and highlighted new features and
capabilities.
Windows Phone apps
Users received an email communication with step-by-step instructions for installing
the mobile application from the company app store portal, which is used to host all
Microsoft line–of-business applications. The application was also promoted
through Wire Request Tool workflow-related emails.
Benefits
IT Showcase Technical Case Study

Time savings. Across requesters, approvers, and treasury staff, the Wire
Request Tool is saving between five and eight minutes per wire. That equates
to more than 1,000 hours per year in reclaimed time that can be spent on
other activities.

Automation and efficiency. The tool can pull details on a routine payment
from SAP to automatically populate the wire request, improving accuracy and
saving the Cash Operations team from having to fill in each field manually. The
tool also auto-detects spending limits.

Secure and convenient “anywhere access.” The Wire Request Tool secure
mobile solution meets government regulations for wire transfers. The tool uses
the Microsoft standard secure service for authentication, authorization, and
access.
Page 8
|
Developing a mobile solution for Microsoft Treasury transactions

Improved productivity. The ability to approve or reject requests is more
convenient to executive approvers, especially when they are out of the office
with no access to the corporate network.

Electronic workflows and consolidated storage. Auditors can log on to the
tool and more easily audit because there is an electronic workflow trail and
because associated documentation is accessible.
Best practices
Automate as much as possible. Reducing the number of manual activities that are
involved in any request and approval process is going to save time and improve
accuracy.
Use testers who are familiar with the business that an application is being built for.
Users with a good understanding of the business needs are going to be able to
provide actionable feature feedback.
Verify the connection to the web service and authentication of the user as a first
step.
When possible, leverage existing systems or common platforms. By plugging into
the existing MS Approvals application, the Wire Request Tool gave users a
centralized platform to review and approve different types of approval requests.
Verify that workflows are supported by a solution that has the flexibility to provide
both email and phone notifications to users.
Lessons learned

Get business feedback early in the process. By engaging in a more iterative
application design process earlier in the development process, Microsoft IT
would have avoided a large number of application feature changes prior to the
first release of Wire Request Tool. For the second release of the tool, Microsoft
IT collaborated closely with the business, early and often.

Promote the release of the application. The Windows Phone application was
not rapidly adopted. More communication and marketing efforts should have
been employed at release to raise awareness about its availability.
Conclusion
Microsoft IT and the Microsoft Treasury group partnered closely to build a software
application that significantly reduced both the amount of time spent processing
wire payments and the level of risk a treasury wire request generates. Microsoft
employees now have a secure method to approve requests from anywhere, using a
mobile device. The global and modern financial approvals solution both
strengthened operational controls and increased automation and operational
efficiencies. The solution enables business to be conducted securely through the
cloud, increasing productivity and ensuring that key transactions are rapidly
approved and efficiently processed.
Resources
More IT Showcase content supporting Data Insights:
https://www.microsoft.com/itshowcase/TopTrends/DataInsights
IT Showcase Technical Case Study
Page 9
|
Developing a mobile solution for Microsoft Treasury transactions
Related Case Studies
Increasing productivity at Microsoft Treasury with a mobile solution
https://www.microsoft.com/itshowcase/Article/Content/612
Using Modern Apps to Streamline and Standardize Business Processes
https://www.microsoft.com/itshowcase/Article/Content/391
Microsoft IT accelerates financial close and compliance process
https://www.microsoft.com/itshowcase/Article/Content/508
Modern application streamlines financial business processes
https://www.microsoft.com/itshowcase/Article/Content/507
The Microsoft IT journey to transform BI
https://www.microsoft.com/itshowcase/Article/Content/573
Microsoft Finance Leverages Power BI to Transform Reporting
https://www.microsoft.com/itshowcase/Article/Content/231
For more information
For more information about Microsoft products or services, call the Microsoft Sales
Information Center at (800) 426-9400. In Canada, call the Microsoft Canada Order
Centre at (800) 933-4750. Outside the 50 United States and Canada, please contact
your local Microsoft subsidiary. To access information via the web, go to:
http://www.microsoft.com
http://www.microsoft.com/itshowcase
© 2015 Microsoft Corporation. All rights reserved. Microsoft and Windows are either registered
trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.
The names of actual companies and products mentioned herein may be the trademarks of their
respective owners. This document is for informational purposes only. MICROSOFT MAKES NO
WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.
IT Showcase Technical Case Study