Self-hosted payments reconciler.

April 2026 – Present
I built ReconBanker, an open-source, self-hosted payments reconciler that ingests payment events from your application and automatically cross-references them against your bank transactions in real time. Each entry gets a clear match status so you can spot missing, duplicated, or mismatched amounts before your accountant does. Built on a DDD architecture with BullMQ job queues, Playwright-powered bank scraping, and a clean React dashboard with charts and full audit trail.
Finance teams and solo founders waste hours every month manually comparing payment processor exports against bank statements in spreadsheets, a process that is error-prone, delayed, and leaves discrepancies undetected until it is too late.
ReconBanker automates the entire pipeline: payment events arrive via webhook and are stored immediately, bank transactions are fetched through Playwright-powered scraping, and a matching engine cross-references both sources in real time. Every transaction gets a clear status (matched, unmatched, or flagged) with a full audit trail.
Discrepancies that previously surfaced days later now appear within minutes. The self-hosted model means sensitive credentials never leave your infrastructure, and the clean dashboard gives accountants and founders a single source of truth.
Reconciliation logic needs to handle real-world messiness: partial matches, timing differences between providers, and bank formats that vary. Investing in a solid domain model early made it far easier to add new providers and edge cases without breaking existing rules.