Part 8. Ed in the clouds – NetSuite as an example of the automation of cloud-based ERP systems

Today, I and Przemek would like to tell you about the automation of ERP systems other than JD Edwards or SAP, meaning those based on cloud solutions. One such system is NetSuite, probably the best cloud-based production management system. As an interesting fact, I can tell you that the article on NS has been “ripening” for a very long time. And all in all, when it came to being, I don’t know why we worked on it with Przemek so long. After all, this subject is so amazing.

The Expert’s eye:

NetSuite from Oracle is a complete, fully scalable solution designed for fast-growing businesses. It is one of the products that is rapidly increasing their share in the cloud-based ERP market. This solution uses a cloud to store data, so its automation is slightly different. By using  an example of a process we have implemented for one of our customers, which was the updating of the Bill of Materials (BOM) version, I will tell you about the differences.

At the beginning, I’d like to add that dedicated solutions for backend automation had already been introduced by UiPath, but… not everyone can use them for configuration or access reasons. In our case, the solution did not allow changes to be made in the entire NS, but only in part of the application. Therefore, we decided on classic UI automation.

The first difference between a classic ERP and NS is that there is no database, which prevents the required information, such as the Work Order List or BOM Revision components, from being extracted at the SQL level. To solve this problem, we used Web Scraping – reading data directly from the screen.

Then, when using the mechanism for moving to the next Work Order (next ‘transaction’), in a cloud-based ERP you are not able, for example, to enter the WO number in the application, but you have to go to the WO with a unique link. The same applies to other tabs/applications. By using the Internal ID field (hidden by default, but optional in NS) and the fixed part of the address, we have managed to create a mechanism that allows you to navigate within the NetSuite system without the nuisance of clicking on the screen for a lengthy period – i.e., direct navigation.

One of the last discrepancies was the selectors. While in classic ERPs a field has one fixed selector, in NetSuite we have encountered cases of fields with two (or sometimes even three) different selectors, depending on whether it was active (clicked) or not. In addition, the allure of a web application is that sometimes an internal window/button is visible for the robot searching for a selector even though it does not appear on the screen (visible/active parameter disabled on the page).

The last problem we encountered was related to the unambiguous selection of a component (product) name if there were several items starting with the same characters in the Field Values list. This was strictly due to the nature of NS and its manner of displaying lists. Despite the initial difficulties, we have managed to develop a mechanism to check whether the selection is ambiguous or not, and for this we used an extended search with the option to set searching for a specific text. You may ask if it was not better to use it from the beginning? The answer is no – this search requires the opening of a new window, checking several boxes and waiting for the result, which means it takes  a few seconds more for processing a single component (product). It doesn’t seem much, but in the context of the entire process, it extends it significantly.

In summary, the automation of cloud-based ERP systems has pros and cons. In some cases, it will certainly be faster than automating traditional ERP systems, but it requires finding the appropriate solutions.

Author: Przemysław Wal – RPA Developer

Foto: iStock

Part 7. Edwears Prada – his new Framework

This week I’d like to admit something to you. When I called Rafał to discuss the issues related to the Framework, I realised that working with the entire XELTO DIGITAL team is a pure pleasure. Each person in our team is responsible for specific process automations, but if anyone of us is facing an issue that they can’t figure out they are not left on their own with the problem. Thanks to this support, joint discussions and “brainstorming”, a model for building robots has just been developed. But before we talk about all of this with Rafał, I have to, at this point, thank my colleagues for cooperation.

With the Expert’s eye:

UiPath promotes the creation of solutions based on the ‘Robotic Enterprise Framework’, which ensures the basic implementation of the key concepts which support the creation of automation.  Together with the XELTO DIGITAL team, we have gone one step further and developed an expanded version of the framework, which forms the basis of the robots we build.

What does this give us? 

 1.Standardisation

