Innovation Mindset

Robotic Process Automation

Travel Expense Audit

Case Brief

You are an internal auditor for Fairview Inc., a software-as-a-service (SaaS) company. Fairview Inc. uses a unique “high-human-touch” sales and servicing model. That is, Fairview Inc. sells only within certain cities and hires numerous sales agents and information technology (IT) agents in each city where it operates. The company then has these employees visit the customers and provide face-to-face sales and support. The model has been successful so far and Fairview Inc. now operates in five cities in the Midwest of the United States: Indianapolis, Kansas City, Louisville, Nashville and St. Louis. The company reimburses employees for their mileage when they drive their own vehicle for work-related travel. To receive this travel expense reimbursement, an employee must submit paperwork to the Payroll Department that lists the addresses of their departure and arrival locations and their calculation of the mileage traveled. The payroll clerk manually enters this data into the system and the traveling employee is reimbursed in their next paycheck. Periodically, Internal Audit reviews the reimbursement requests. As part of the review, internal auditors use a commercial mapping service (Google Maps) to measure the distance between the departure and arrival locations. The auditors then look at individual trip statistics and the overall aggregate statistics by employee to see if the employee is reporting materially different amounts for their trips from what is reported by the mapping service. Currently, the internal auditors review the reimbursement requests on a periodic basis by examining a random sample of trip “legs” each year. A trip leg is the distance traveled between two points. For example, if an employee leaves their home, travels to one business, then visits another business and then returns to their home, the trip has three legs: (1) from their home to the first business, (2) first business to the second business and (3) second business back to their home. The company reports that the employees make nearly 4,000 trip legs per year. For the review, the internal auditors manually enter the beginning and ending address into a commercial mapping service (Google Maps) and record the distances. Then the internal auditors calculate differences in the reported mileage and perform further testing for those trip legs that were unusual. This process is slow, tedious and historically auditors make mistakes about 10% of the time. The head of Internal Audit recently heard a presentation about robotic process automation (RPA). She believes this technology may be able to improve the current manual process for testing employee reimbursements related to travel. The head of Internal Audit has asked you to do a proof of concept of this new technology and make a recommendation about whether to move forward with RPA. This means your objective will be to build a bot that can perform the recalculation of mileage reimbursements and test it to determine its efficacy.

Be sure to read all of the instructions and questions below before beginning, as you will need to have a full understanding of what the head of Internal Audit wants in order to properly perform the proof of concept requested.

Before you begin

  • When you build your travel bot, the first sequence should cause two pop-up windows to appear. The first pop-up window should be a message box that provides the user with instructions. The second pop-up window should allow the user to select the file with the travel distance data. This second pop-up window uses a “select file” activity that allows the user to select the file containing the travel distance data (i.e., the file Innovation_mindset_case_studies_RPA_TravelExpenseAudit.xlsx saved on your hard drive). Save the selected file as a variable so you can reference it later in the bot. This allows the bot to be moved to other computers and still function properly (i.e., be graded by your professor).
  • It is good practice to change the titles of activities to something descriptive so you, and others, can easily review your work and understand what the bot is doing.
  • It is recommended that you organize your thinking in a flowchart before you begin programming your bot. This makes it more likely that you will not forget key parts of the process. It also offers you the ability to develop your bot in segments or sections. This can make troubleshooting much easier.

Objective

Your task is to automate the process of determining travel distances. To do this, you will build a bot to perform the task, optionally you can keep track of how long it takes for the bot to perform the task and compare this to how long it would take manually as the number of records scale.

Criteria for the bot

The bot should be able to do the following:

  • Run independently of the auditor. That is, an auditor should be able to open the automation software (UiPath) and run the bot, which should then do all of the steps without further human intervention. The one appropriate exception is that when the bot runs:
    • The bot should have a message box that provides instructions about selecting the appropriate file for analysis.
    • The bot should allow the user to select the appropriate file for analysis.
  • For each distance listed in the appropriate tab, the bot should put the beginning and ending address into Google Maps and map the distance.
  • The bot should scrape the distance in miles from the first response for a car trip between the two locations. The bot should return the distance from the first result listed in Google Maps.
  • (Optional) If the bot is unable to find the distance for a trip leg or there is an error, it should return the value -9999 and then continue running to the next trip leg. Additional follow-up work will need to be done for those instances when there is a -9999 value. You should build the bot to return as few -9999 values as possible.
  • The bot should place the scraped distance in the TravelData file in the ValidatedDistance column.
  • The bot should record the time and date that the bot scraped that distance in the ValidatedDate column.
  • The bot should enter the formulas for calculating the columns AbsoluteDifference and RelativeDifference.
  • AbsoluteDifference should be the absolute value of Reported Distance minus ValidatedDistance.
  • RelativeDistance should be a percentage as Reported Distance minus ValidatedDistance divided by ValidatedDistance
  • The bot should loop through every trip leg in the appropriate sheet.

Required

  • Your bot is required to meet the objectives outlined above. The bot should be programmed so it can complete the task for any number of records that are included in the RPA_TravelData.xlsx file. In other words, you should not hard code in all of the values, but instead you should use programming to loop through all of the rows in the dataset. Please submit the following for grading:
    • The distanceBot.xaml UiPath file to canvas.

Innovation mindset case studies – Robotic Process Automation – Travel Expense Audit

© 2021 Ernst & Young Foundation (US). All Rights Reserved.

SCORE No. 13759-211US

This webpage and associated materials were prepared by Asher Curtis solely to facilitate class discussion. The materials are not intended to serve as an endorsement, source of primary data, or illustration of effective or ineffective handling of a business situation.

Copyright © Asher Curtis 2025