Session Closeout: Finance Tracker AF Dates, Card Masks, Daily Sync Fix (2026-05-05)

Context

Fixed three issues on the finance tracker cards page:

  1. Annual fee due dates incorrect — closed/inactive Empower accounts showed stale AF projections, and active cards with heavy spending pushed AF transactions out of the 50-row scan window
  2. Cards missing last-4 digits — Plaid/Teller account names do not contain last-4 digits, and the cross-referencing by accountId suffix was broken (opaque IDs)
  3. Investment NW not updating — daily sync cron broken since setup because npx not on cron PATH

What Changed

  • AF calculation: Added closed-card check (isLikelyClosed), pre-filter by AF keywords in DB, amount proximity filtering, confidence scoring
  • Card masks: Added FinancialAccount.mask column, populated from Plaid account.mask and Teller account.last_four. Backfilled Empower from name patterns. All cards now show last-4.
  • Daily sync: Added export PATH to daily-sync.sh. Investment data now current.

Commits

  • a83bb05 Fix annual fee due date calculation
  • 0c6f05c Add mask field for card last-4 digits
  • d9bc2a7 Fix AF renewal date: filter by amount proximity
  • cde10d5 Update context.md

Open Items

  • Balance history gap April 28-May 4 (cosmetic)
  • daily-sync.sh only on VM, not in repo
  • Closed Empower accounts still mapped (no AF shown, but appear on page)

Leave a Reply

Your email address will not be published. Required fields are marked *