Modeling starts with process diagramming and optimization. Let's review the process that we will implement.
Let's practice using simplified version of most common enterprise process - validating supplier invoice against purchase order. Here are the steps:
Supplier sends an Invoice for payment. Invoice contains
Header (Company Name, Address)
Line Items of billed products/services as a table
Footer (Total value and Tax information)
Invoice data is compared with Purchase Order (PO) associated with this Invoice. There are possible scenarios:
Line items and all fields match fully. Names, Quantities and Prices are identical, all line items exist in both Invoice and PO, Descriptions are identical and/or semantically similar.
Line items or some fields do not match. Common examples:
Invoice is issues for wrong company (different country/entity, different tax amount, etc)
Some line items are missing in either Purchase Order or Invoice
Descriptions can not be matched with certainty
Invoice and Purchase Order has nothing in common at all
If Invoice and PO match, or if user manually reviewed and approved the Invoice - details are updated in UiPath Data Service, subsequently - Invoice is sent for payment.
If Invoice and PO do not match - Validation Task is created for an Accounting Team to review and provide decision whether to reject or approve the Invoice.
If Invoice was rejected by Accounting Team, an Email is generated and sent to Supplier with reason and necessary details, along with request to update and resend the document.
There are multiple varieties of this 2-way/3 way matching exists, and every company has some customizations and exceptions. However, these are the most common steps, so let's visualize this process using UiPath Process Modeling tool!
Open the BPMN designer tool: https://bpmn.uipath.com/
Build the diagram as per process description above
Export it as .bpmn file - we will use it later
This is the kind of workflow you should expect at the end
During subsequent lessons we will connect tasks in this diagram with other components of UiPath platform. This way when we execute it - Orchestrator will trigger some Robotic and Agentic jobs or ask help from Humans!
Let's add some action into this diagram by adding a Robot!