Build a UiPath bot to process Invoices and Receipts for Free!! - Step by Step!

Updated: Mar 12

Quickly read your invoices and create an excel sheet with it!

Uipath Bot Read Invoices and publish in excel
Build a Bot to Process Invoices!

It's 7 PM. You wanna log off and probably make yourself a hot dinner for once. As you are about to close your laptop you hear a ping. The ever so frustrating ping of a message from your boss. You open it reluctantly fearing the worst. Your fears are confirmed as you read that there are 200 invoices your boss wants to be entered in a worksheet for that "Oh So Important" meeting at 9 AM tomorrow.

You have no choice. You sit till 10 pm and you update the sheet and eat a microwaved dinner yet again.............OR DO YOU?

Not if I can help it!

Build a bot do to it for you while you prepare your dinner. Quickly analyse the results and finish the sheet. Win Win!!

Step 1: Prerequisites

Download and Install Uipath Studio.

You can download Studio from here:

If you are completely new to UIPath, I will suggest you to do a basic level of certification from uipath. It's free and easy.

Step 2 - Building the BOT!

Now with the prerequisites taken care of let's build the bot!

Firstly, in the project folder you need to download certain packages. They are:

  1. Microsoft.Activities.Extensions

  2. UiPath.Cognitive.Activities

  3. UiPath.DocumentUnderstanding.ML.Activities

  4. UiPath.IntelligentOCR.Activities

  5. UiPath.Excel.Activities

  6. UiPath.UIAutomation.Activities

Once this is done. Let's proceed:

Bot Development - Step 1 (Setting up the Taxonomy)

Taxonomy is used to declare the fields that you want the bot to read from your Invoice. Click on "Taxonomy Manager".

Add on the + Sign and Add a Group and Add a Category. After that click on "Add New Document Type".

Add the Name and note down "Document Type ID".

Click on New Field and add the fields you want to be picked.

After Saving close the Taxonomy Manager.

Now create a new Sequence, and set the following activities:

Bot Development - Step 2(Load Taxonomy)

1. Add the activity : "Load Taxonomy". Set the following properties:

Bot Development - Step 3(Digitize Document)

1. Add the activity : "Digitize Document". Set the following properties:

2. Add the Activity "Machine Learning Extractor". Set the following properties:

Here you need to add the two following properties:

1. ApiKey : This you can find on your UiPath Orchestrator.
2. Endpoint : ""

3. Click on "Configure Extractors" and add the ml field names.

Currently, for invoices you can only use a specific set of keywords to do a ML Extraction. They are as follows:

“name”  “vendor-addr”  “billing-name”  “billing-addr”  “shipping-addr”  “invoice-no”  “payment-terms”  “due-date”  “po-no”  “date”  “net-amount”  “tax”  “total”  “currency”  “line-no”  “description”  “item-po-no”  “quantity”  “unit-price”  “line-amount” 

Bot Development - Step 4(Present Validation Station)

1. Add the activity : "Present Validation Station". Set the following properties:

Validation Station basically will popup if the bot is unable to determine a field. The PDF will open and you can manually add the field as shown below:

Bot Development - Step 5(Export Extraction Results)

1. Add the activity : "Export Extraction Results". Set the following properties:

Bot Development - Step 6(Excel Application Scope)

1. Add the activity : "Excel Application Scope", mention the path of the Excel you want to share the data in and then drag in "Append Range".

Here give the command:



This is a Sample of a PDF Invoice I used for testing. For the run I added 7 PDF's and ran the Bot.

This is the Excel it created.


Hey you cant get everything for free! There is a limitation for this bot too. These are set by Uipath for the community version only. They are:

1. Max pages per invoice is 2.
2. 50 Invoices per hour.

Bonus Content!
You can just change the Endpoint detail in "ML Extractor" to read for "Receipts" and "Purchase Orders". Here is the Info that you need to change in the bot.

1. Receipts:

1. Endpoint in ML extractor :
2. Keywords you can use: “name”  “total”  “vendor-addr”  “date”  “phone”  “currency”  “expense-type”  “description”  “line-amount”  “unit-price”  “quantity” 

2. Purchase Orders

1. Endpoint in ML extractor :
2. Keywords you can use: “po-number”  “date”  “client-name”  “client-address”  “vendor-name”  “vendor-address”  “shipping-name”  “shipping-address”  “billing-name”  “billing-address”  “payment-terms”  “delivery-by-date”  “net-amount”  “tax-amount”  “tax-rate”  “total-amount”  “line-number”  “description”  “product-code”  “delivery-date”  “unit-measure”  “unit-price”  “quantity”  “line-net-amount”  “line-tax-rate”  “line-tax-amount”  “line-amount”  “currency”

The possibilities are simply endless!! I am sure you would have learnt something new today and I hope it helps you think of solutions that helps your business grow further!!

Hey, If your Invoices are handwritten I will recommend creating a Handwriting Recognition Bot.

Hope you enjoyed reading my article! If you have any questions feel free to reach out to me.

Also if you enjoyed the article please subscribe to keep receiving my new posts!!

Share the love and power on! :)


Recent Posts

See All