Giter Site home page Giter Site logo

maxinexiong / acme-dispatcher-performer-invoice-check-bot-rpa Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 2.15 MB

This repository hosts a UiPath automation solution with separate Dispatcher and Performer sub-processes. The Dispatcher bot adds queue items to Orchestrator Queue, while the Performer bot searches invoices, extracts and compares data. Leveraging UiPath REFramework, this workflow provides a robust scalable solution for invoice checking tasks.

Home Page: https://www.acme-test.com

License: MIT License

acme-challenge data-scraping dispatcher performer reframework robotic-enterprise-framework robotic-process-automation rpa table-extraction uipath uipath-automation-cloud uipath-modern-design uipath-orchestrator uipath-orchestrator-queue uipath-queue uipath-reframework uipath-studio web-scraping invoice-checker

acme-dispatcher-performer-invoice-check-bot-rpa's Introduction

UiPath REFramework Exercise

ACME Dispatcher-Performer Invoice Check Bot

GitHub License: MIT Platform - UiPath RPA


This repository hosts an UiPath automation solution designed to address the REFramework exercise outlined in the requirements below.

Instructions

In this exercise, you will create a UiPath automation that performs the steps below.

To achieve this, you will use the Robotic Enterprise Framework (REFramework) as the starting template and follow the UiPath development best practices.

The solution has to be scalable, so create two separate projects (sub-processes):

  • One for the Dispatcher (add to queue).
  • Another one for the Performer (consume queue).
  • Make sure you use a connection to the UiPath Orchestrator for testing.

Here are the steps performed by the Robot in the Dispatcher:

  1. Login to https://www.acme-test.com
  2. On the landing page, Dashboard, click or hover the invoices menu item and then on Search for Invoice.
  3. Scrape the data from the whole table displayed.
  4. For each row in the datatable, Add a Queue Item containing the Invoice Number, Vendor TaxID and Date.
  5. Close ACME System 1.

Here are the steps performed by the Robot in the Performer:

  1. Login to https://www.acme-test.com
  2. For each Queue Item:
    • Click or hover the invoices menu item and then click on Search for Invoice
    • Type the Invoice Number retrieved from the queue item into the Invoice Number field
    • Click on Search
    • Extract the values for Vendor TaxID and Date and compare them with the values from the queue item (check for EXACT match for all fields!)
    • If the values are not matching, this should be categorized as a Business Rule Exception, and the queue item should have the status set accordingly
    • If the values match, the transaction is successful

Note: Navigation can be achieved in multiple ways by the robot – choose whichever you find best.

Constraints to follow in the development, using the REFramework:

  1. TransactionItem datatype should be a QueueItem. The process should recover and retry 2 times in case of errors in navigation between Invoice Search and Invoices – Search Results pages. One transaction is the action of navigating to the Invoices Search page, searching for the Invoice Number and scraping the values from the resulting one row table.
  2. Create a separate workflow file for the Login to ACME. File input arguments: URL <String>, Username <String>, Password <SecureString>.
  3. Create a separate workflow file closing ACME.
  4. Add the ACME_URL and ACME_Credential to the Excel Config file.
  5. Populate InitAllApplications.xaml from the Framework folder with Invoking the Login to ACME.
  6. Populate CloseAllApplications.xaml from the Framework folder with Invoking the Close ACME.
  7. Populate KillAllProcesses.xaml from the Framework folder with killing the process used.
  8. Populate the Process.xaml file with the following actions: Navigation, Searching for Invoice Number, Scraping, Checking if the values match, Handling the Business Rule Exception.

Important Note: Don’t use external file references outside of the project folder (including Orchestrator Assets). Place all the used files within the project folder only.

You can check out the automation demo video for the solution by clicking on the badge below:

View Demo - ACME-Dispatcher-Performer-Invoice-Check-Bot


Installation

Before installing UiPath Softwares, please make sure your system meets the hardware and software requirements outlined in the UiPath documentation.

The Uipath Platform includes the following tools:

  • UiPath Studio
  • UiPath Assistant
  • UiPath Automation Cloud, including UiPath Orchestrator
To run this project successfully, please follow these steps to install UiPath Studio:

Step 1 : Visit uipath.com and click Try UiPath Free button.

Step 2: Sign up for a personal account.

Step 3: Verify your account in email.

Step 4: Log into the UiPath Automation Cloud using your account, and click the Download Uipath Studio button.

Step 5: Click Sign in.

Step 6: Select UiPath Studio Pro.

Step 7: Follow the system instructions to complete the installation of UiPath Studio Pro.

Please also follow these steps below to connect your local machine to the UiPath Automation Cloud for accessing the UiPath Orchestrator Queue or deploying this workflow (if desired):

Step 1: Sign up and log into UiPath Automation Cloud.

Step 2: Add a Tenant.

Step 3: Edit the user and assign the Automation Users role to grant them permission to execute processes.

Step 4: Go to the Orchestrator interface and click on Tenant in the left pane.

Choose Folders and then click the + icon to create a new folder.

Step 5: Navigate back to Tenant interface and follow the steps below to start adding an Automation User for Unattended Robot in Manage Access.

a) Scroll down to locate the target user, then assign the Automation User role to grant them the necessary permissions. Click Next button to move on to the next page.

b) In the Personal automations setup page, select the options to Enable user to run automations and Create a personal workspace for this user and enable optimal Studio Web experience, then click on the Next button.

c) On the Unattended setup page, check the option to Enable this user to run unattended automations, choose Specific Windows credentials for local machine connection to Orchestrator, provide Domain\Username of your user account on local machine (which can be found by executing whoami in Command Prompt), and enter the Password for accessing your local machine. Finally, click on the Update button.

Step 6: Now, go to the Machines page where you should see the workspace machine for the target user already created. Click the ellipsis to select Edit Machine.

Enter 1 for both the Production (Unattended) and Testing fields, then click the Update button.

Step 7: Now return to the newly created folder, choose the Machines menu, and click Manage Machines in Folder button to assign the machine you just configured to the folder.

You should now have both the User and Machine assigned to the new folder.

Step 8: Open UiPath Assistant and click Sign In. If you see the green circle in the top right corner, you’ve successfully connected your local UiPath Studio to the UiPath Automation Cloud.

You can confirm the connection by opening UiPath Studio and checking for a green circle at the bottom.


To publish a process from UiPath Studio to Orchestrator, switch to the new folder you just created in the Orchestrator, and then click to Publish the process as a package.

To learn more about other best practices on Orchestrator, please refer to the Orchestrator User Guide.


Usage

To run the RPA workflow on your local machine, follow these steps:

  1. Either download this repository to your local machine or clone it directly within your UiPath Studio.
  2. Open the UiPath Studio software on your machine.
  3. Locate and open the Main.xaml file from the downloaded repository in UiPath Studio.
  4. Run the Main.xaml file to start the RPA process.

Acknowledgement

I would like to express my gratitude to the UiPath community for providing resources, tutorials, and a platform for automation enthusiasts to learn and collaborate.


License

This project is licensed under the MIT License, which means you're free to modify, distribute, and use the code in your own projects.

acme-dispatcher-performer-invoice-check-bot-rpa's People

Contributors

maxinexiong avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.