TSM - Procesare automată de bonuri fiscale folosind RPA și Machine Learning

Tudor Șerban - Senior Software Engineer @ UiPath


Pentru cei care nu sunt încă familiari cu conceptul, tehnologia Robotic Process Automation (RPA) se referă la automatizarea de procese software. Adică, tehnologia RPA de la UiPath automatizează procese software, replicând interacțiunile pe care un utilizator le are cu sistemul pe care lucrează. Din seria aproape infinită a aplicațiilor, am ales să vă prezint o aplicație a tehnologiei de RPA care folosește tehnologiile dezvoltate chiar la biroul de dezvoltare din Cluj.

În cele ce urmează, vom descrie cum putem implementa cu foarte mare ușurință și fără a scrie propriile noastre module, un robot software care preia în mod automat bonuri fiscale atașate unui e-mail și extrage din el date relevante (în acest caz suma totală cheltuită).

Implementarea robotului se poate face folosind module preexistente în UiPath Studio(IDE-ul tehnologiei UiPath), astfel încât orice persoană cu un minim bagaj tehnic poate reproduce acest robot pe propriul calculator, fără mari eforturi.

Să ne imaginăm următorul scenariu: un angajat dorește să i se deconteze valoarea unui bon fiscal. Pentru a face acest lucru trimite o copie scanată a bonului, pe e-mail, persoanei responsabile. Aceasta trebuie să monitorizeze contul de e-mail, să deschidă e-mailul primit și apoi bonul atașat, să citească bonul (eventual să-l rotească, dacă acesta nu a fost scanat vertical) pentru a vedea totalul și să noteze numele expeditorului împreună cu suma într-un fișier Excel. În cazul în care bonul nu a fost scanat corespunzător sau atașamentul nu este un bon, persoana va răspunde la e-mail cu un mesaj în care va solicita detalii suplimentare sau retrimiterea bonului.

Toată activitatea atribuită persoanei care primește e-mailul poate fi executată în mod automat de un robot UiPath. Intervenția minimă a unui operator uman este necesară doar în situația în care robotul nu poate procesa din oarecare motiv bonul.

Presupunând că descărcarea atașamentului și "citirea" lui de către robot decurge fără probleme, putem distinge trei cazuri posibile:

  1. Suma totală plătită de pe bonul fiscal a fost identificată cu succes de robot, care apoi a scris datele în fișierul Excel.

  2. Suma totală nu a putut fi identificată în mod automat și se cere intervenția operatorului uman care inspectează documentul și:

    a. Identifică valoarea căutată, caz în care robotul continuă cu scrierea datelor în fișierul Excel, sau

    b. Determină că documentul nu este un bon valid, caz în care robotul trimite automat un e-mail de răspuns în care cere detalii suplimentare.

În Figura 1 avem o vizualizare a workflowului aferent acestor acțiuni.

Figura 1

În rândurile următoare, se va expune maniera în care se poate implementa un astfel de robot, pas cu pas, în UiPath Studio.

Pentru început, vom folosi câteva activități care ne permit să interacționăm cu contul de e-mail al unui utilizator,

presupunând că acesta este configurat în Outlook și că robotul rulează în aceeași sesiune de Windows. În Figura 2 se observă cum putem utiliza activitățile "Get Outlook Mail Message" și "Save Attachments" pentru a aștepta sosirea unui e-mail într-un anumit folder și apoi salvăm atașamentele lui pe disc.

Figura 2

În continuare, urmează o parte esențială a întregului proces, și anume "citirea" documentului utilizând un engine de optical character recognition (Microsoft Azure Computer Vision OCR în acest caz, dar platforma UiPath conține mai multe astfel de engine-uri) folosind activitatea "Digitize Document". După ce obținem varianta text împreună cu metadata despre document, trecem la partea de extragere care se face cu ajutorul activității "Machine Learning Extractor". Acest extractor folosește un algoritm dezvoltat de UiPath, împreună cu un model de Machine Learning, pentru a extrage în mod automat informații esențiale din facturi sau chitanțe și bonuri fiscale. Putem vedea toate acestea în Figura 3.

Figura 3

După extragerea datelor din document se ajunge la un punct de decizie.

Figura 4

În Figura 4 vedem invocarea activității "Present Validation Station", iar în Figura 5, interfața grafică de validare a documentului.

Figura 5

Tot ceea ce rămâne de făcut este ca robotul să aștepte decizia utilizatorului: fie acesta completează manual câmpul "Total Value" și atunci robotul poate să completeze fișierul Excel cu succes, fie marchează document ca fiind invalid, caz în care robotul trimite un răspuns automat la mesajul primit, în care indică faptul că au fost probleme de procesare.

Ceea ce a fost în rândurile acestui articol se poate realiza foarte ușor folosind doar activități existente în UiPath Studio și în termen de câteva ore, chiar și pentru un utilizator cu puțină experiență în RPA. Este nevoie doar de un PC cu Windows și o copie de UiPath Studio Community Edition care se poate descărca gratuit. De asemenea, pentru a explora cum ați putea extinde robotul sau pentru a înțelege în detaliu cum funcționează platforma, vă recomand să vă înscrieți pe http://academy.uipath.com unde avem o serie de cursuri gratuite de RPA, pentru toate nivelurile de experiență.