For each customer all processes are built in exactly the same way. This has allowed us to implement a number of common mechanisms at the design stage. When opening a new project, the developer no longer has to worry about logging, main error handling or preparing the environment. For example: when using the TypeIntoElement procedure, the developer will log with a single block if an item exists, write the value for it using the method of their choice, check that the value entered is correct, and if something does not work, they can repeat it X times. In addition, both logs and error messages have a uniform format and provide us with key information.

2. Security

With built-in mechanisms, each process can make the basic preparation of a machine for operation and leave the environment ready for the next robot. In addition, whatever happens, the robot is able to gracefully close all open applications and leave the workstation in the same condition as it found it. If the robot works on a Windows server, it knows that it should shut down processes for a specific user session only, allowing multiple robots to work safely at the same time.

3. Accelerated production

It takes about 30 minutes to prepare a model for a new project. During this time, the developer receives a package of end-to-end solutions for which it would take at least a few days to design, build and test if it was done on a one-off basis. In turn, the use of reusable components allows for the quick construction of process actions. I’m writing here about both the universal procedures in the framework and those developed for specific applications which are available in the auxiliary libraries we have built. For example, the already mentioned TypeIntoElement and ClickElement will run on each web application, while the NavigateFastPathJDE is a procedure built exclusively for handling the fast track in JDE.

4.Better Technical Support SLAs 

The standardisation of the robot creation process improves the diagnostic time if errors occur in the process operation. There are two reasons for this: first, specific errors can only occur in specific locations. If the ODBC connection does not work, we know right away that the problem should be looked for in the ‘get transactions data’ area. As a result, the time required to find the problem area is significantly reduced. Second, we have introduced uniform error codes for all robots and divided them into those for which the business is responsible and those that appear as a result of the applications used. If, when monitoring the work of robots, we see a message, such as B0001, it is immediately clear to us that the robot failed to log into the application because the password had expired.

In summary, the implementation of our own robot building model means that the new processes are built more quickly and safely, easily fitting into any existing robot infrastructure at any customer’s site.

Author: Rafał Korporowicz – Senior RPA Developer

Foto: iStock

And If I’m replaced by a robot…?

In 1983, the Times magazine cover depicted a robot carting a factory off on a wheelbarrow and announced the article entitled: The new economy. The article was devoted to future predictions in the time of a recession and bankruptcies in heavy industry, prophesying a reduction in blue-collar jobs. It was a time when the industry of new technologies, as exotic as microelectronics, laser, genetic engineering, was emerging; completely new areas of development were coming into existence, as in the case of Apple, which was just then transforming from a garage company into a powerful corporation. Concerns were rising about the development of automation and the possibility of replacing entire sectors of workplaces, thus far controlled by man, with robots or automatic machines.

But after all, man has been afraid of automation since the launch of the first machines. We have heard of the destruction of machinery in factories in the early 19th century; it was a well-organised movement of the so-called Luddites who were protesting against the changes in the way of their life and the threats posed by the invention and application of weaving machines. Night attacks on the weaving plants, the destruction of machinery or the intimidation of people did not reverse the industrialisation process, similarly as the ban on using pneumatic paint sprayers by factory workers imposed by the American trade unions almost a century later. Nevertheless, it clearly showed that fear of the new has and will always accompany man, irrespective of the times they live in.

However, figures say that the mechanisation of production led to a sharp increase rather than a decrease in the number of jobs. For example, in the USA, 140 thousand people worked in the motor vehicle industry in 1910, while in 1920, as mechanisation was progressing, the number of jobs increased up to 250 thousand, and in 1930 there were as many as 380 thousand people working in this sector.

Following the publication of the article “The Future of Employment: How susceptible are jobs to computerisation?” by Carl Frey and Michael Osborn in 2013, the app WILL ROBOTS TAKE MY JOB? was even created and it has been working up until today to tell you how likely it is that your position will be replaced by robots. Are you a computer system analyst? – today, the likelihood that your position will be replaced by a robot is extremely low, amounting to 0.7%. At the same time, the purchasing manager position, meaning the tasks of an employee in the procurement department of a large company, already has a 98% risk, with a further 59% increase in the next two decades. But the risk of an analyst being replaced will increase by 32% over the next 20 years The article predicted that the low risk of job computerisation concerns only one in three workers, mainly those employed in education, health care, artists, managers at different levels and, of course, IT professionals.

