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.

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
Deploy the current Sure release
Follow the project’s Docker guide and complete database migrations.
Connect supported banks in BankSync
Confirm institution authorization and the intended account set.
Create a SimpleFIN setup token
Use BankSync’s current SimpleFIN destination flow and copy it once.
Open Sure’s provider settings
Choose the SimpleFIN connection option in the current settings interface.
Submit the token once
Allow the background connection job to claim it; do not manually retry the same job.
Set up discovered accounts
Link or create local accounts and verify types and currencies.
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
| Stage | What to do | Check |
|---|---|---|
| Setup token | Claimed by supported job once | No manual retry of consumed token |
| Cash account | Balance and transactions agree | Deposit sign is correct |
| Credit card | Liability and purchases are sensible | No sign inversion |
| Pending records | Second sync updates rather than duplicates | Stable identity behavior |
| Investment | Holdings appear only when supplied | Currency and quantities match |
| Replacement | New token repairs connection | Local 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.