SharePoint Expense Request
So often when we look at how to work with SharePoint we focus in on specific features or functionality based on a silo of information, but the power of SharePoint comes in the ability of users to create simple solutions by combining multiple techniques and tools. 

For instance, we may take a deep dive into Excel Services or Visio Services, but not necessarily look at first glance how they can integrate with other existing feature sets within SharePoint. As you become more experienced with SharePoint and the many features available, you will discover quick and easy ways to pull more features together, combining them in ways that allow you to approach problems differently. In this article I will be providing a sample real world scenario to the reader in hopes of highlighting some of the ways various tools can be combined as a method of building a working solution.

The Scenario

The specific scenario for this article is based on users wanting to make expense items requests for their department. The idea is that a user will create a request, then during a regular meeting the management team will review all the requested expenses and approve and schedule them. This allows all department expenses to be managed by all managers, ensuring that no one group is using all of the available budget. This is simply a sample scenario and could easily be adapted to a common situation within your organization.

On the home page of the solution we provide specific information to each user that is relevant to them. This means they can easily create a new request, work on completing an existing request or even review the status of submitted request.

expenserequest.png

First Importance: Planning & Design

The first tool in any successful solution is the component of planning and design. Without first looking specifically at the problem you have very little chance of successfully building a solution that will improve the current scenario. The best solution to any problem is a solution that removes the problem.

In order to do that you must at all costs understand the User, the Data and what the users must do with the data. In many cases this means simply spending time understanding the users, how they work and what they would like to get out of a solution.

Once you feel that you have mapped out the requirements and needs of the solution, a good second step is to build out a mockup of what the solution could potentially look like. Using this technique will help ensure that you are on the same page as the users of your solution. A picture can be worth a thousand words, so be sure to take the extra step to help ensure your solution is headed in a good direction. There are many tools available for creating mockups, but one that I highly recommend is Balsamiq.

balsamiq.png

After the direction of the solution has been agreed upon you can begin to look at ways to help solve the identified problems. This is where you can begin to match the tools you know within SharePoint to the problem at hand. If you don’t clearly understand the problem, then there is a high likelihood that the tools you select may not accurately address the pain points of your users. The time spent in planning even the most simple of solutions will reap great value in the long run!

The Tools

To build out the solution, many different tools were used. In this section of the article we will highlight each of the tools and discuss the value it brought to the solution at hand.

Lists & Libraries

Our example solution has several foundational elements that are implemented through lists and libraries. Like most process scenarios, our solution is based on a form moving through various phases. Each of the phases represents a different stage in the process and requires different actions be taken.

By creating a single list that contains all the information for each phase we have a single point of management that outlines the phases within our process. Each additional list can then have a reference back to this foundational list. Using this approach also allows us to easily add text or additional information that could be of assistance to the users as a reference during each phase.

expenserequest2.png

InfoPath Form

The next primary element in our solution is the InfoPath form that users will complete when they need to request a new expense. It is important that this form can gather the required information, but that it is also easy to use and can help drive the behavior that we want from our users.

expenserequest3.png

We can greatly reduce the amount of incorrect data submitted if we can create a way for the form to “self-correct” or “guide” the users in the process of completing the form. We provide this guidance to users through the creation of various form rules. These rules control the data that is displayed within the form and is used to hide and display elements based on the completion of the form. Several techniques used within our example include:

  • Displaying a Warning if the Expense Amount is less than the amount that requires approval.

busjust.png

  • Allowing users to save a form in-progress in case they don’t have all the required information immediately.

expense3.png

  • Only letting a user save the form unless all the data has been completed.

expense2.png

Using these simple tools we can provide a way for users to get guidance throughout the process. They may not know exactly what they need to do, but they can rely on the form to help guide them. This approach often reduces frustration with a solution because users are guided along as they complete the form.

Our examples mostly had to do with guidance as they submitted the form, but rules can also be used to display information on how to complete the form or what types of information are required. The possibilities are great and can be customized to meet any specific needs your process might have.

Familiar Tools: Visio

The next component of our solution includes using tools that the users are already using, but in a different way to help drive the process. Our specific scenario is based on a Visio document that maps out the process the managers follow to approve and schedule items. They have used this process for a while and they are all used to following along during meetings.

One way that we can turn this from a read only reference to an interactive solution is through the use of Visio Services. This will allow us to easily display the process within a web part on a SharePoint page. But the value isn’t limited to just view the process diagram. Visio Services includes the ability to link to Data sources and to have connected web parts.

This approach will allow us to create an interactive process diagram that they can work with with during their approval meetings. As they click on any of the phases within the process diagram the page reloads to show only data associated with the selected stage. They can then use the item menus to complete tasks, such as starting workflows or editing items.

expensereview1.png

This is all configured through the creation of lookup columns in each list that reference the Phases list that was the first item mentioned and was referred to as a foundational element of our solution. Because all of the various items (additional links, expense request) are associated with a phase, we can use this list as a filter point for displaying the content dynamically based on a user’s selection within the diagram.

Pages & Dashboards

The final piece to highlight in this sample solution is the use of pages to help drive behavior. On the home page of the solution filtered web parts are being used to only display content that has been created by the current user. This allows them to quickly and easily see their requests and their history. An additional page has been created for managers that can be used during the meeting to drive the process.

The separation of the two pages allows managers to submit requests as well as process them. To avoid having too much content on a single page we are taking advantage of creating additional pages to give us the real estate needed to display the data clearly. To help users easily navigate between the different pages we can configure the site collection navigation so that all relevant pages can be easily accessed from the sites top navigation.

Summing it Up!

We configured everything included within this sample scenario using only out of the box techniques. Some of the items highlighted were based on browser configurations and some, such as the form and the diagram, were created using Office applications.

In many ways this solution looked at an existing process and simply added a layer of usability to it so that they could have a single entry point to manage and process requests. There is great value in reviewing existing processes to determine ways to streamline and improve the process, but there is also great value in simply adding a layer of “usability” to existing processes to help users do what they already do, but provide them a way to do it better. SharePoint is a great tool that can help with both the long-term development of streamlined process, but don’t overlook some of the simple things that can be done immediately to make today better.

Title image courtesy of Aromant (Shutterstock)

Editor's Note: To get more of Jennifer's SharePoint advice, read From Requirements to Technology: An Approach to Build SharePoint Solutions