Show HN: Auto-Match – How We Built Receipt-to-Transaction Matching (Open Source)
14 days ago
- #automation
- #machine-learning
- #financial-technology
- Financial reconciliation is tedious and error-prone when done manually.
- Traditional systems fail due to messy real-world financial data (currency discrepancies, date delays, merchant name variations).
- Solution: Multi-dimensional matching engine using embeddings for semantic understanding.
- Data preprocessing includes merchant standardization, legal entity resolution, and currency normalization.
- Vector embeddings (768-dimensional) capture semantic meaning, enabling accurate matches despite text differences.
- Matching algorithm evaluates embedding (45%), amount (35%), currency (15%), and date (5%) scores with adaptive logic.
- Matches categorized into auto-matched (95%+ confidence), high confidence (75-95%), and suggested (60-75%).
- Learning calibration adjusts thresholds based on user feedback, improving accuracy over time.
- System architecture includes PostgreSQL with pgvector, Google's Gemini embeddings, and Trigger.dev for background processing.
- Performance: 95%+ auto-match accuracy, sub-second response, cross-currency support, and 99.9% uptime.
- Future enhancements: better document understanding, predictive matching, and advanced ML models.