Automating Visa’s Legacy Dispute Workflow

A legacy system trapped critical data behind a UI, forcing humans to act as routers and document generators. I built a headless automation engine combining RPA and a custom C# .NET rule engine to eliminate manual triage, standardize compliance, and protect SLAs.

The System Before

Disputes flowed into Visa from various banks via API, but for our analysts, the workflow was entirely manual and bottlenecked by VROL our legacy case management platform. Because analysts couldn't easily query or filter complex logic directly within the VROL UI, they resorted to a highly manual daily triage process:

The Dump: Analysts downloaded massive Excel spreadsheet exports from VROL just to figure out what cases existed.

The Sort: They manually filtered the Excel sheets to identify which cases were approaching SLA deadlines.

The Action: They opened individual cases in VROL, reviewed data, and made a decision.

The Documents: They manually authored dispute letters.

The Upload: They uploaded bespoke documents back into VROL to resolve the case.

How I Framed The Problem

The standard request from operations was for "more headcount to process the Excel sheets" or "better training on document creation." But the problem wasn't human inefficiency; it was system isolation. VROL held the data, but lacked an accessible API for this specific internal workflow. If we couldn't get a native API to extract case data and write back decisions, we had to build a synthetic one. We needed a "brain" to make the decisions, and "hands" to interact with the legacy UI.

What I Built.

I architected a three-part automation loop that completely bypassed the need for manual Excel triage.

The Ingestion Layer (RPA Scraper): I built an RPA bot that continuously scanned VROL online, grabbing case data directly from the screens and logging it into a centralized SQL database.

The Brain (C# .NET Rule Engine): I built a standalone rule engine in C# .NET. This engine continuously analyzed the database, applied business logic, identified SLA priorities, and calculated the required outcome for each case.

The Execution Layer (RPA Write-Back & Doc Gen): The RPA bot read the output from the database. It automatically generated standardized dispute letters, navigated back into the VROL UI, applied status updates, and uploaded the generated documents.

What Went Wrong Along the Way

 

Results

SLA Protection: Dropped missed SLAs due to manual queueing errors to zero.

Standardization: 100% of generated documents now adhered to strict, automated legal templates.

Cycle Time: Replaced hours of daily Excel sorting and manual document drafting with continuous, background processing.

Time Saved: 30000+ analyst hours annually saved

Next
Next

Growth Strategy