Nenos Software

CashControl - AI Transaction Matching

CashControl – AI Transaction Matching

Contextul și Provocarea 

CashControl este o aplicație de personal finance care importă tranzacții direct din conturile bancare ale utilizatorilor prin Open Banking. Deși acest flux automatizează colectarea datelor bancare, tranzacțiile importate din bancă nu sunt, în mod obișnuit, direct comparabile cu tranzacțiile introduse manual de utilizatori în aplicație.

Descrierile bancare brute pot include informații tehnice precum date de decontare, identificatori de terminal, denumiri juridice ale comercianților, coduri de autorizare, referințe bancare sau alte elemente specifice procesării plăților. Aceste informații sunt utile pentru sistemele bancare, dar greu de interpretat pentru utilizatori și dificil de mapat automat la descrierile, categoriile și etichetele folosite în aplicație.

În același timp, utilizatorii își introduc tranzacțiile într-un mod personalizat: cu propriile denumiri, categorii, taguri, convenții de dată și, uneori, cu sume percepute diferit față de cele decontate de bancă, inclusiv în cazuri care implică schimb valutar. Această diferență dintre limbajul tehnic al băncilor și modul natural în care utilizatorii își organizează finanțele personale crea dificultăți semnificative în identificarea automată a corespondențelor corecte.

Provocarea era amplificată de diversitatea tipurilor de tranzacții gestionate în aplicație: cheltuieli, venituri, transferuri, împrumuturi, rambursări, plăți de facturi și variante recurente ale acestora. În plus, existau situații complexe precum decalaje între data achiziției și data decontării bancare, diferențe de valută, taxonomii definite diferit de fiecare utilizator și transferuri între conturi proprii, care apar în sistem ca mișcări bancare separate.

O abordare exclusiv bazată pe reguli statice ar fi fost fragilă și greu de menținut, iar antrenarea unor modele dedicate pentru fiecare utilizator sau tenant ar fi adăugat complexitate și costuri operaționale ridicate. Era necesară o soluție AI capabilă să folosească istoricul propriu al fiecărui tenant ca semnal de învățare, fără a compromite izolarea datelor și fără a necesita antrenare individuală costisitoare.

 

Soluția 

A fost dezvoltată o funcționalitate AI de transaction matching care transformă rândurile bancare brute în sugestii clare, acționabile și ușor de confirmat de către utilizator.

Pentru fiecare tranzacție bancară aflată în așteptare, sistemul generează două tipuri de propuneri. Prima este o clasificare a tranzacției, prin care sistemul estimează acțiunea potrivită — de exemplu crearea unei cheltuieli, identificarea unui transfer, plata unei facturi sau asocierea cu un împrumut. A doua este o listă scurtă de posibile potriviri cu tranzacții existente deja în evidența utilizatorului.

Utilizatorul poate confirma sugestia potrivită printr-un singur click. Nimic nu este aplicat definitiv înainte de acceptare, iar acțiunile pot fi anulate. Pentru cazurile cu nivel ridicat de încredere, platforma permite automatizarea acceptării, în funcție de setările controlate la nivel de tenant.

Soluția folosește istoricul confirmat anterior de utilizator ca sursă de context. În loc să compare strict textul introdus manual cu descrierea bancară brută, sistemul analizează tipare istorice relevante și identifică asemănări între tranzacții bancare similare, păstrând în același timp legătura cu alegerile făcute anterior de utilizator: categorii, conturi, descrieri și tipuri de operațiuni.

Componenta AI include un strat de procesare semantică pentru interpretarea descrierilor bancare, un mecanism de clasificare bazat pe istoricul tenantului și un sistem de scorare a potrivirilor candidate. Înainte ca mecanismele probabilistice să fie aplicate, soluția verifică și cazurile deterministe clare, cum ar fi facturile programate, împrumuturile active sau tranzacțiile recurente, pentru a evita ca o sugestie evidentă să fie înlocuită de o potrivire aproximativă.

Pentru descrierile bancare zgomotoase, sistemul include un mecanism de curățare și normalizare a textului, astfel încât informațiile relevante pentru utilizator — precum comerciantul sau natura tranzacției — să poată fi extrase și prezentate într-o formă mai ușor de înțeles. Ulterior, sugestiile de descriere pot fi adaptate stilului folosit anterior de utilizator, pe baza exemplelor confirmate din istoricul propriu.

