All field notes

Tutorial

Connect Sure to BankSync with SimpleFIN

Use Sure’s native SimpleFIN provider to connect supported accounts through BankSync and import balances, transactions and holdings safely.

By BankSync11 min read
SimpleFIN records entering a modular Sure finance cabinet

Sure is a self-hosted personal-finance platform descended from the open-source Maybe codebase and maintained as its own community project. It now has a substantial native SimpleFIN implementation with account discovery, balance-only jobs, transaction import, holdings processing and a credential-replacement path.

For BankSync users, the value is a broad destination: cash, liabilities and investments can sit in one interface while BankSync supplies supported bank data through SimpleFIN.

SimpleFIN records entering a modular Sure finance cabinet
SimpleFIN records entering a modular Sure finance cabinet

How Sure’s implementation behaves

Sure treats a SimpleFIN connection as an item with linked accounts and background jobs. The current source includes a balance-only job, pending-transaction configuration, holdings application and repair logic for source account IDs that change after an institution is re-added.

One operational warning in Sure’s own hosting docs is unusually important: do not manually retry SimplefinConnectionUpdateJob. It consumes a single-use setup token, so an automatic retry can permanently break that replacement attempt. Generate a fresh setup token and use the supported UI instead.

Sure setup

  1. Deploy the current Sure release

    Follow the project’s Docker guide and complete database migrations.

  2. Connect supported banks in BankSync

    Confirm institution authorization and the intended account set.

  3. Create a SimpleFIN setup token

    Use BankSync’s current SimpleFIN destination flow and copy it once.

  4. Open Sure’s provider settings

    Choose the SimpleFIN connection option in the current settings interface.

  5. Submit the token once

    Allow the background connection job to claim it; do not manually retry the same job.

  6. Set up discovered accounts

    Link or create local accounts and verify types and currencies.

  7. Run a second sync

    Confirm stable IDs, pending behavior, balances and holdings update idempotently.

Pending transactions and balances

Sure enables SimpleFIN pending transactions by default in current source and allows SIMPLEFIN_INCLUDE_PENDING=0 if a particular bank causes trouble. Do not disable pending globally merely because one institution behaves badly; first inspect duplicate handling and the source data.

Balance-only refreshes can run separately from full imports. That is efficient, but it means “transactions are current” and “balance is current” are distinct assertions. Show and inspect both timestamps during troubleshooting.

Holdings and money-market classification

Sure has dedicated holdings processing and configuration for recognizing some money-market instruments. Treat provider holdings as optional and verify quantity, price currency and cash-equivalent classification before trusting a net-worth total.

Sure first-sync checks

StageWhat to doCheck
Setup tokenClaimed by supported job onceNo manual retry of consumed token
Cash accountBalance and transactions agreeDeposit sign is correct
Credit cardLiability and purchases are sensibleNo sign inversion
Pending recordsSecond sync updates rather than duplicatesStable identity behavior
InvestmentHoldings appear only when suppliedCurrency and quantities match
ReplacementNew token repairs connectionLocal history remains

Use one account of each important type.

Security and maintenance

Sure is a server application: protect the database, environment and backups, enable authentication, use HTTPS and keep current. Its code comments can help power users, but operational changes should go through documented UI paths whenever possible.

If a bank is re-added and remote account IDs change, let Sure’s repair logic run before manually relinking everything. Preserve a backup before large account changes.

Frequently asked questions

Primary sources