Automating credit card transaction matching for legal practice management via Plaid integration
PracticePanther is a legal practice management platform serving 50,000+ legal professionals across billing, payments, and trust accounting. I led the design of the financial reconciliation system, partnering with 1 PM and 5 engineers to bring clarity to complex accounting workflows.
This project accelerated adoption of our accounting module by giving firms the confidence to trust our automation and led to a 40% increase in user confidence.
Manual reconciliation is more than just a slow process - it's a major risk for law firms. Without automation, accountants spend hours every week fixing messy data entry errors and mismatched records from CSV imports. One small human oversight can lead to a serious audit flag.
Log in to banks and download CSVs
Compare bank statements with internal records for matches
Enter expenses and payments into the system manually
Law firms were reconciling bank statements via CSV uploads and Excel - a process that was slow, error-prone, and risked compliance audits.
Competitors already offered this:
"How might we design a seamless matching experience for credit card transactions that empowers billing teams to maintain effortless trust accounting compliance?"
- The core design question
I kicked off discovery by partnering with my PM to conduct 12 user interviews and shadowing billing teams during live reconciliation sessions. This allowed me to map real-world flows and understand where the friction points were. I paired these insights with a competitive audit to identify where current market solutions were failing.
Observation
Design bulk workflows, not one-at-a-time processing
Observation
UI must act as a safety net - every number accurate to the cent
Observation
Design a guided matching UI that also serves as a CSV fallback
Observation
Provide a clear way to distinguish between different cards so users don't get confused
Automate transaction imports and matching to save accountants hours of work each week
Strict compliance with legal trust-accounting rules - zero tolerance for errors
Users must trust that displayed balances reflect reality through verification states
Position PracticePanther to rival Clio and MyCase in trust accounting
Instead of designing a simple "Import Transactions" feature, I reframed the experience into three logical phases to reduce cognitive load and build user trust progressively.
Link firm credit card accounts via Plaid. Import transactions with a secure OAuth flow. Auto-sync daily to keep data fresh.
Automated transaction matching with suggested matches. Categorize as contact payment, firm payment, or expense. Exclude irrelevant entries.
Human-verified reconciliation. Final review ensures audit-ready compliance. Every cent accounted for to meet Bar Association standards.
Ensuring every cent is accounted for to meet Bar Association audit standards.
Match to existing payment
Categorize as new payment
Exclude transaction
Final review ensures audit-ready reconciliation
Leveraging Plaid OAuth to ensure secure, real-time data sync while maintaining the user's accounting context. The goal wasn't just to connect a bank, but to make the user feel safe while doing it.
Connecting PracticePanther to Plaid
Plaid Link flow - consent to bank selection
Chase OAuth redirect - secure bank login
Refining the matching logic through 2 rounds of cross-functional validation. The matching UI went through two major iterations before arriving at the final solution, each shaped by user testing and engineering feedback.
I intentionally mirrored the grid-based approach used by our primary competitors to see if an industry-standard mental model would reduce the learning curve. A full-width data table with expandable rows revealed four action tabs: Review Match, Manual Match, Create New Payment, and Exclude.
Review Match tab
Inline grid matching
Exclude with reason
To solve the clutter problem of the grid, I pulled matching into focused modals with tabs: Suggested Match, Find Match, Create Match, and Exclude. We introduced smarter auto-matching that instantly flagged exact matches. Each workflow got dedicated space and clearer information hierarchy.
Suggested Match modal
Find Match with filters
Create new match
Exclude transaction
Users consistently preferred seeing both sides - imported transactions vs PracticePanther payments - all in one view. I pivoted to a single-screen split-panel design with drag-and-drop matching, satisfying the user's need for a holistic view while streamlining the technical architecture.
Modal-heavy, tab switching, context loss
Single screen, split panel, drag-and-drop matching
The final design is a drag-and-drop reconciliation interface where users visually match bank transactions to PracticePanther payments on a single screen.
Split-panel reconciliation - Bank Transactions (left) vs PracticePanther Payments (right)
Users drag bank transactions from the left panel onto PracticePanther payments on the right. A green border and "Valid Match" indicator provides clear visual confirmation before committing.
Drag interaction with payment type classification
Hover reveals payment creation options
Hovering on a transaction card reveals options to define it as a contact expense, contact payment, or firm payment. This keeps the interface clean while providing quick access to classification actions.
Drag-to-scroll for navigating long payment lists
A "Recent Matches" dropdown shows the last several matches with a one-click "Unmatch" option - directly addressing user feedback about needing to undo wrong matches and fear of irreversible errors.
Recent Matches panel
Firm Payment creation - Deposit, Withdrawal, Transfer
After matching, users are funneled to the core reconciliation dashboard - a familiar, high-trust environment. This final step allows for a seamless review and verification of all processed payments, ensuring 100% data integrity before completing the workflow.
Moving from CSV to Plaid was more than a technology upgrade - it fundamentally changed how law firms manage trust accounting.
Positioned PracticePanther to compete with Clio and MyCase in trust accounting
Replaced CSV reconciliation with automated Plaid-powered bank feeds and intelligent matching
Foundational feature for Panther Accounting Plus, driving enterprise subscriptions
Users need verification states, confirmation steps, and undo capabilities before trusting a system with financial data. Prioritize correctness over efficiency.
Accountants want both data sources visible simultaneously. Split-panel matched how they already work - modal and tab-based approaches created too much context switching.
Two full iterations revealed the initial approach was wrong. The drag-and-drop pivot was only possible because we tested early and listened to both users and engineers.
Aligning with accounting SMEs was critical for strict legal trust-accounting compliance rules. Without their input, we'd have missed compliance-critical details.