Project Detail
Receipt Classification & Matching System
Automated statement-to-receipt reconciliation for faster, cleaner tax submission workflows.
Executive Summary
Problem
Credit card statements and receipts were reconciled manually, creating delays and inconsistent categorization before company tax submission.
Solution
Built a Gemini Colab workflow using free LLMs to match statement lines to receipts, then classify transactions with ambiguity-aware vendor handling.
Outcome
Delivered a repeatable review flow that speeds reconciliation and produces cleaner, tax-oriented expense categorization.
Use Case & Stakeholders
Finance and operations teams need reliable monthly transaction matching and categorization without scaling manual review time.
- Finance operations analysts
- Accounting and tax preparers
- Business managers submitting expenses
Architecture
Statement rows and receipt text are normalized, candidate matches are scored, and ambiguous vendors are sent through LLM-assisted classification before final review.
[Credit Card Statement CSV/PDF]
|
OCR + normalization
|
Candidate match scoring
|
Ambiguous vendor? -> LLM classifier
|
Human review queue + export
Tech Details
RAG / Prompt Patterns
- Prompted ambiguity resolver with vendor-name and merchant-context hints.
- Structured output template for category labels and confidence.
- Lightweight fallback rules when model confidence drops.
Tools
- Gemini Colab notebook runtime
- Python data cleaning and matching logic
- Free LLM endpoints for classification support
Constraints
- Inconsistent receipt quality and OCR noise.
- Merchant aliases and truncated statement descriptors.
- Limited budget for model/API usage.
Tradeoffs
- Higher recall matching can increase false positives in edge cases.
- More aggressive categorization automation reduces manual effort but requires tighter audit checks.
Screenshots Gallery
Lessons Learned / What I'd Improve Next
Lessons Learned
- Confidence thresholds and review queues are essential for finance trust.
- Merchant alias dictionaries dramatically improve initial matching quality.
- Prompt schema enforcement prevents downstream parsing issues.
What I'd Improve Next
- Add active-learning loops from reviewer corrections.
- Add document-level anomaly detection for missing receipts.
- Add monthly quality scorecards by category and vendor type.
Repro Notes / Demo Walkthrough
Non-runnable public demo: use the walkthrough steps below.
- Open the notebook flow and review sample statement/receipt inputs.
- Walk through matching score logic and ambiguity classifier prompts.
- Inspect exception-routing outputs and final categorized export format.