8000 feat: OFX Direct Connect integration · Issue #82 · adeebahmed/Libertas · GitHub
[go: up one dir, main page]

Skip to content

feat: OFX Direct Connect integration #82

Open

Description

@adeebahmed

Summary

Add OFX Direct Connect sync for Fidelity, VCU, and Baxter CU. Auto-syncs on startup, manual refresh button in UI.

Design

Data Model

  • ofx_institutions — FI ID, OFX endpoint URL, org string, enabled flag
  • ofx_accounts — links OFX account to existing account, stores keychain key, last sync time, last error
  • transactions.fitid — new nullable column, unique constraint per account prevents duplicates

Behavior

  • Hybrid sync: auto on startup (background task) + manual "Sync Now" button
  • Credentials stored in macOS Keychain via keyring
  • On failure: skip bank, desktop notification, red badge in UI
  • Deduplication via OFX FITID

New files

  • backend/services/ofx_sync.py — OFX client wrapper using ofxtools
  • backend/routers/ofx.py — /ofx/sync, /ofx/status, /ofx/institutions, /ofx/accounts endpoints

Institutions supported

  • Fidelity (FI ID: 7776)
  • VCU / Virginia Credit Union
  • Baxter Credit Union (BCU)

Out of scope

  • Marcus by Goldman Sachs (no OFX support)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0