Bank Sync with SimpleFIN (US & Canada)
Import transactions from US and Canadian banks through SimpleFIN Bridge, without your bank data ever passing through Budgero's servers.
In this guide
- How to connect SimpleFIN Bridge and link your bank accounts in a few minutes.
- How syncing, duplicate matching, and pending transactions work.
- Why your bank data travels straight from SimpleFIN to your browser and never reaches Budgero.
SimpleFIN Bridge connects to thousands of banks and credit unions in the United States and Canada. Budgero uses it to import your transactions and balances automatically. You keep your own SimpleFIN subscription, and Budgero talks to it directly from your device.
If your bank is in Europe, use Enable Banking instead. It's free for personal use. You can connect both in the same budget.
Bank sync is in beta. Your imported transactions are ordinary Budgero transactions, so you can edit, categorize, or delete them like any other.
Before you start
- A SimpleFIN Bridge subscription. SimpleFIN charges a small fee, about $1.50 a month or $15 a year at the time of writing. Budgero adds nothing on top.
- About five minutes.
- Budgero unlocked on the device you're setting up. The connection is saved inside your encrypted budget, so it syncs to your other devices automatically.
Step 1: Connect your banks in SimpleFIN Bridge
- Go to beta-bridge.simplefin.org and choose Get Started. Sign in with the link SimpleFIN emails you.
- Under Financial Institutions, add a new connection for each bank you want to sync, and sign in to the bank when asked.
- Under Apps, create a new app connection and copy its setup token: a long string of letters and numbers.
A setup token works once. If you lose it or the connection fails, create a new one.
Step 2: Connect Budgero
- In Budgero, open Settings › Bank sync and choose the US & Canada tab.
- Paste the setup token and select Connect.
Budgero exchanges the token for a private access key and stores that key in your budget. The panel then lists every account SimpleFIN can see.
Step 3: Link your accounts
Select Link next to a bank account and choose where its transactions should go:
- New account. Budgero creates the account and sets its opening balance so it matches your bank today. Choose how far back to import. The default is 30 days.
- Existing account. Pick an account you've been tracking by hand. The import starts the day after your latest entry, so nothing is imported twice. If a bank transaction looks like one you already entered, Budgero asks you to review it instead of adding a duplicate.
Select Link and import. Transactions appear right away and are marked cleared, because the bank has posted them.
An account can be linked to only one bank feed at a time. Unlink stops the sync but keeps every transaction already imported.
How syncing works
- Automatic. Budgero syncs when you open the app or come back to it, at most every 6 hours. This works across devices: if your phone synced an hour ago, your laptop won't sync again.
- On demand. Select Sync now in Settings › Bank sync, or use the sync button on a linked account's page.
- Overlap. Each sync looks back a week before the last one, to catch transactions the bank posted late. Transactions Budgero has already imported are skipped, even ones you deleted afterwards. A deleted bank transaction stays deleted.
- Pending transactions are skipped until the bank posts them, unless you turn on Import pending transactions for the account (see below). Either way, you never end up with a pending row and a posted row for the same purchase.
- Re-issued transactions. Banks sometimes re-issue a transaction under a new ID. Budgero recognizes it by date, amount, and payee and updates the existing row instead of adding a copy.
- Balances. Settings › Bank sync shows your bank's balance for each linked account and flags it when your cleared balance in Budgero differs.
SimpleFIN refreshes data from most banks about once a day. A transaction you made this morning may not show up until tomorrow.
Bank feed settings
Each linked account has its own settings. Select the gear icon next to it in Settings › Bank sync:
- Import pending transactions. Off by default. When it's on, card payments show up before the bank posts them, as uncleared transactions. Once the bank posts one, Budgero updates the same transaction in place, with the posted date and amount, and marks it cleared. Your category, and any payee or memo you changed, stay. If the bank drops a pending transaction without posting it, for example a released card hold, Budgero removes it.
- Date. Choose the purchase date (when you paid) or the posted date (when the bank recorded it). Automatic uses the purchase date when SimpleFIN has one.
- Payee and Memo. Choose whether the merchant name or the bank's description goes into each field, or leave the memo empty.
- Tidy ALL-CAPS payee names. On by default. Turns
TRADER JOE'S #552intoTrader Joe's #552. Names that already have lowercase letters stay exactly as the bank sent them.
Settings apply to transactions imported from then on. If a field you picked is missing for a transaction, Budgero falls back to the automatic choice. Your rules run on every imported transaction too, so you can clean up the rest there.
Reviewing possible matches
When a bank transaction has the same amount as an entry you typed in yourself within five days of it, Budgero doesn't import it automatically. It shows a Review prompt instead:
- Match links the bank transaction to your entry and marks the entry cleared.
- Add as new imports the bank transaction as a separate one.
- Skip ignores it for good.
How SimpleFIN sync preserves zero knowledge
Budgero is end-to-end encrypted: our servers store your budget only as ciphertext they can't read. Bank sync keeps that promise, because Budgero's servers aren't part of the conversation with your bank data at all.
- Your browser talks to SimpleFIN directly. SimpleFIN Bridge allows web apps to call it from the browser, so Budgero sends the request straight from your device to SimpleFIN over HTTPS. The response, with your accounts, balances, and transactions, comes straight back to your device. No Budgero server forwards, caches, or logs it.
- The access key stays inside your encrypted budget. The key SimpleFIN issues is stored in your budget, alongside your transactions. It reaches our servers only inside the encrypted budget, never in readable form.
- Imported transactions are encrypted like everything else. Budgero writes them into your budget on your device, encrypts them, and only then syncs them.
| Who | Can see your bank data? |
|---|---|
| Your devices | Yes. They decrypt your budget. |
| SimpleFIN Bridge | Yes. It's the service that connects to your bank, under its own privacy policy. |
| Budgero's servers | No. They never receive the requests, the responses, or the access key in readable form. |
| People you share the budget with | Yes. The access key lives in the budget, so they can sync it too. |
Like every end-to-end encrypted web app, this relies on the app code your browser runs. Budgero's code is open source, and you can self-host it.
Disconnecting
Select Disconnect in Settings › Bank sync. Budgero removes the access key, links, and pending reviews, and keeps every transaction already imported. To revoke access completely, also delete the app connection in SimpleFIN Bridge.
Troubleshooting
| Message | What to do |
|---|---|
| "This setup token was already used or revoked" | Setup tokens work once. Create a new one in SimpleFIN Bridge. |
| "SimpleFIN denied access" | The app connection was deleted or revoked. Disconnect in Budgero, then connect again with a new setup token. |
| "Your SimpleFIN Bridge subscription needs attention" | Check your payment details in SimpleFIN Bridge. |
| "… needs attention in SimpleFIN Bridge" | Your bank login in SimpleFIN Bridge stopped working. Sign in to SimpleFIN Bridge, fix that bank's connection, and sync again. |
| An account says it "wasn't returned by SimpleFIN" | The bank connection in SimpleFIN Bridge needs attention, often a new bank login. Fix it there and sync again. |
| Older transactions are missing | How far back SimpleFIN can go depends on your bank. Budgero imports whatever SimpleFIN returns from your chosen start date. |