SimpleFIN Bank Sync — Backend + UI #41
Labels
No Label
architecture
backend
bug
feature
frontend
priority:critical
priority:high
priority:low
priority:medium
priority:nice-to-have
ux
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: null/BillTracker#41
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This issue is superseded by the phased implementation plan.
The SimpleFIN-specific scope from this issue is now covered by:
The full data input roadmap is tracked in #42.
Original Description
Add optional SimpleFIN Bridge support so BillTracker can sync read-only bank account and transaction data. Users connect their own SimpleFIN Bridge account, import transactions, and manually match synced transactions to bills.
No bank credentials stored. Only the SimpleFIN Access URL, encrypted at rest.
Backend
server/services/simplefinService.js— claim tokens, fetch accounts/transactions, normalize data, dedupe by provider transaction IDserver/routes/bankRoutes.jsserver/controllers/bankController.jsserver/db/migrations/— new tablesEnvironment variables
Database tables
bank_connections — id, provider, encrypted_access_url, status, last_sync_at, last_error, timestamps
bank_accounts — id, connection_id (FK), provider_account_id, name, org_name, currency, balance, available_balance, raw_data, timestamps
bank_transactions — id, account_id (FK), provider_transaction_id, posted_date, transacted_at, amount (cents), description, payee, memo, raw_data, matched_bill_id (FK → bills), ignored, timestamps
API endpoints
Frontend
Settings → Bank Sync page: connect, sync, disconnect, account list, last sync status/error
Transactions panel: list, filter, match, ignore
Security
Acceptance Criteria
null referenced this issue2026-05-16 18:04:05 -05:00