Let's start:
Review the business process that we will implement
Create a BPMN diagram reflecting process steps
Let's practice automating most common process in finance department - 2-way matching, or validating supplier invoice against purchase order.
Here are the common steps of the 2-way matching process:
Purchase order creation when purchasing department creates a formal PO outlining the item descriptions, quantities, unit prices, and agreed payment terms.
Invoice Receipt and Data Entry, after vendor delivers the service or goods and submits an invoice, which the Account Payables department receives and enters into the accounting system, often via automated data extraction (OCR+IXP).
Documents Validation where AP team retrieves the original PO and compares it against the incoming invoice, checking for consistency in key fields like PO number, total amount, price, and line items.
Sometimes there is a pre-set tolerance levels (e.g., allowing a 5% price variance) to determine if minor differences are acceptable. If within tolerance, the invoice moves to approval; otherwise, it is flagged.
Sometimes single Purchase order is covered by mulitple invoices (partial delivery).
Many other variations and tolerance options.
Approval or Exception Handling.
If the invoice matches the PO within tolerance, it is approved for payment.
If a discrepancy exists, the invoice is placed on hold (an "exception") and sent for investigation, which may involve contacting the vendor or procurement department.
Payment Processing and Documentation.
Once approved, the invoice is scheduled for payment.
All records (invoice and PO) are stored together for audit purposes to ensure accuracy and compliance.
There are also variations of this Matching Process:
2-Way: Compares Invoice & PO.
3-Way: Adds a Goods Receipt Note (GRN) to confirm receipt of goods in the warehouse.
4-Way: Adds an Inspection Report to verify quality.
Also remember that every company has some customizations and adjustments depending on which ERP they use and which industry they are in.
For this exercise, we focus on steps 2-4. We are still learning! Let's narrow it down:
Supplier sends an Invoice for payment. Invoice contains
Header (Company Name, Addresses, Dates, IDs for Invoice and PO documents)
Line Items of billed products/services as a table
Footer (Subtotal & Total amounts 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 Serviceand the invoice is sent for payment.
If Invoice and PO do not match - a Validation Task is created for the Accounting Team to review and provide a decision on whether to reject or approve the Invoice.
If Invoice was rejected by Accounting Team, an email is generated and sent to the Supplier with the reason and necessary details, along with a request to update and resubmit the document.
Let's visualize this process using UiPath Process Modeling tool!
Open the BPMN designer tool: https://bpmn.uipath.com/
Build the diagram as per the process description above
Export it as a .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 the UiPath platform. This way when we execute it, Orchestrator will trigger the appropriate Robotic and Agentic jobs, or ask for help from Humans!
Let's add some action into this diagram by adding a Robot!