
AP Duplicate Payment Prevention Tool
Problem and Motivation
Worthington Enterprises had no systematic way to identify duplicate payments to vendors, leading to financial losses and inefficiencies. I wanted to solve this problem by creating a data-driven solution to analyze invoice data and flag potential duplicates before payments were processed, as well as recover lost funds.
Approach and System Design
Embedded in Snowflake, and scattered across multiple excel files, Worthington housed invoice and payment records, totaling to 5 different data sources. I used alteryx to build an automated ETL pipeline that consolidated and cleaned this data. Once collected, I used a custom matching logic to identify potential duplicates based on key fields such as vendor name, invoice amount, and date. This collection of potential duplicates was prioritzed based on criteria dictated by the project owner, and surfaced in an interactive Tableau dashboard for the AP team to review and take action on. The dashboard used the Tableau Write Back feature to allow users to update the status of each potential duplicate, which then fed back into the Snowflake database. This allowed us to track the resolution of each case and measure the impact of the tool over time.
Challenges and Tradeoffs
The main challenge with this project was determining the strength of the matching logic. With a focus on isolating true duplicates, both false positives and false negatives brought inherrent consequences. False positives would create extra work for the AP team, while false negatives would allow duplicate payments to slip through. To address this, I worked closely with the AP team to understand their pain points and priorities, and included simple controls so they could adjust the sensitivity after my leave.
Outcomes and Impact
40% success rate on flagged duplicates payments
$60,000 in duplicate payments prevented and recovered annually
Cost of similar external product ~$120,000
80,000 invoices processed yearly
Limitations and Next Steps
One thing I would have done differently with this project is produce an MVP much earlier in the process. I spent a lot of time perfecting the matching logic and data pipeline before creating a prototype dashboard, which made it difficult for stakeholders to visualize the final product and provide strong feedback.