End to End Invoice Automation with the Power Platform
This post is an example of how you can use multiple Power Platform components to automate a process from end to end. Processing invoices is common and usually a tedious manual task that no-one likes. Here is a simple example for a single invoice scenario which could easily be scaled out. The full post was originally published here.
The solution includes the following Power Platform and Microsoft services:
UI Flows (RPA)
Dynamics 365 (Common Data Service)
All tied together by Power Automate
Demonstration and High Level Instructions
I demonstrated this solution as part of my presentation at the Power Platform Online Conference 2020.
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, an AI Builder Form Processing Model 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 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.
This is a great example of how multiple components of the Power Platform and the Microsoft stack can work together to provide a complete solution. Apart from the custom connector this literally took a few hours to configure - imagine trying to do the same thing with any other system!