But will this perspective look the same in a few years’ time?

As we have mentioned, fear of automation is not new. Today, as a result of automation, certain groups of employees are being made redundant, but, at the same time, new jobs are being created (often paid better than the ones that were lost), and usually, with the exception of the difficult transition period, the situation is improving.

Let’s consider machine learning and robotics, which find ways of doing the same things better, faster and cheaper and for which people with specific competencies were employed for decades. In the event of such a specific replacement, employees are moved to other roles. And again, as in the case of the industrial revolution, it is rather unlikely that the transition period will be painless. Time will be needed for people to retrain and for managers to reinvent roles for the freed workforce. And they have much less time than they had a century ago. Changes are taking place faster than ever and have a much wider reach.

In conclusion, let’s return to the Time’s article. A quote from 1950 was cited there. It is the opinion of John Diebold, a management consultant from New York: “At various times, usually at the depth of a recession, people have said it was going to be horrible from here on because of automation. But a couple of years later, it’s all forgotten. Certain types of jobs die, and others grow. That is the sign of a healthy economy”. There’s nothing to add, despite 71 years…

Source: Will Robots Take My Job, Strach przed automatyzacją (Fear of Automation), https://en.wikipedia.org/wiki/Luddite(TIME) The new economy

Author: Monika Stawicka – Business Analyst

Part 6. White List. Can it be verified differently?

I remember how all entrepreneurs began their adventure with the White List. Of course, everything started with a great deal of chaos. Sometimes I wonder if every change has to start this way. But in fact, changes are good. At least, I like it very much when something is still happening. Going back to the White List, everyone was afraid, nervous about how it would function. And it turned out that the devil’s not as bad as he seems. All in all, Bond did not use this saying, but I’m sure he had it in his blood. Sitting with Przemek and sipping coffee, I heard a bit about the White List:

With the expert’s eye:

Since 2019, there is an obligation to verify counterparties with the so-called White List in Poland. It is a government list (search engine) of all companies, indicating their status as a VAT payer.

There are solutions in the market that allow for the mass polling of the White List database via the API, although they are dedicated to and tailored-made for a specific customer and ERP system. They also have certain limitations, directly derived from the principles of the law, with regard to the maximum number of daily enquiries that can be made, as well as the maximum amount of data to be processed (maximum 300 records).

As XELTO DIGITAL, we have developed another way of verifying the White List based on an automated search on the website, without using the API.

The user provides a list of tax ID numbers and/or bank account numbers of the counterparties. Then the robot checks each number one by one on the VAT taxpayers’ search engine page and collects the necessary information such as: the status of the taxpayer, validation whether the account number(s) is (are) on the list of verified accounts, the search date and the unique ID. Next, it saves this data in an output file that can be placed in any location or emailed to the ordering person.

In contrast to the already existing solutions, the advantage of this one is its considerable freedom in configuration for the customer, enabling them to tailor it to their specific needs.Another great advantage is circumventing the limits that exist for API queries, because in this solution we simulate human operation, opening the website and searching for payers ‘manually’.

If the process is automated using the user interface, it is slower than sending queries via the API.  Yet, it is still many times faster than a person would do it, and you can avoid the limit on the number of searches. Technically, the process development requires attention to be paid to selectors of the search buttons – after the first search, the button moves to a different location on the screen, and although it looks exactly the same, its selector is different in subsequent queries. If the input file contains both the tax ID numbers and the bank account numbers, the list should be separated in the robot code.

The robot first checks the bank accounts and only then the tax ID numbers, thus avoiding unnecessary switching between screens to search.

Author: Przemysław Wal – RPA Developer

 

Part 5. Standardisation vs. Automation.

To standardise or to automate – that is the question. Not only did the great classics like Shakespeare ask themselves and the world important questions. Sometimes I like to sit on our company balcony and think about the different aspects of automation and other things. As it turns out, our small balcony is loved by all XELTO DIGITAL employees. Watching the sunset, we started a rather interesting polemic with Monika:

