EDI Connector in Working
EDI Connector Code part 1
EDI Connector Code part 2
EDI Connector Code part 3
EDI Connector Code part 4
EDI Connector Code part 5
Tangentia Automation consultants were speaking to a large customer in India who were implementing UIPath for their Accounts Payable process and they were receiving invoices from their vendors in multiple formats and their accuracy was only around 60%. Tangentia has a separate business unit called Tangentia EDI that manages EDI for 1000+ companies worldwide. At a water cooler, a Tangentia Automation consultant ran into a Tangentia EDI consultant and they spoke about how they would each approach an Accounts Payable process automation and then we had our eureka moment- why not create an EDI connector from UIPath and that is how we got started on this.
The business case: Many companies and many of their vendors already have some EDI infrastructure in place to exchange structured business documents and if we bring those documents within RPA enabled process, we could definitely increase our accuracy within the process as a whole, as well as make the processes easily scalable.
What it does
EDI Connector within UIPath takes credentials and dates from the user and returns List of invoices with its details. Within the EDI Connector, the following are the 2 major components
Communication: The EDI connector makes a secure connection with the Tangentia Gateway Cloud EDI Portal and then calls a REST API to fetch EDI information. Currently, it calls Tangentia Gateway, but it can integrate with other EDI applications as well. Additionally, it has been tested with IBM Sterling B2B Integrator.
Data Transformation: Converts Raw ANSI-X12 EDI to JSON and makes it available to the UIPath data model.
How we built it
Our EDI Connector is built using the following steps:
First, a code was developed to make a secure connection to the EDI gateway, where the credentials such as username and passwords are authenticated. The session is created with the help of tokens to ensure valid users and correct information is fetched.
Second, we wrote a REST API code that fetches invoice headers and their details. This API was called within the DLL to fetch raw JSON data.
Third, the fetched JSON data is then deserialized to invoice class and finally, the invoice class is returned as the output to the Uipath activity (returned as data type List).
Finally, the DLL developed above is packed in NuGet explorer and imported to Uipath Studio to be used as an Activity.
Challenges we ran into
Converting the EDI file to human readable format was a challenge. Since the output of any EDI gateway is a file of a type *.edi and of a format which is not readable by any user due to its complexity of structure (ANSI-X12), parsing through them is a challenge within UIPath. To overcome this challenge, we developed REST API code that retrieves the invoice data from the database and translates it into UIPath readable data format as described above.
What's next for EDI Connector
Tangentia Automation and Tangentia EDI consultants are looking at beta customers for the UIPath EDI Connector and will be looking at expanding the scope of the connector from the existing Accounts Payable (AP) process to cover the entire gamut of Order to Cash and Procure to Pay processes within the enterprise. With Tangentia's deep experience in EDI and B2B, we should be able to lend a lot of value to UIPath implementations especially in Retail, CPG, Government and BFSI.