Live Developer Training: next batch coming soon. Be the first to know.Live training: next batch soonJoin the waitlist →Join →

How to Extract Invoice Data From PDF or Image Using Power Apps and Power Automate

Recently, while working on an Expense Claim application in Power Apps, I noticed one common problem faced by employees and finance teams.

Whenever users submitted an expense claim, they had to manually enter all invoice details, such as:

  • Vendor name
  • Invoice date
  • Tax amount
  • Total amount
  • Bank details
  • Invoice line items

Even though all these details were already available inside the invoice PDF or image, users still had to type everything manually. This process was time-consuming and sometimes led to typing errors or incorrect data entry.

The client wanted a smarter solution.

They asked:

“Can users simply upload the invoice and let the system automatically fill most of the fields?”

That is when I built this Invoice Processing solution using Power Apps, Power Automate, AI Builder, and SharePoint.

In this solution, the user uploads an invoice file, such as a PDF or image, then clicks the Process Invoice button. Power Automate automatically extracts the invoice details using AI Builder and sends the extracted data back to Power Apps.

The best part is that users no longer need to manually enter all invoice details. Most of the fields are automatically populated from the uploaded invoice. Users can simply review the extracted information, make changes if needed, and then save the final data into SharePoint lists.

This not only improves the user experience but also reduces manual effort and helps prevent data entry errors.

Business Requirement

The main requirement is:

A user should be able to upload an invoice file in Power Apps. The invoice can be a PDF, JPG, JPEG, PNG, or GIF file. After clicking the Process Invoice button, Power Automate should extract all invoice details using AI Builder and return them to Power Apps.

How to Extract Data from PDF with Power Automate

The user should then be able to:

Extract Data From a PDF With Power Automate

Another important aspect of this solution is that the entire application is built with a responsive layout in Power Apps. I used responsive containers, dynamic width and height formulas, and flexible layouts so that the application works properly across desktop, tablet, and mobile devices.

SharePoint Lists Used in This Solution

For this solution, I created two SharePoint lists:

  1. Extracted Invoice Data
  2. Invoice Items

1. Extracted Invoice Data SharePoint List

This is the main SharePoint list where invoice header-level details are stored.

Column NameData Type
TitleSingle line of text
Invoice DateDate and Time
Due DateDate and Time
Vendor NameSingle line of text
Vendor AddressMultiple lines of text
Customer NameSingle line of text
Customer AddressMultiple lines of text
SubtotalSingle line of text
Tax AmountSingle line of text
Tax PercentageSingle line of text
Total AmountSingle line of text
CurrencySingle line of text
Item CountSingle line of text
Bank NameSingle line of text
Account NumberSingle line of text
IFSC CodeSingle line of text
UPI IDSingle line of text
Automatically Extract Invoice Data from PDF to SharePoint

The Title column can store the invoice number or a generated invoice reference number.

2. Invoice Items SharePoint List

This list stores the line item details extracted from the invoice.

Column NameData Type
TitleSingle line of text
NameSingle line of text
QuantitySingle line of text
RateSingle line of text
AmountSingle line of text

The Title column can be used to store the invoice number or invoice reference ID, so that each item can be connected with the main invoice record.