mirror of
https://github.com/actualbudget/actual.git
synced 2026-03-10 20:23:07 -05:00
[Bug]: SimpleFIN integration reports INVALID_ACCESS_TOKEN even though access token works via SimpleFIN Bridge #2698
Open
opened 2026-02-28 20:24:53 -06:00 by GiteaMirror
·
6 comments
No Branch/Tag Specified
master
matiss/oxlint-no-floating-promises-require-array-sort-compare
ai/custom-theme-dual-prefs
claude/fix-simplefin-batch-sync-O8LcD
matiss/fix-6804
claude/fix-simplefin-ssrf-T31gX
claude/release-notes-validation-X7rvR
add-claude-github-actions-1772738270730
react-query-rules
react-query-useSchedules
matiss/separate-lint-format
dependabot/npm_and_yarn/ajv-6.14.0
cursor/sync-performance-notification-9899
react-query-prefs
matiss/chunked-sync-and-progress-ux
v26.2.1
copilot/sub-pr-6880
fix-react-query-clear-on-close-budget
copilot/sub-pr-6140
feat/auto-note
feat/scoped-bank-sync
cursor/desktop-transactions-react-table-1d0c
fix-exhaustive-deps-App
copilot/fix-find-replace-bug
release/v26.2.0-pre
matiss/browser-tests
mobile-fix-drag-and-drop-across-groups
budget-table-v2
PayeeAutocomplete2
pglite
bugfix/plugins/fix-plugins-sw
feat/plugins/plugins-core-package
prerelease
matiss/unicode-minus-fix
cursor/fix-actual-github-issue-6206-gemini-3-pro-preview-9c37
TransactionFormPage
cursor/implement-mortgage-and-loan-account-type-78ca
tests-update-fill-with-pressSequentially
mobile/link-modal
deps/25.11
cursor/fix-update-vrt-apply-ci-job-dispatch-b324
sync-server-plugins
cursor/propose-patch-for-github-issue-5680-2a18
fix/compiler-preserve-inner-dollar-escapes
cursor/analyze-actual-budget-issue-and-propose-fix-5b70
coderabbitai/docstrings/0c070e5
cursor/add-wip-prefix-and-comment-to-prs-d78d
jfdoming/08-21-auto-focus-on-navigate-in-all-browsers
show-totals-on-mobile-budget-banners
allow-child-transactions-make-transfer
mobile-calculator-keyboard
payee-geolocation
enhance/restore_scroll_position
dm-fix-second-click-on-mobile-new-transaction-2
scrollToLocationBudget
alert-autofix-38
tsconfig-composite
mobile-fix-uncategorized-transactions-on-tracking-budgets
server-budget-handlers
fix-sql-injection-in-cleanup-template
non-chrome-draggable-workaround
mobile-budget-page-swipe-navigation
ts-db-all
stable
dark-theme-with-brand-colors
fix-mobile-delete-group
ts-db-select
UnderKoen/reconcile-context-menu
master-before-server-merge
v25.2.1
ts-runQuery
rename-redux-hooks
UnderKoen/3557-persist-state-in-history
remove-redux-CLOSE_BUDGET
fix-exhaustive-deps-errors-FinancesApp
redux-toolkit-createSlice-backup
accounts-function-component
ts-useSplitsExpanded
loot-core-server-package
useTransactios-in-TransactionEdit
react-aria-input
move-redux-to-desktop-client
QueryState-type
fix-themes-applied-late
mobile-vrts
revert-3295-spendingCardFix
react-aria-button-4
split-payee-on-mobile
twk3/pin-apis-crdt
notes-tag-autocomplete
ts-LoadBackup
dnd-kit
package-upgrades
v26.3.0
v26.2.1
v26.2.0
v26.1.0
v25.12.0
v25.11.0
v25.10.0
v25.9.0
v25.8.0
v25.7.1
v25.7.0
v25.6.1
v25.6.0
v25.5.0
v25.4.0
v25.3.1
v25.3.0
v25.2.1
v25.2.0
v25.1.0
v24.12.0
v24.11.0
v24.10.1
v24.10.0
v24.9.0
v24.8.0
v24.7.0
v24.6.0
v24.5.0
v24.4.0
v24.3.0
v24.2.0
v24.1.0
v23.12.0
v23.11.0
v23.10.0
v23.9.0
v23.8.1
v23.8.0
v23.7.2
v23.7.1
v23.7.0
v23.6.0
v23.5.0
v23.4.2
v23.4.1
v23.4.0
v23.3.2
v23.3.0
v23.2.9
v23.2.5
v23.1.12
v22.12.9
Labels
Clear labels
AI generated
API
bank sync
budgeting
bug
can’t replicate
dependencies
docker
documentation
electron
experimental feature
feature
feedback
goal templates
good first issue
help wanted
importers
maintenance
needs info
needs testing
needs triage
needs votes
openid
payees
pull-request
regression
reports
responsive
rules
schedules
server
✨ merged
split transactions
tech debt
theme
transaction import
transaction reconciliation
transactions
translations
upstream
user interface
✅ approved
wontfix
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/actual#2698
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @jbrnm on GitHub (Dec 7, 2025).
Verified issue does not already exist?
What happened?
Environment
25.12.0(also reproduced with other releases as far back as25.9.0)https://beta-bridge.simplefin.org)Summary
The SimpleFIN bank sync integration in Actual consistently reports
Invalid SimpleFIN access token. Reset the token and re-link any broken accounts.even when using a freshly generated SimpleFIN setup token, with a corresponding access token that works correctly when used directly against the SimpleFIN Bridge/accountsendpoint.Suspected Cause
Questions
Happy to provide more logs or test any patches/config changes if helpful.
How can we reproduce the issue?
Steps to Reproduce
Variant attempted: base64 setup token pasted directly; also tried using the derived
ACCESS_URL(see Diagnostics).Expected Behavior
Actual Behavior
The UI shows an error toast and console error:
Repeated attempts with newly generated SimpleFIN tokens (after revoking old ones in SimpleFIN) produce the same behavior.
Browser devtools Network panel shows
POST /simplefin/accountsresponding with:The UI gets stuck in a “SimpleFIN dance” where it keeps asking for the token again.
Server Logs
From
podman logs actualduring attempts:All relevant SimpleFIN endpoints return HTTP 200; there are no
TypeError: fetch failedorETIMEDOUTstack traces like in issue #5346.Diagnostics Against SimpleFIN Bridge
Using several setup tokens, I verified the SimpleFIN flow outside of Actual:
Decode setup token → claim URL
Exchange setup token for access URL
Use access URL to fetch accounts
This confirms:
Yet when the same setup token is given to Actual,
POST /simplefin/accountsreturnsINVALID_ACCESS_TOKEN. Throughout testing, I confirmed that the payload of thePOST /secretrequest in the browser Network tab exactly matches the current SimpleFIN setup token value I generated in the Bridge UI.Where are you hosting Actual?
Docker
What browsers are you seeing the problem on?
Firefox
Operating System
Linux
@Ellessm commented on GitHub (Dec 9, 2025):
I'd like to add that I've encountered this same behavior on my self hosted actual server running on a raspberry pi 4. I asked the discord for assistance and was directed to this thread.
In the end, I was able to fix my server by using a different machine (docker through orbstack on an m4 Mac mini - an expensive solution). I tried to restore my server using my latest backups, but the same error was encountered until I used an older backup dating to 11-07-2025. My connection to simpleFin was fixed and I was able to reimport all the transactions from the past month. Note that restoring this same backup did not work on the raspberry pi 4; the simplefin connection remained broken. On both machines, I used the same docker-compose.yml configuration, and both servers were accessed through a reverse proxy using Caddy.
@jbrnm commented on GitHub (Dec 16, 2025):
Just to add another data point, I was ultimately able to get Actual Budget's SimpleFIN syncing working using the macOS desktop application. And this from the same LAN my AlmaLinux container server runs on. The one running on my server still does not work with the same pattern as before. So it would seem this may be an edge case bug having something to do with some aspect of my specific configuration: AlmaLinux 10, Podman, Traefik or Firefox (also tested with Brave and Google Chrome). Happy to provide my configuration files if it would be useful in diagnosing the issue.
@mazarian commented on GitHub (Jan 17, 2026):
I'm experiencing the same issue. It was working fine, then stopped working. I'm seeing the following in my logs:
@imlogang commented on GitHub (Jan 18, 2026):
Adding that I am getting this same error now on 26.1.0. Was previously working as of 1/2/26 when I last pulled data.
Was getting issues syncing, and the UI said to try a new token, but a new token is getting this in the network tab.:
No errors within the Docker container.
Firefox, Docker 29.1.4 running on Ubuntu server.
@cco commented on GitHub (Feb 10, 2026):
Seeing the exact same errors here as well. Just setup actual budget and Simplefin has been flakey from the start. Managed to get most of my accounts imported last night, but while adding the rest today I ran into this error. Attempted to reset the key and am now stuck in endless prompt loop for the auth key.
Update: Well, for whatever reason unlinking a random account and relinking it with a new token resolved the issue for me.
@Cory-Christensen commented on GitHub (Feb 14, 2026):
I'm also experiencing this issue after updating my docker image. I'm running on Synology, Brave Browser. I've also tried the macOS app (still chromium-based); it doesn't work there either.