Soluția este concepută cu izolare strictă între tenant-uri. Datele unui tenant sunt folosite doar pentru interpretarea propriilor tranzacții, fără amestecarea istoricului între utilizatori sau organizații diferite.

Rezultate

Implementarea funcționalității AI a transformat procesul de reconciliere a tranzacțiilor bancare într-un flux mult mai rapid, mai clar și mai ușor de controlat de către utilizator:

  • Generarea automată de sugestii pentru tranzacțiile bancare aflate în așteptare.
  • Clasificarea tranzacțiilor în acțiuni relevante pentru utilizator, precum cheltuieli, venituri, transferuri, plăți de facturi sau operațiuni asociate împrumuturilor.
  • Propunerea de potriviri candidate cu tranzacțiile deja existente în evidența utilizatorului.
  • Reducerea dependenței de reguli statice greu de întreținut și creșterea flexibilității în fața descrierilor bancare variabile.
  • Utilizarea istoricului confirmat al fiecărui tenant ca semnal contextual, fără antrenare separată pentru fiecare tenant.
  • Păstrarea controlului utilizatorului asupra acțiunilor finale, prin confirmare manuală, reversibilitate și setări dedicate pentru automatizare.
  • Suport pentru scenarii complexe precum tranzacții recurente, plăți de facturi, împrumuturi, transferuri între conturi și diferențe între datele introduse manual și datele bancare.
  • Optimizarea costurilor prin reutilizarea informațiilor procesate anterior și prin rularea procesării AI doar atunci când există tranzacții relevante de analizat.

Arhitectura Tehnică

Soluția este construită pe o arhitectură cloud event-driven, integrată în infrastructura existentă a aplicației CashControl. Procesarea AI este declanșată automat atunci când sunt importate tranzacții noi prin Open Banking, la finalul unor fluxuri de import sau prin acțiune manuală inițiată de utilizator din interfață.

Fluxul de procesare este separat de operațiunile interactive ale aplicației, astfel încât analiza AI să ruleze asincron, fără a bloca experiența utilizatorului. Evenimentele relevante sunt trimise într-un sistem de cozi, iar joburile AI sunt procesate de servicii serverless specializate, cu control separat asupra capacității de execuție și alocării resurselor.

Aplicația expune funcționalitățile către utilizator printr-un API GraphQL. Prin acest API, utilizatorii pot porni manual procesarea AI, pot activa sau dezactiva funcționalitatea de matching și pot accepta sau respinge sugestiile generate de sistem.

Procesarea AI este integrată cu baza de date tenant-aware a aplicației. Pentru fiecare tenant, sistemul accesează doar datele relevante acelui spațiu logic, procesează tranzacțiile pending, generează sugestii de clasificare și potrivire, apoi salvează rezultatele pentru afișare în interfață.

Pipeline-ul AI include mai multe etape: pregătirea datelor bancare, normalizarea descrierilor, identificarea contextului istoric relevant, clasificarea tranzacției, generarea candidaților de matching, scorarea sugestiilor și, acolo unde setările permit, marcarea cazurilor eligibile pentru auto-confirmare.

Soluția utilizează servicii AI gestionate în cloud pentru procesarea semantică a descrierilor și pentru generarea de sugestii textuale. Aceste servicii sunt combinate cu logică aplicativă proprie, adaptată domeniului financiar personal și modului în care utilizatorii CashControl își structurează tranzacțiile.

Arhitectura include mecanisme de izolare operațională pentru workload-ul AI, astfel încât procesarea tranzacțiilor să nu afecteze celelalte joburi de fundal ale aplicației. Sunt folosite cozi dedicate, limite de concurență și mecanisme de control care permit scalarea sau oprirea independentă a procesării AI atunci când este necesar.

Datele persistente sunt stocate într-o bază de date relațională gestionată în cloud, cu separare logică pe tenant. Informațiile procesate anterior sunt reutilizate pentru a reduce costurile și pentru a evita procesarea repetitivă inutilă. Sugestiile generate de AI pot fi recomputate la rulări ulterioare, în timp ce semnalele istorice relevante sunt păstrate pentru eficientizarea procesului.

Un proces periodic de mentenanță elimină sugestiile vechi, respinse sau înlocuite, menținând datele operaționale curate și relevante.

Tipuri de tranzactii recunoscute
0
Potriviri AI recomandate
0
Validare de către utilizator
0 click