With the Expert’s eye:

Each business is constantly changing. The way in which a company deals with changes when labour costs are increasing, when customer demands are growing, when fears arise concerning the effectiveness of the existing solutions, or when competing with competitors. Being aware that changes are expensive, we look for the areas where the process of changing will allow the goal to be achieved in as short a time as possible and at the lowest possible cost.

What to start with then?

Certainly, with naming the points that slow down the processes, the elements that generate most errors or consume large amounts of time bringing poor results across the company. In every business, processes can be found that are obsolete, involve old technology and are largely based on, unfortunately, human fallibility. This is particularly evident in large companies, which have many branches and where a process defined at a specific time and place (which has, actually, been very useful for a long time) begins to act up. It slowly becomes inconsistent or is conducted differently depending on the conditions under which it is triggered. Operating conditions often play a role in unintended process modifications and cause its original definition to disappear below the layers of interpretations and exceptions. (These conditions may include business units located in different countries, with different working cultures or different customs.) Any advice? The first and, for some time, the only solution was to look at every event in the same way whenever it appeared or whenever a specific type of work occurred and make an attempt to standardise it.

Standardisation meant that all known steps were unified until consistent processes were achieved. Needless to say, the operation of recognising and evaluating various tasks and events itself has always been time consuming, and it entails measurable costs. If we now add the time required for another effort, i.e. automation, the moment when the expected changes are achieved is postponed.

Therefore, the question has to be raised: what is the real purpose of this operation?

Do we want to have standardised processes (ready to be automated) that run uniformly across all areas of the company, or it is about saving labour costs and unlocking the potential of people? If we think of standardisation itself, we can forget about savings.

So, rather than comprehensive standardisation prior to automation, let’s focus on standardisation THROUGH automation. The selection and identification of processes that need to be changed is a prerequisite for this. Let’s replace the time we would spend on, to say colloquially, straightening crippled processes with putting effort put into analysing the areas where process automation will be the best solution.

The most important goal of automation should always be the willingness to relieve your employees of the burden of laborious and monotonous tasks to finally enable them to develop themselves. There is an interesting observation: from the employee perspective, standardisation does not change much, unlike automation. Given the expectations they have with regard to both processes, the employees are much more actively interested in the introduction of automation, because there is the opportunity to turn the laborious tasks over to a robot at the end of this process. By getting rid of repetitive and frustrating activities, they simply get back to commitment, often lost a long time ago.

To recapitulate, without sacrificing it, standardisation can be modelled to be part of automation, not an end in itself. And what is equally important, attention should be focused on the potential of employees. According to observations, the employee’s potential increases in proportion to the delegation of tasks to robots.

Autor: Monika Stawicka – Bussines Analyst

Source: Should You Automate Your Processes “As-Is” or Standardize First?

Part 4. ODBC – Oppressive Database Colossus?

I’m smart, I’m courteous – I’m already well prepared to automate a number of business processes in a cultural way for you. As you well know,, companies use a lot of applications, run on multi-year systems, and process a huge amounts of data that are growing daily.
One day, we got into a discussion about ODBC with Tomek. I like our conversations very much – we both believe that the impossible is does not exist:

With the expert’s eye:

Working with data is an integral part of many processes – Machine Learning, Data Science, and also RPA often need to operate on complex data sets with thousands of records. In each of these cases, the correctness of data is very important and, unfortunately, the human factor is highly susceptible to errors. However, we can deal with these issues in different ways.

During automation we often cope with the complex processing of large amounts of data that may stop the process at different stages, which results in less or more time loss. Therefore, it is an excellent idea to use databases of automated applications to verify supported data. Applications often have built-in input field validation capabilities, and thanks to the access we have to them, we can eliminate some process-impacting errors at an early stage.

