Automated Invoice Processing with Power Automate

In this guide, we'll create an automated invoice approval workflow with Power Automate. When a new invoice is received, the system extracts data, notifies approvers, and exports the data to a spreadsheet or accounting system. We'll use AI-powered automation for extraction, though a manual option is available. For this guide, we'll export to Excel, but you can easily use an ERP or accounting system instead.

Preparation

SharePoint list for storing invoices

Invoices should be exportable to an accounting or ERP system. That's why we’ll store key details like vendor name, amount, date, and approval status in a SharePoint list.

Due Date Supplier Total Amount VAT Amount Date of Issue Status Invoice ID
Date and Time Single line of text Single line of text Single line of text Date and Time Choice (Pending, Rejected, Approved) Single line of text

SharePoint list of approvers

Invoices require approval before fulfilment. Instead of hardcoding approvers' emails, we’ll store them in a SharePoint list for easy updates when roles change.

Data extraction tool

To integrate invoices with an ERP or accounting system via SharePoint, we must extract invoice data from unstructured document formats such as PDFs or images. AI-powered OCR tools offer the most accurate and seamless solution for that purpose.

We'll use Cradl AI for that purpose, which extracts invoice data and sends it to SharePoint via its Power Automate integration. This post shows you how to set up Cradl AI with SharePoint in minutes.

Steps to build the Power Automate workflow

This is what the complete Power Automate flow looks like. Let's configure each step.

Overview of the entire Power Automate flow

1. Trigger the flow

  1. Create a new Instant Cloud Flow in Power Automate.
  2. Choose When an HTTP request is received as the trigger.
  3. Paste Cradl AI’s provided JSON schema into the Request Body to dynamically reference extracted values.
Configuration of the manual trigger step in Power Automate

Not using Cradl AI?

You can still follow this tutorial by manually entering invoice data into your SharePoint list.

Create an Automate Cloud Flow instead of Instant Cloud Flow, and choose SharePoint's When an item is created or modified as your trigger.


2. Add an invoice entry to the SharePoint list

  1. Use SharePoint's Create item action.
  2. Map extracted invoice data to the corresponding SharePoint columns.
Configuration of the create item action in Power Automate


3. Get approvers

  1. Use SharePoint's Get items action to retrieve the list of approvers.
Configuration of the Get Items action in Power Automate

4. Format approver emails

  1. Use the Select action to format approver emails into an array.
  2. Reference the Code view for precise formatting.
Configuration of the Select action in Power Automate
Configuration of the code view of the create item action in Power Automate

5. Get stakeholder's email

Use Get my profile (V2) to retrieve the stakeholder’s email (ourselves, in this case). This email will be used for approval status notifications.

6. Initiate Approval

  1. Add the Start and wait for an approval action.
  2. Configure approval type and email content.
  3. Use this function expression in Assigned to: join(body('Select'), ';')
Configuration of the start and wait for approval action in Power Automate

7. Handle Approval Responses

  1. Use the Condition action and select the outcome from the approval as your condition.
  2. Check if the outcome is "Approve" (case-sensitive).
Configuration of the condition action in Power Automate

If rejected

  1. Use SharePoint's Update item.
  2. Set the status value to Rejected.
Configuration of the Update Item action in Power Automate

  1. Use Outlook's Send an email (V2).
  2. Set the recipient to Mail from Get my profile V2. Customise the body according to your needs.
Configuration of the Send an email action in Power Automate


If approved

Repeat the steps, but change status value to Approved.

  1. Use Update item action to set the invoice status to Approved.
  2. Use Send an email (V2) to notify stakeholders.
  3. Export approved data to an accounting system (for simplicity, we’ll add a row to an Excel spreadsheet). Learn more about extracting data from PDFs to Excel in Power Automate.
Configuration of the Add a row into a table action in Power Automate

Configuration of the exported invoice data neatly stored in an Excel sheet

Key benefits of this automated invoice approval flow

This Power Automate flow ensures invoices are processed quickly and accurately by capturing key details like vendor name, amount, and approval status in a centralised SharePoint list. The integration with Cradl AI's AI-powered OCR tools eliminates manual data entry, reducing errors and speeding up accounts payable processes significantly. The automated approval process makes it easier to update approvers when roles change, ensuring flexibility and streamlining decision-making. By automating the process, businesses can save time, reduce errors, and improve financial reporting.

You might also be interested in

Get started for free

We’ll help get you started with your document automation journey.

Schedule a free demo with our team today!