With the growing adoption of Robotic Process Automation (RPA) technology, companies have started to look for ways to apply RPA in ERP. In this blog we will cover how RPA can extend your ERP capabilities.
If you work for a large organization and your ERP application is supported by a global support team, you may have probably faced situations where end user requirements or application improvements can not be implemented quickly. This is because the global support team is involved in other projects that respond to other priorities, leaving them with no capacity to focus on your less urgent requests. Also, most of the times you won’t have the permission or approval to implement the adjustments locally, as the global support team is the only one allowed to modify the global ERP application, whether this is SAP, Oracle E-Business Suite, Oracle ERP Cloud, Microsoft Dynamics, a custom built solution or any other. This is a dead end road where the most affected party is the user, who cannot have the functionality he needs and has to rely on indirect and awkward solutions that usually require manual work, re-entry of data into different systems, and many hours of data adjustments entered on large spreadsheets.
As an IT solutions provider, we at IT Convergence are used to analyze the problems under different perspectives and we have found that technologies can sometimes be used for purposes different from those they were designed for and still be of great use for end users.
RPA in ERP
This is the case of RPA, a technology defined to automate human actions performed on a digital environment. RPA is not supposed to be used as a development platform to extend ERP applications, like what you do when you create a new report or interface two applications. These are functionalities you typically implement building code with the tools provided by your ERP, like form designers, report builders, etc. But when working with the natural development framework for your application is not possible because the only party allowed to extend your application is not available for your requirement, then working with RPA can be a great solution. This is because RPA works at the User Interface level meaning you don’t need to modify the application code or database in order to insert or get information from it.
Working at the User Interface Level
RPA technology interacts with an application or tool at the same level of a human, which means it can work with an application or desktop tool using the same functions than a human would use. RPA can enter information into an application through the same Forms or read data using the same Reports a user would use. This is a key feature that allows extensions to an application to be implemented without the need to modify it by creating new programs. Direct access to the database is not required either as all operations are performed through programs (Forms, Reports, Processes, etc.) that already exist and manage database access.
From an IT security perspective this approach guarantees the infrastructure is never compromised as the new functions implemented through RPA are really not impacting the database directly as they’re working through already existing programs that are thoroughly tested and perform as expected. So the new extensions built through RPA are safe and secure and do not represent a risk to the application.
Where RPA Can Be Implemented
Below is a list of operations that can be automated as an alternative to a custom development extension. Please note in all the cases, building the extension using the natural application development framework would be the best choice, but given the constraints described above we assume that is not an option and so the alternative of using RPA in ERPs to create the extensions is suggested.
- Reports: An RPA process can easily navigate through different windows in an application, query for specific information and put into a spreadsheet from where it can be analyzed. The process can include running other reports to use as a data set, applying calculations, filtering records and adding information from as many sources as required.
- Data Entry Forms: RPA tools provide the functionality to create simple data entry forms that can be leveraged to enter information into an application. As RPA works at the User Interface level, database insertion will always be done using the standard forms available in the application but creating new RPA based forms can allow users to enter the information in an easier way and simplifying the navigation through the standard forms.
- Request Sets: Some business processes require that multiple jobs are executed requiring users to launch multiple processes waiting for each other to complete before running the next one. An RPA process can be configured to run the complete set of processes or reports, requiring the user to execute only one action and then leaving the job of running the set to the robot process.
- Multiple Transaction Entry: Some transactions require that multiple records are inserted into an application through different standard forms. Leveraging Forms created with the RPA tool, users can enter the information once and then leave it up to the robot process to navigate through the required application forms to insert the pieces of the information required by each one and releasing the user from the task of entering the same identifying information multiple times.
- Spreadsheet Download/Upload: Generating a spreadsheet with information collected from different application sources is something easy to achieve through an RPA process and also getting information from a spreadsheet and using it to create transactions into an application is also something simple to do, providing users with functionality that otherwise would not be available for them and would require manual input.
- Send Email: Many communications are based on information extracted from an application and used to craft an email message. This can be achieved through RPA simplifying the operation for end users.
Every application has its own development framework that can be used to customize or extend the standard functionality. But this process cannot be available if modifications to the application are only allowed when implemented from the support team. When this becomes a dead end that prevents users from implementing the necessary adjustments to the application, RPA can solve the problem and provide the features required even when that’s not the purpose for which RPA tools have been designed.