Scenario: You download your Chase bank CSV and import it to QuickBooks.
What should take 5 minutes becomes 2-3 hours because you have to:
- Manally categorize 200+ transactions ("Is this Amazon purchase office supplies or inventory?")
- Find and delete duplicate transactions (pending vs posted)
- Fix formatting issues when banks change CSV layouts
- Generate IIF files manually
For bookkeepers handling 5-10 clients: This is 5-10 hours per month of grunt work.
The Solution (CSVFixer)
What it does:
-
Auto-categorizes transactions using 500+ merchant rules
- "AMAZON.COM ORDER 123" → Office Supplies (70% confidence)
- "SHELL OIL #12345" → Auto & Fuel (95% confidence)
- "STARBUCKS STORE" → Meals & Entertainment (95% confidence)
-
Detects duplicates automatically (3 algorithms)
- Exact match (same amount + date + description)
- Fuzzy match (similar descriptions with different order numbers)
- Smart rules (pending→posted, pre-auth→final charge)
-
Works with 6 banks + generic CSV parser
- Chase, Bank of America, Wells Fargo, Citi, Capital One, Generic
-
Exports clean IIF files ready for QuickBooks/Sage 50
Time saved: 2-3 hours → 30 seconds per import
Tech Stack
- Backend: TypeScript + Node.js
- Categorization: In-memory rules (no database needed for MVP)
- Duplicate Detection: Levenshtein distance + smart rules
- Export: IIF format generation
- Frontend: React + Bootstrap (in progress)
Why TypeScript? Type safety is critical when handling financial data. One wrong decimal point = disaster.
@indiehackers Can you help me validate above idea
Your