The UiPath.database.activities package is very useful for this, as it allows us to create a connection to the database through the ODBC interface, and then work with data in read and write mode. A simple example is the processes running in the ERP JD Edwards system where automation often requires the creation of new records (usually by interconnected applications). In addition, let’s stress that this system is less suited for automation, which means that some tasks can only be accelerated to a limited extent. Any time saving is valuable to us, and it is very desirable to exclude erroneous actions at an early stage. In this system, we can verify the sample input data (to be typed in one of the applications) at the very beginning by checking that the data selected by the user in the source tables storing possible values for these fields actually exist.

Thanks to the above operations, we can reject erroneous tasks in a few moments, without having to catch errors when processing tasks in the JDE system, thus gaining time which is so valuable to users. It is also an additional advantage for high-priority and highly complex processes. Informing the user that his or her task contains errors before it is actually processed makes it possible to minimise the issue of urgent tasks that go beyond the specific time frame.

The interface operation by a robot is probably more spectacular for users. However, everything we can do by using e.g. API to improve safety, reliability and the efficiency of a robot seems reasonable. Therefore, we recommend the cooperation of robots with databases to improve performance and thus satisfy the end-users of our processes.

Autor: Tomasz Sioła – RPA Developer

Foto: iStock

Withholding Tax – What does automation help you with? (I)

Searching the foreign databases of contractors.

 Withholding tax is a kind of CIT tax which is applied to cross-border transfers made from Poland. It is a form of income tax (applicable for legal persons and natural persons) collected by withholding agents on certain revenues (including, but not limited to, dividends, interest, royalties). CIT withholding tax is levied on a transaction when the recipient of a transfer (who becomes the taxable person) has a different tax residence than the sender of a transfer (who pays the tax). Poland has signed double tax treaties. According to these provisions, the Polish sender of a transfer for services provided by a foreign contractor paying withholding tax must know the tax data of the contractor whom the tax will be charged to.

In view of the new regulations, Polish tax payers who make cross-border payments of more than PLN 2 m (in a given year to a given payee) are obliged to collect withholding tax at the appropriate rate, i.e. 20% or 19%.

The collection of the tax can be avoided if the management of the Polish entity making the payment makes a statement that, among other things, it has verified with due diligence that the foreign entity receiving the payment is the beneficial owner of the payment and runs actual business activity. However, if this is the case, the liability for uncollected tax and risk in the event of a future dispute with the tax authorities is transferred to the management of the Polish withholding agent. The application of withholding tax (WHT) exemption will also be possible after obtaining an individual opinion from the tax authorities confirming the relevant status of the foreign recipient of payments made from Poland.

Due diligence involves checking and retrieving contractors’ tax data, such as tax identification numbers, business addresses, and residence addresses. For an employee of the company that pays withholding tax, this means hours spent on various foreign tax services, searching the databases of registered contractors, and retrieving their tax data. The more countries of origin for contractors, the more data there is to be checked; Europe, the United States or Japan – each area has its own tax reporting services, and it is a very time-consuming task to request data from these services. For a company purchasing multiple services that are subject to withholding tax, this means a lot of time spent preparing tax data.

In this case, automating the search process for contractor data is a huge benefit. Ed Robotowsky’s job is to relieve the employee of the company by taking over the process of checking and retrieving the data of contractors from different countries and tax areas.

The data to be processed in the automation process is a list of contractors and a list of countries and tax services for these countries, and the robot’s activity is to provide the employee with data divided into two groups: the data which can be obtained publicly and the data which are accessible after a certain amount is paid. The whole operation takes place, so to speak, in the background of the company’s activity. The robot operates smoothly and provides the necessary reports for analysis.

Then, all the employee has to do is to assess the relevance of the paid data and request the robot to download the one which they decide to pay for. In this way, the robot with a mechanism to make payments to the specific bank accounts of such services and receive the paid-up tax data continues to operate. The final report provides data that meets due diligence requirements for verifying a foreign contractor.

Source:https://www.podatki.gov.pl/wht/podatek-u-zrodla-wht/, https://www2.deloitte.com/pl/pl/pages/tax/topics/Podatek-u-zrodla-WHT.html

Author: Monika Stawicka – Business Analyst