Skip to content

heezy-finance Roadmap

Phase 1 — Fix the Data ✅ Complete (2026-06-18)

Item Status
receipts.date_ts migration + backfill
merchant_normalized on receipts
category + merchant_normalized on bank_transactions
Bank transactions integrated into dashboard
Gas spend fixed: $140.52 (was $36)
Bank source filter + 🏦 badge in Purchases
Bank page with category cards + monthly chart
BoA parser: CC detection
Cap1 parser: fixed stmt_id bug
Statement NFS ingest pipeline (end-to-end)
Ingest pipeline: auto-category + merchant on insert
docs.heezy.info live on Cloudflare Pages

Phase 2 — Complete Bank Coverage ← Current

Item Status Notes
More BoA monthly statements 🔲 Only Jan–May 2026 loaded; download from portal + drop to NFS
CC statements (BoA Visa, Cap1) 🔲 Drop to NFS ingest; parser handles BoA CC detection
payment_type on receipts 🔲 Blocked until CC statements available
Historical statement backfill 🔲 Pre-2026 BoA statements if available

Gmail auto-fetch is not viable

BoA and Capital One send notification-only emails with no PDF attachments. Manual workflow: download from bank portal → drop to /nfs/heezy/ingest/raw/statements/new/ → picked up within 5 min.

Phase 3 — Reconciliation Service

heezy-finance-reconcile — a new service to match receipts/orders against bank transactions.

Goal: Surface discrepancies, unmatched charges, and duplicate entries.

Design sketch: - Match by: date ±2 days + amount (exact or within 1%) + merchant similarity - Match sources: receiptsbank_transactions, ordersbank_transactions - Confidence score per match (high/medium/unmatched) - New UI page: reconciliation table with match status, manual override

Prerequisites: Phase 2 complete (CC statements needed for meaningful matching)

Current DB State

Table Count Notes
orders 161 202 line items
order_items 202 Ollama-categorized
receipts 43 342 line items; all have date_ts
bank_statements 7 BoA Jan–May 2026, Cap1 Q1 2026
bank_transactions 137 Debits only shown in dashboard

Last updated: 2026-06-18