SimpleFIN client and sync #5

Closed
opened 2026-10-13 23:38:40 -04:00 by kevinsivic · 1 comment
Owner

Infrastructure wrapper for SimpleFIN Bridge (protocol v2) plus the sync that turns its data into Balances.

  • SimpleFinClient.create(accessUrl) / createNull({ accountSet }); fetchAccounts({ startDate, balancesOnly }) returns SimpleFIN's raw Account Set in its own terms.
  • claimAccessUrl(setupToken) for the one-time token exchange.
  • Narrow integration test against SimpleFIN's public demo token.
  • Pure function: Account Set → Balances for Linked Accounts (Source "SimpleFIN") and a list of Unlinked accounts.
  • In-process daily sync loop with tick(now), like lemonaid's SyncLoop.
  • CLI coverage command for the spike: institution, account name, type, transaction count, oldest transaction date, holdings present. No balances, no payees.
Infrastructure wrapper for SimpleFIN Bridge (protocol v2) plus the sync that turns its data into Balances. - `SimpleFinClient.create(accessUrl)` / `createNull({ accountSet })`; `fetchAccounts({ startDate, balancesOnly })` returns SimpleFIN's raw Account Set in its own terms. - `claimAccessUrl(setupToken)` for the one-time token exchange. - Narrow integration test against SimpleFIN's public demo token. - Pure function: Account Set → Balances for Linked Accounts (Source "SimpleFIN") and a list of Unlinked accounts. - In-process daily sync loop with `tick(now)`, like lemonaid's SyncLoop. - CLI coverage command for the spike: institution, account name, type, transaction count, oldest transaction date, holdings present. No balances, no payees.
Author
Owner

Done: HttpClient wrapper (aae0434), SimpleFinClient with a narrow demo integration test via make test-integration (19ac432), planSync (7db45da), a six-hourly sync when SIMPLEFIN_ACCESS_URL is set (8ec2f84), and claim/coverage CLI commands (8934a8a, 75278cb). Sync records nothing until Accounts are Linked; that's split out into its own issue.

Done: HttpClient wrapper (aae0434), SimpleFinClient with a narrow demo integration test via `make test-integration` (19ac432), planSync (7db45da), a six-hourly sync when SIMPLEFIN_ACCESS_URL is set (8ec2f84), and claim/coverage CLI commands (8934a8a, 75278cb). Sync records nothing until Accounts are Linked; that's split out into its own issue.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kevinsivic/finance-dashboard#5
No description provided.