Updated: Aug 5
There has never been a better opportunity for organisations to completely automate tasks to drive efficiency and improve productivity. In fact, according to McKinsey research, 50% of tasks are automatable with the technology available today.
This post gives an example of how the Microsoft Power Platform can be used to completely automate the common business activity of processing invoices and expenses, end to end, without writing code. This activity is usually manual, time consuming and distracts people from more important and meaningful tasks.
We start small by creating a prototype application to automate a single path of the process for a single employee. This proves that the technical solution is viable and we get to test, gather feedback and start seeing value quickly. The prototype then needs to scale across multiple people and process paths to gain maximum value from the solution.
Invoices for organisational expenses are usually processed by one or more people in the administration or finance team. They receive a number of invoices from a number of different sources, all in different formats. These invoices typically need to be approved and then entered into an accounting or finance system.
Additionally, employees often incur their own expenses as part of doing work and they also need to input these expenses and the receipts / invoices into an accounting system.
Both processes involve a number of people and a lot of manual data entry. It is time consuming and to date I have never met anyone who likes manually processing receipts and invoices!
Where to start?
On the face of it, processing invoices can seem like a huge task to automate given so many different invoice formats, the differing ways invoices are received and the number of people involved. Let alone the technology side; do you have the skills or the finances to achieve it?
This is certainly achievable with the technology today, using Microsoft's Power Platform, and you do not need professional developer or data science skills to achieve it. Let's see how.
First of all, let's start small by considering one type of invoice and one path through the invoice / expense process. I have chosen a simple example of processing car parking expenses.
In Auckland, New Zealand, Auckland Transport manages the street side car parking around Auckland City. They provide a great service with a phone app that is used to pay for parking. Afterwards you can download invoices from their website. However, processing these invoices is painful. On a monthly basis the following manual process is conducted by anyone who incurs car parking expenses as part of their job e.g. visiting a customer.
The invoice is downloaded onto a laptop
Details from the invoice are entered as an Expense record into Dynamics 365 Project Service Automation (PSA) so that the parking expense can be attributed to a project and customer.
The invoice document is uploaded to the Expense record in PSA.
A Manager monitors PSA and approves the Expense record within PSA.
One approved a Finance Administrator manually enters the invoice details and uploads the invoice document into Xero.
The solution is a series of Power Automate flows which utilise different components of the Power Platform and other Microsoft cloud services.
Robotic Process Automation (aka UI Flow) - UI Flows allow you to record actions (clicks, keyboard input etc.) that you make on your PC and then play them back to automate a task. In this scenario, UI Flow is used to to automatically log into the Auckland Transport website and download the parking invoice on a monthly basis.
AI Builder - AI Builder is a Power Platform component that enables you to easily create artificial intelligence models that can be used in Power Apps and Power Automate without writing code or having the knowledge of a data scientist. In this scenario, AI Builder is used to read the invoice PDF and extract the details (date, invoice amount etc.) to be used throughout the rest of the process.
Common Data Service - The Common Data Service (CDS) is a secure data platform for storing data that is used by business applications and Power Platform components. In this scenario, we are using the Dynamics 365 Project Service Automation app, built on CDS, to record the invoice details (extracted by AI Builder) as an Expense record and assist with the approval process. Power Automate interacts with CDS via the Common Data Service connector.
Approvals - Power Automate Approvals provide robust and easy to set up automated approval processes. In this scenario, Adaptive Cards and Microsoft Teams are used as the channel to send an approval to a person and gather the response. This gives the approver the ability to approve while out of the office, through the Team's mobile app, and does not need to log into Dynamics 365 Project Service Automation.
Custom Connector - The Power Platform has over 300 connectors to connect to Microsoft and non-Microsoft services but you can also create your own. In this example we have created a custom connector that allows Power Automate to create invoices in Xero once the expense record is approved in Dynamics 365 Project Service Automation.
To see more details on what this solution looks like and how it was built, I presented on this topic at the Microsoft Power Platform Online Conference 2020.
The outcome of the solution is that each employee's involvement in the process is greatly reduced. The employees do not have to access multiple systems to manually enter data and upload documents. When they are required to input into the process, i.e. for approval, they do so via a couple of clicks on an Adaptive Card in Microsoft Teams which they can access from their PC or mobile phone.
Scale TO ADD Value
This prototype solution proves that we can automate the process end to end. However, it only works for one specific scenario and therefore does not provide a lot of value. The real value is realised when this solution is scaled to automate many different scenarios of invoice / expense processing. For example, you may have 100 employees who spend 30 minutes every week processing their expenses manually. By automating expense processing for 100 employees you are saving 2,400 hrs of their time per year that could be put to better use in adding value to your organisation rather than doing administration. And let's not forget the other benefits such as the increased accuracy through automation.
Scaling a solution like this is a huge effort for any organisation's IT team. However, if you take the right approach with the Power Platform, and empower your employees to take part in the scaling process, you can scale and see results quickly. Contact us if you would like to understand more on how we can help empower your organisation to be more digitally advanced with the Power Platform.
AI Builder https://docs.microsoft.com/en-us/ai-builder/
On-premises Gateway https://docs.microsoft.com/en-us/power-automate/gateway-reference
Common Data Service https://docs.microsoft.com/en-us/connectors/commondataserviceforapps/
Power Automate https://docs.microsoft.com/en-us/power-automate/