=Paper= {{Paper |id=Vol-2698/paper17 |storemode=property |title=Service Quotation Generation Using Robotic Process Automation Technology |pdfUrl=https://ceur-ws.org/Vol-2698/p17.pdf |volume=Vol-2698 |authors=Agne Paulauskaite-Taraseviciene,Vilius Kerutis |dblpUrl=https://dblp.org/rec/conf/ivus/Paulauskaite-Taraseviciene20 }} ==Service Quotation Generation Using Robotic Process Automation Technology== https://ceur-ws.org/Vol-2698/p17.pdf
Service Quotation Generation Using Robotic Process
Automation Technology
Agne Paulauskaite-Tarasevicienea , Vilius Kerutisb
a Department of Applied Informatics, Faculty of Informatics, Kaunas University of Technology, Kaunas, Lithuania
b Faculty of Informatics, Kaunas University of Technology, Kaunas, Lithuania



                                          Abstract
                                          Robotic Process Automation (RPA) is one of the fastest growing segments in the enterprise IT space enabling the automation
                                          of repetitive tasks performed by humans. RPA is usually applied to various business processes and activities in sales, customer
                                          relationship management, support functions, etc. A service quotation generation (SQG) is a process often used in sales market
                                          for creating a service quotation, tracking it, and, after acceptance, transferring it to a service order. SQG can be designed in
                                          different ways and for different purposes, but in general it is repetitive and rule based process thus a good candidate for RPA.
                                          In this paper RPA approach is proposed for automated service quotation generation. The time-effectiveness of the proposed
                                          technology was tested with different amount of tasks (cases). Results obtained through automation are superior more than 2
                                          times to those achieved by human labour.

                                          Keywords
                                          RPA, service quotation generation, robots, SAP, scripting technologies


1. Introduction                                                                                                       Summarizing all approaches it can be concluded that
                                                                                                                   most important criteria for assessing RPA suitability
Robotic Process Automation (RPA) is a new technol-                                                                 are − rule based and repetitive process, usually includ-
ogy utilising software robots for automation of repet-                                                             ing low-complexity tasks, high transaction volume and
itive back-office processes. It finds applicability across                                                         availability of digital data [13, 14].
industries and business functions [1, 2]. The main goals                                                              RPA is the fastest-growing enterprise software cat-
of RPA are the following: (1) eliminate the need for a                                                             egory, therefore there are numerous RPA tools and ap-
human to work on repetitive tasks; (2) speeding-up a                                                               proaches available in the market [15, 16]. But choos-
process; (3) remove human faults; and (4) achieve 100%                                                             ing one could be a challenge, because they can differ
accuracy of a robot. The applications for RPA are nu-                                                              in features provided (drag & drop functionality, text
merous and growing every year, but some of the most                                                                recognition, intelligent automation, scraping solution
common RPA tasks include banks and financial opera-                                                                and etc.), OS support, architecture, platform and cost.
tions [3, 4] insurance functions [5], tour enquiries [6]                                                           Recently, the most popular RPA tools are “Blue Prism”
and logistics services [7]. However, the identification                                                            [17], “UiPath” [18], “Automation Anywhere” [19] be-
of candidate tasks suitable for robotic process automa-                                                            cause of the platform independency, smart technolo-
tion can be estimated under various features and tech-                                                             gies and industry type.
niques [8]. The identification of automation degree of                                                                A service quotation is a specific document of the
tasks described in a textual process description fea-                                                              service order, which is often used in sales market in or-
tures can be analysed using machine learning tech-                                                                 der to track it, and, after acceptance, transfer it to a ser-
niques [9, 10].                                                                                                    vice order. Service quotation generation is a rule based
   Business Process Model and Notation (BNMN) sche-                                                                process, not dependent on human judgment, standard-
mes can be created and later analysed for RPA suit-                                                                ized and repetitive, thus it is a good candidate for au-
ability [11]. Mouse actions and keyboard strokes per-                                                              tomation using RPA technologies. To evaluate the pro-
formed by users combined with a sequence of screen                                                                 cess automation effectiveness, this paper presents an
images can be employed to evaluate RPA demand in                                                                   RPA approach for automated service quotation gen-
non-invasive manner [12].                                                                                          eration incorporating “Blue Prism” and SAP scripting
                                                                                                                   technologies. The experiments have been carried out
IVUS 2020: Information Society and University Studies, 23 April 2020,                                              to estimate how stable, faultless and fast the automa-
KTU Santaka Valley, Kaunas, Lithuania                                                                              tion process is comparing to a human labour.
" agne.paulauskaite-taraseviciene@ktu.lt (A.
Paulauskaite-Taraseviciene); vilius.kerutis@ktu.lt (V. Kerutis)

                                    © 2020 Copyright for this paper by its authors. Use permitted under Creative
                                    Commons License Attribution 4.0 International (CC BY 4.0).
 CEUR
 Workshop
 Proceedings
               http://ceur-ws.org
               ISSN 1613-0073       CEUR Workshop Proceedings (CEUR-WS.org)
2. Service quotation generation                              has to approve his actions by pushing the button, but
                                                             he cannot do that for one reason or another, it will be
   process                                                   a system error. Queue items with system exceptions
Service Quotation Generation (SQG) - at a higher level,      are repeatable most often, up to three attempts. In-
it is a process where quotations are created from fil-       ternal errors are associated with unpredictable cases,
tered orders (with detailed information) and then sent       when robots in a certain situation do not know how
to the clients. SQG can be designed in different ways        to behave and consequently have to terminate their
and for different purposes. The process of SQG in-           job. These errors are visible in the processes manage-
cluded in this research is described below.                  ment part only. The biggest challenge is to predict all
   First of all, the whole process has to be separated       the possible scenarios in process execution in order
into smaller sub-processes to reach scalability. It is       to avoid terminations. The algorithm of the process
separated into three sub-processes: “Populate Work           should handle different/new situations and to ensure
Queue”, “Main” and “Reporting”. The first sub-process        stable working process for all cases.
loads all filtered sales orders from SAP into the “Blue         Structured description of SQG process is divided into
Prism” control room queue. Only one software robot           7 steps and presented in Fig. 3, including the explana-
(digital worker) is required for this task. The “Main”       tion of four SAP transactions, VA05, VA03, VA21, and
sub-process is responsible for the process logic con-        YVAFE [20] involved in the process.
trols. To ensure effectiveness multiple robots should
be involved in this sub-process. Items from the queue        1/2 steps The first SAP transaction VA05 is used for
are taken one by one and independent quotations are          getting, filtering and adding sales orders to the queue.
generated. The process automation needs one robot            The two steps are pretty simple: go to transaction, set
to create a queue, and the particular number of other        company code and date period of sales orders, get all
robots to do all tasks form the “Main” sub-process. The      sales orders, add three more informational columns:
last sub-process “Reporting” stands for storing infor-       material, description, order quantity. Filtering provides
mation related to the current state of tasks. It takes all   all sales orders by material numbers, but before this
data from the working queue, reads significant infor-        step it is necessary to read material numbers from .xml
mation and makes a report. This report is transferred        format file. The next step is to add all filtered sales or-
to human workers who are responsible for operating           ders to the queue. The sub-process “Populate Work
the robot. To complete all tasks of the “Reporting” sub-     Queue” uses only one SAP transaction to do its task.
process one software robot is required.                      This sub-process cannot be performed by multi–robots
   After execution, the responsible persons can find all     because there will be created duplicates in a queue and
required information about the queue items. For ex-          the whole process cannot be separated in several inde-
ample, it can be identified whether it has been a suc-       pendent parts.
cessful execution or not, which is marked as a green
check symbol or a red flag respectively. In case of suc-     3 step The “Main” sub-process needs the other three
cess, customers only care about execution parameters         SAP transactions (VA03, VA21, YVAFE) to execute the
like quotation number, Purchase Order (PO) number            process. The first transaction is used for getting in-
and other quotation related data. Moreover, employ-          formation about the client (his/her e-mail and name).
ees, who are responsible for operating the robot, have       In this step there might be some business exceptions,
to be sure that approved cases are certainly successful      because the robot may encounter missing values of an
and there are no logical mistakes in execution. In the       e-mail address or name. Here, the robot first of all goes
case of an exceptional – unsuccessful operation, ex-         to this transaction and writes a sales order document
ception type must be verified. There are three types of      number. Next, it tries to go to the “Partners” tab to get
exceptions: business, system and internal. Business ex-      an e-mail address. There is more than one tab and by
ceptions include data errors. For example, if the robot      default. Usually, the robot goes to the eighth tab, reads
instead of information in e-mail address format gets         its name and if there is a “Partners” tab, the robot tries
information with unknown/wrong format, it will be            to get an e-mail address. If there is no such tab, it goes
considered as a business exception.                          from the beginning of tabs one by one to find the “Part-
   Queue items with business exceptions are non- re-         ners” tab. When a robot finds an e-mail field, it reads
peatable because it makes no sense to repeat it as the       it and saves into memory. If there is no email (after
data will not change. System exceptions are associated       all searches) – it is considered as a business exception.
with application based errors. For example, if the robot     The same actions are performed while searching for




                                                         122
the customer’s name, but by default, robot is initially
placed to the tenth “Order Data” tab.

4 step RPA service product analysis is performed in
this step and it follows the actions, described in step 3.

5 step The second transaction VA21 is used to cre-
ate a quotation. It is the most difficult transaction for a
robot to perform. A digital worker has to write all data
from VA05 and VA03 transactions very carefully and
correctly. First of all, the robot goes to VA21 transac-
tion, then sets up an initial screen, where all fields de-
pend on the company and are always constant. Next,
the digital worker has to fill in all the required fields
to create a quotation. Required fields usually include
- the purchase order number, document date, valid to
date, some fields about company parameters and mate-           Figure 1: RPA marketing material selection algorithm
rial numbers (must be read from .xls format file before
writing). In this transaction, the robot has to enter the
customer’s name from the VA03 transaction, which is            cific customer. The “Main” sub-process can be exe-
initiated after completing the required fields and the         cuted with multi robots. All robots can take data from
next actions are the same as in VA03 transaction with          different sales orders and create different quotations
tabs. The essential thing is that a robot has to write         independently at the same time.
the customer’s name – not to read. If this action is
performed correctly, SAP will display a message with
information about the created quotation and its num-           3. Realitazion
ber. A robot has to filter out quotation number from
the message using RegEx (regular expression) and save          All interactions with SAP are executed using SAP scrip-
it to the memory.                                              ting. SAP buttons, tabs, fields, windows, tables and
                                                               other elements have their references. Using “Blue Pri-
                                                               sm” code stages and SAP references, robots can inter-
6 step In this step RPA marketing material selec-
                                                               act with elements in every possible way. For example,
tion is performed. Here, the algorithm (see Fig. 1) for
                                                               if there is a button, the robot can press it using the code
achieving part material is executed.
                                                               stage press method. The biggest difficulties arise when
   Data from Logic Template .xls format file is included
                                                               there is a need to read the whole data table (all sales
in the customer_MAT. Meanwhile A, B or C is filtered
                                                               orders) into one data set called a collection. Collec-
one row from the corresponding lists. If sign “X ” is
                                                               tion in “Blue Prism” is like a two-dimensional array/
found in A column, material number is recorded. Spe-
                                                               a hash table mix, like a two-dimensional array with a
cial case in MAT has two signs “X ”, therefore addi-
                                                               header. To use SAP scripting IDs of the session and
tional checking is performed to verify part_MAT value
                                                               connections must be known, but these IDs are always
and the index. Additional checking is performed to
                                                               the same and usually are equal to zero. Connection
identify if there is a specific_Mat in the order. If the re-
                                                               ID always depends on how many users are connected
turned value is true, part_MAT is added to selected_
                                                               to the same resource computer. The whole process
MAT. “X “ sign denotes which part_MAT is selected
                                                               should be done by one user and thus the connection
(see Fig. 2).
                                                               ID should always be equal to zero. Session ID depends
                                                               on how many SAP windows are open. It means that all
7 step The last step is to go to the YVAFE transac-            transactions can be opened in different windows and
tion and send a quotation to the customer. The robot           have different session IDs. Using best practices, the
needs to go to the transaction, write quotation num-           robot always does its job in a transaction and goes to
ber, review quotation, write customer e-mail address,          another transaction from the same window. As a re-
send quotation to the written e-mail address and close         sult, the session ID always remains the same number
all confirmation pop-ups. These steps define the pro-          and equal to zero.
cedure, how the quotation is created and sent to a spe-            The main goal of this process it time optimization.



                                                           123
Figure 2: The example of a special case: having two material 1501328 and 1501331 only part material 8044342 is selected




Figure 3: Scheme of automated service creation (original: agent quotation support)



The digital worker can generate one quotation much       cess execution. However, there is a possibility to im-
faster than physical human employee. Robots can work     mediately stop the process. In the control room we
twenty-four hours per day, seven days a week without     can request the stop for the current process and then
any pauses and breaks or holidays. Even one robot        the robot will stop process execution after it finishes
can increase the process of service quotation and re-    a current case. There also are some certain variables,
duce costs significantly. There is a need only for one   called “Session variables”. Values of variables might be
physical human to ensure that digital worker operates    changed in the control room even when the process is
properly.                                                in execution stage.
                                                            It is very important to denote general robot behav-
3.1. Rules and Constrains                                ior rules and reaction to the information predefined in
                                                         the settings file. However, such rules may be modified
When the RPA process is executed, we cannot change according to the required changing needs.
any steps of the robot but we can do monitoring from        Rules according to the settings file:
the control room. There we can see the current robot
step. Different applications such as “VNC Viewer” can        1. Customer email must be found in a first choice
be used to monitor real-time execution processes. “VNC           line, if not – then in a second choice line, if not –
Viewer” is a program for logging into another virtual            then in a third choice line. If no email is found in
environment allowing to view the processes from the              all choice lines – business exception is recorded
outside. In case of an emergency, there is a possibility         and the case is ended.
to untick “View only” checkbox from “VNC Viewer”             2.  Quotation    must be sent by email to primary re-
parameters and make some changes in real-time pro-               sponsible   person  and



                                                         124
   3. to the customer, if there is a “yes” option selected
      (Question: “send a service quotation to the pri-
      mary responsible person as well”) in settings. If
      no email is found in the “Primary Responsible”
      line – business exception must be thrown.
   4. Text from the settings must be added to PO (Pur-
      chase Order) number in quotation.
   5. The date of PO must be selected from two op-
      tions: (1) actual date or; (2) the date from the
      sales document.
   6. The date must be validated by the value of the
      field “ Valid to” calculated using formula:

                𝑉𝑎𝑙𝑖𝑑_𝑡𝑜_𝑑𝑎𝑡𝑒 = 𝑃𝑂𝑑𝑎𝑡𝑒 + 𝑚             (1)   Figure 4: Processing time of cases (5, 10, 15, 20 and 25) per-
                                                             formed by humans.
      where 𝑚 denotes the number of months.
   7. Customer cannot get another quotation if the
      inter-time 𝑡𝑖𝑗 between two consecutive quota-
      tions 𝑖 and 𝑗 (set in settings file) did not pass.
      In other words, the customer after one received
      quotation has to wait for a time period 𝑡𝑖𝑗 (for
      example 7 days). The time duration 𝑡𝑖𝑗 is prede-
      fined in the settings file.
   8. Quotation cannot be created and sent to cus-
      tomer if the customer’s number is included in
      a “Black list”.
   9. Quotation must be sent only to the primary email
      of the responsible person in case the customer’s
      email is in a “Grey list”.
  Other Rules:                                               Figure 5: Processing time of cases (5, 10, 15, 20 and 25) per-
                                                             formed by robots.
   1. If the robot cannot send a quotation to the cus-
      tomer because of “SAP” limits, the sending op-
      eration must be repeated in a few hours or on 2 Cores, 3.20 GB RAM, 3.20 GB of total physical mem-
      the next day.                                      ory and 4.76 GB of virtual memory. SAP scripting,
   2. Sales orders with the same document number “Blue Prims” and Visual Basic frameworks has been
      must be sent to the customers in one quotation. used for creating realization models.
   3. Robot must find customer’s name, if it cannot do      The evaluation of time efficiency of the implemented
      that – a business exception must be thrown.        RPA experiments have been performed using different
   4. Robot must save all the data (customer’s email, number of cases implemented into 5 scenarios. The
      primary responsible person’s email, quotation same scenarios have been tested with humans - 20 par-
      number and other data required for quotation ticipants have been involved in this research asking
      generation) for report.                            them to complete the tasks ensuring the same work-
   5. The Robot having order materials must find all ing conditions.
      part materials according to the algorithm describ-    In Fig. 4 the diagram representing the time results
      ed in Fig. 1.                                      achieved by humans performing different number of
                                                         cases: 5, 10, 15, 20 and 25 is included. For completing
                                                         5 cases the average time required for human is 13.22
4. Experiments                                           minutes, thus 2.64 for one case. With the increasing
                                                         number of cases, the average time to complete one case
All the experiments have been carried out using the
                                                         is increasing as well and estimating the time to com-
computer with the following main parameters: Win-
                                                         plete 25 cases, the average time to complete one case
dows 10 Enterprise, Intel(R) Xeon(R) CPU E5-2690 v4,



                                                         125
                                                             unknown and conflicting situations.


                                                             References
                                                              [1] G. Capizzi, G. Lo Sciuto, C. Napoli, R. Shikler,
                                                                  M. Wozniak, Optimizing the organic solar cell
                                                                  manufacturing process by means of afm mea-
                                                                  surements and neural networks, Energies 11
                                                                  (2018).
                                                              [2] D. Połap, M. Woźniak, C. Napoli, E. Tramontana,
Figure 6: Comparison or humans and robots time results            Real-time cloud-based game management sys-
achieved performing tasks.                                        tem via cuckoo search algorithm, International
                                                                  Journal of Electronics and Telecommunications
                                                                  61 (2015) 333–338.
                                                              [3] R. Vedder, et al., Robotic process automation in
is equal to 3.51 minutes. Meanwhile, estimating the
                                                                  the finance function of the future (2016. Available
average time to complete the same cases for the robot
                                                                  online: https://insightsbenelux.com/ publica-
the constant value of 1.264±4.6% to finish one case has
                                                                  tions/%2314_werkplaats_(ochtend)_EYFinance
been observed (Fig. 5).
                                                                  _Robotics.pdf.).
   Comparing the time results of humans and robot,
                                                              [4] Role of rpa and ai in transforming
we can see that superiority of the robot increasing with
                                                                  banking       operations       (Hexaware       and
the increasing number of cases. With the small num-
                                                                  IBS Intelligence 2019. Available online:
ber of cases the robot can complete all cases twice faster
                                                                  https://ibsintelligence.com/files/media_temp/
than the human. The gap between results is more sig-
                                                                  Hexaware-Role_of_AI
nificant and reaches 2.82 times when the number of
                                                                  &RPA_in_transforming_Banking_Operations_
cases reaches 25 (Fig. 6). Performing the testing of the
                                                                  v9.pdf).
RPA process no logical loops or other critical errors
                                                              [5] C. Lamberton, D. Brigo, D. Hoy, Impact of
have been observed. The whole process is fast, stable,
                                                                  robotics, rpa and ai on the insurance industry:
ensures the task completeness and responds correctly
                                                                  challenges and opportunities, Journal of Finan-
to all input data.
                                                                  cial Perspectives 4 (2017) 1–13.
                                                              [6] Rpa’s impact on the travel industry (2017. Avail-
5. Conclusions                                                    able online https://www.uipath.com/blog/rpas-
                                                                  impact-on-the-travel-industry).
This research paper has proposed an RPA approach              [7] I. Karabegovic, E. Karabegovic, M. Mah-
for automated service quotation generation. The time-             mic, E. Husak,          The application of ser-
effectiveness of the proposed technology has been test-           vice robots for logistics in manufacturing
ed with different number of cases and compared with               processes (Available online:          http://apem-
the results archived by humans. Comparing the time                journal.org/Archives/2015/APEM10-4_185-194
results of humans and robot, we can see that superior-            .pdf).
ity of the robot is increasing with the increasing num-       [8] F. Mazzenga, R. Giuliano, F. Vatalaro, Fttc-based
ber of cases. With the small number of cases, the robot           fronthaul for 5g dense/ultra-dense access net-
can complete all cases ∼ 2 times faster than the human            work: performance and costs in realistic scenar-
(taking the average time values calculated from all ex-           ios, Future Internet 9 (Oct. 2017) 1–21.
periment participants). When the number of cases is           [9] H. Leopold, H. Van der Aa, H. A. Reijers, Identify-
equal to 25, the execution time of the robot is 2.82              ing candidate tasks for robotic process. automa-
times faster. Such results prove that the application             tion in textual process descriptions (Enterprise,
of RPA is reasonable for the automated service quo-               Business-Process and Information Systems Mod-
tation generation and could be valuable for different             eling (EMMSAD), 2018) 67–81.
business companies, especially for those that have to        [10] C. Napoli, E. Tramontana, An object-oriented
complete a huge amount of operations every day.                   neural network toolbox based on design patterns,
   In future work, we plan to improve the rules of our            in: International Conference on Information and
approach in order to ensure stable performance under



                                                        126
     Software Technologies, Springer, 2015, pp. 388–
     399.
[11] A. Bjorn, S. Gustav, Evaluating and developing
     methods to assess business process suitability for
     robotic process automation - a design research
     approach (Master Thesis, 2018. Available online:
     https://odr.chalmers.se/handle/20.500.12380/255
     664).
[12] A. Jimenez-Ramirez, H. Reijers, I. Barba,
     C. Del Valle, A method to improve the early
     stages of the robotic process automation lifecycle
     (In: CAiSE. Springer, 2019) 446—-461.
[13] A. A., E. Penttinen,        Turning robotic pro-
     cess automation into commercial success-case
     opus capita, Journal of Information Technology
     Teaching Cases 6 (2016) 67—-74.
[14] J. Geyer-Klingeberg, J. Nakladal, F. Baldauf,
     F. Veit,     Process mining and robotic pro-
     cess automation: A perfect match (2018.
     Available online:          http://ceur-ws.org/Vol-
     2196/BPM_2018_paper_28.pdf) 1–8.
[15] J. Gao, S. van Zelst, X. Lu, W. van der Aalst,
     Automated robotic process automation: A self-
     learning approach (OTM 2019: On the Move to
     Meaningful Internet Systems: OTM 2019 Confer-
     ences) 95–112.
[16] C. Martins, Robotic process automation: A lean
     approach to rpa (2018) 1–10.
[17] Blue prism: Robotic process automation – rpa
     (Available online: https://www.blueprism.com/).
[18] Uipath: Robotic process automation (Available
     online: www.uipath.com).
[19] Automation anywhere: Global rpa solutions
     (Available online: https://www.automation any-
     where.com/).
[20] Analytics for sap tcodes (Available online:
     https:// www.sap-tcodes.org/tcode/va05.html).




                                                      127