[GH-ISSUE #7799] [Feedback]: Enable Banking bank sync provider #100619

Open
opened 2026-05-29 20:56:15 -05:00 by GiteaMirror · 37 comments
Owner

Originally created by @matt-fidd on GitHub (May 11, 2026).
Original GitHub issue: https://github.com/actualbudget/actual/issues/7799

Implemented in https://github.com/actualbudget/actual/pull/7345

cc @AurelDemiri

Originally created by @matt-fidd on GitHub (May 11, 2026). Original GitHub issue: https://github.com/actualbudget/actual/issues/7799 Implemented in https://github.com/actualbudget/actual/pull/7345 cc @AurelDemiri
GiteaMirror added the experimental featurefeedback labels 2026-05-29 20:56:17 -05:00
Author
Owner

@ProtoxiDe22 commented on GitHub (May 11, 2026):

Hello, i'm testing the flow, i have found a couple minor problems with it.

  • initially i tried setting up the integration with a non-complete setup on enable banking (the eb application was not activated), however, actual didn't report any errors in the frontend, and when trying to link accounts, nothing would just show up when trying to select the bank.
    The logs (understandably) contained this
    actual_server-1 | 2026-05-11T17:37:52.729Z actual:enable-banking:errors Enable Banking API error: status=403 body={"code":403,"message":"Application is not active"} actual_server-1 | 2026-05-11T17:37:52.730Z info: POST 200 /enablebanking/aspsps

  • resetting the enable bank credentials from the bank sync page, the frontend throws an error, but in reality the request went through just fine and the credentials were reset. I couldn't find anything relevant in the js logs, and the server logs just reported the successful request
    actual_server-1 | 2026-05-11T17:39:15.157Z actual:secrets-db setting secret 'enablebanking_applicationId' to 'null' actual_server-1 | 2026-05-11T17:39:15.164Z info: POST 200 /secret
    image

  • On the last step of linking the account, the frontend (correctly) preselects an account to link. However, the confirm button of the modal is disabled, and only enables if i click "remove bank sync" and then "set up bank sync" on the same account
    image
    after re-selecting the account in actual, the button is enabled correctly and the flow terminates just fine.

I use this occasion to thank the author for their work, and the maintainers for (finally :) ) merging this.

<!-- gh-comment-id:4424675020 --> @ProtoxiDe22 commented on GitHub (May 11, 2026): Hello, i'm testing the flow, i have found a couple minor problems with it. - initially i tried setting up the integration with a non-complete setup on enable banking (the eb application was not activated), however, actual didn't report any errors in the frontend, and when trying to link accounts, nothing would just show up when trying to select the bank. The logs (understandably) contained this `actual_server-1 | 2026-05-11T17:37:52.729Z actual:enable-banking:errors Enable Banking API error: status=403 body={"code":403,"message":"Application is not active"} actual_server-1 | 2026-05-11T17:37:52.730Z info: POST 200 /enablebanking/aspsps` - resetting the enable bank credentials from the bank sync page, the frontend throws an error, but in reality the request went through just fine and the credentials were reset. I couldn't find anything relevant in the js logs, and the server logs just reported the successful request `actual_server-1 | 2026-05-11T17:39:15.157Z actual:secrets-db setting secret 'enablebanking_applicationId' to 'null' actual_server-1 | 2026-05-11T17:39:15.164Z info: POST 200 /secret` <img width="420" height="183" alt="image" src="https://github.com/user-attachments/assets/123f2721-9996-48c8-ae76-9d67f643ce61" /> - On the last step of linking the account, the frontend (correctly) preselects an account to link. However, the confirm button of the modal is disabled, and only enables if i click "remove bank sync" and then "set up bank sync" on the same account <img width="1028" height="478" alt="image" src="https://github.com/user-attachments/assets/2eb198e1-ad57-459f-a769-dc5db5d95be4" /> after re-selecting the account in actual, the button is enabled correctly and the flow terminates just fine. I use this occasion to thank the author for their work, and the maintainers for (finally :) ) merging this.
Author
Owner

@daneov commented on GitHub (May 12, 2026):

What happened?

I was trying to set up banking using the sha-e479c84-alpine image when going through the Set up banking flow with Enable Banking credentials. I selected Enable Banking -> Set up and provided the Application ID some_uuid together with some_uuid.pem returned by Enable Banking.

Expected: the banking setup flow completes successfully and linked accounts are available.

Actual: the flow fails during authentication/setup on Firefox, but works on Chromium even though the application details are set exactly the same.

Error message:

Could not validate the credentials. Please check your Application ID and secret key.

As far as I can see from the code, this would only happen if something is going wrong with the userToken from session storage. This seems to be browser specific, maybe some API needs to be called just a bit differently?

How can we reproduce the issue?

  1. Go to your Actual website using Firefox (my version is 147.0.2, Linux, no additional extensions and disabling "strict"-mode did not help)
  2. Enable Enable Banking in the feature flags
  3. Go to Bank sync
  4. Enter the uuid as shown on Enable Banking
  5. Upload the <uuid.pem> file, as provided by Enable Banking
  6. Press the "Save and continue" button
  7. Observe the error

Using the same steps in Chromium works, potentially (but unverified) pointing to using a webkit-specific API? Unsure.

Where are you hosting Actual?

Docker

What browsers are you seeing the problem on?

Firefox

Operating System

Linux

<!-- gh-comment-id:4427174027 --> @daneov commented on GitHub (May 12, 2026): ### What happened? I was trying to set up banking using the `sha-e479c84-alpine` image when going through the `Set up banking` flow with Enable Banking credentials. I selected `Enable Banking -> Set up` and provided the Application ID `some_uuid` together with `some_uuid.pem` returned by Enable Banking. Expected: the banking setup flow completes successfully and linked accounts are available. Actual: the flow fails during authentication/setup on Firefox, but works on Chromium even though the application details are set exactly the same. Error message: ```text Could not validate the credentials. Please check your Application ID and secret key. ``` As far as I can see from the code, this would only happen if something is going wrong with the `userToken` from session storage. This seems to be browser specific, maybe some API needs to be called just a bit differently? ### How can we reproduce the issue? 1. Go to your Actual website using Firefox (my version is 147.0.2, Linux, no additional extensions and disabling "strict"-mode did not help) 2. Enable `Enable Banking` in the feature flags 3. Go to `Bank sync` 4. Enter the uuid as shown on Enable Banking 5. Upload the `<uuid.pem>` file, as provided by Enable Banking 6. Press the "Save and continue" button 7. Observe the error Using the same steps in Chromium works, potentially (but unverified) pointing to using a webkit-specific API? Unsure. ### Where are you hosting Actual? Docker ### What browsers are you seeing the problem on? Firefox ### Operating System Linux
Author
Owner

@emiltb commented on GitHub (May 12, 2026):

I was able to connect to Enable Banking and link it to my account.

A minor detail, that I noticed, is that the list of banks to select from is not sorted - that would be a nice touch and make it slightly faster to find the bank you need.

Image

Even though my account was linked and during linking it showed the right balance, I was not able to succesfully sync it and got a network-error.

When trying to sync to an existing account in Actual:

Bank Sync operation for account: Jyske Bank kcab.worker.1jYQKhxA.js:3229:29
Pulling transactions from Enable Banking kcab.worker.1jYQKhxA.js:3220:29
[Exception] 
Object { meta: undefined, reason: "network-failure", type: "PostError", message: 'Failed syncing account "Jyske Bank."' }
kcab.worker.1jYQKhxA.js:3223:12
    error https://actual-edge.emilbp.dk/kcab/kcab.worker.1jYQKhxA.js:3223
    captureException https://actual-edge.emilbp.dk/kcab/kcab.worker.1jYQKhxA.js:3368
    accountsBankSync https://actual-edge.emilbp.dk/kcab/kcab.worker.1jYQKhxA.js:152137

When trying to sync to a newly created account in Actual:

Bank Sync operation for account: Emil Tveden Bjerglund kcab.worker.1jYQKhxA.js:3229:29
Pulling transactions from Enable Banking kcab.worker.1jYQKhxA.js:3220:29
[Exception] Error: PostError: network-failure
    PostError https://actual-edge.emilbp.dk/kcab/kcab.worker.1jYQKhxA.js:3415
    post https://actual-edge.emilbp.dk/kcab/kcab.worker.1jYQKhxA.js:95984
kcab.worker.1jYQKhxA.js:3223:12
    error https://actual-edge.emilbp.dk/kcab/kcab.worker.1jYQKhxA.js:3223
    captureException https://actual-edge.emilbp.dk/kcab/kcab.worker.1jYQKhxA.js:3368
    4 https://actual-edge.emilbp.dk/kcab/kcab.worker.1jYQKhxA.js:3663
Error: PostError: network-failure kcab.worker.1jYQKhxA.js:3415:4
Error linking account to Enable Banking: 
Object { type: "ServerError", message: "PostError: network-failure", cause: Error }
mutations.ts:533:15
    onError mutations.ts:533
    execute mutation.js:159
    mutate mutationObserver.js:61
    mutate useMutation.js:33
    onNext SelectLinkedAccountsModal.tsx:266
    onNext SelectLinkedAccountsModal.tsx:210
    triggerPressEnd usePress.mjs:144
    onClick usePress.mjs:403
    React 6
[Exception] 
Object { meta: undefined, reason: "network-failure", type: "PostError", message: 'Failed syncing account "Emil Tveden Bjerglund."' }
​
message: 'Failed syncing account "Emil Tveden Bjerglund."'
​
meta: undefined
​
reason: "network-failure"
​
type: "PostError"
​
<prototype>: Object { … }
kcab.worker.1jYQKhxA.js:3223:12
    error https://actual-edge.emilbp.dk/kcab/kcab.worker.1jYQKhxA.js:3223
    captureException https://actual-edge.emilbp.dk/kcab/kcab.worker.1jYQKhxA.js:3368
    accountsBankSync https://actual-edge.emilbp.dk/kcab/kcab.worker.1jYQKhxA.js:152137

I'm in doubt about how this works in terms of my network setup and the callback-url. Does that need to be accessible from outside the network for this to work? I host my edge test-instance locally, and the URL is only available internally. I tried briefly opening my test instance up to outside access, but that made no difference.

Edit: I just tried linking accounts over again, but to no avail. I noticed this time, that it actually also gives an error, so it never successfully links the account, with basically the same network-failure as above.

Browser: Tried both Firefox and Chromium
OS: Linux
Environment: edge-alpine as of 2026-05-12 (I'm not completely sure of the exact version) image in docker, through caddy reverse proxy

<!-- gh-comment-id:4433943297 --> @emiltb commented on GitHub (May 12, 2026): I was able to connect to Enable Banking and link it to my account. A minor detail, that I noticed, is that the list of banks to select from is not sorted - that would be a nice touch and make it slightly faster to find the bank you need. <img width="299" height="602" alt="Image" src="https://github.com/user-attachments/assets/1ff30ebb-9f82-4458-8bcf-fd3130c6d96a" /> Even though my account was linked and during linking it showed the right balance, I was not able to succesfully sync it and got a network-error. When trying to sync to an existing account in Actual: ``` Bank Sync operation for account: Jyske Bank kcab.worker.1jYQKhxA.js:3229:29 Pulling transactions from Enable Banking kcab.worker.1jYQKhxA.js:3220:29 [Exception] Object { meta: undefined, reason: "network-failure", type: "PostError", message: 'Failed syncing account "Jyske Bank."' } kcab.worker.1jYQKhxA.js:3223:12 error https://actual-edge.emilbp.dk/kcab/kcab.worker.1jYQKhxA.js:3223 captureException https://actual-edge.emilbp.dk/kcab/kcab.worker.1jYQKhxA.js:3368 accountsBankSync https://actual-edge.emilbp.dk/kcab/kcab.worker.1jYQKhxA.js:152137 ``` When trying to sync to a newly created account in Actual: ``` Bank Sync operation for account: Emil Tveden Bjerglund kcab.worker.1jYQKhxA.js:3229:29 Pulling transactions from Enable Banking kcab.worker.1jYQKhxA.js:3220:29 [Exception] Error: PostError: network-failure PostError https://actual-edge.emilbp.dk/kcab/kcab.worker.1jYQKhxA.js:3415 post https://actual-edge.emilbp.dk/kcab/kcab.worker.1jYQKhxA.js:95984 kcab.worker.1jYQKhxA.js:3223:12 error https://actual-edge.emilbp.dk/kcab/kcab.worker.1jYQKhxA.js:3223 captureException https://actual-edge.emilbp.dk/kcab/kcab.worker.1jYQKhxA.js:3368 4 https://actual-edge.emilbp.dk/kcab/kcab.worker.1jYQKhxA.js:3663 Error: PostError: network-failure kcab.worker.1jYQKhxA.js:3415:4 Error linking account to Enable Banking: Object { type: "ServerError", message: "PostError: network-failure", cause: Error } mutations.ts:533:15 onError mutations.ts:533 execute mutation.js:159 mutate mutationObserver.js:61 mutate useMutation.js:33 onNext SelectLinkedAccountsModal.tsx:266 onNext SelectLinkedAccountsModal.tsx:210 triggerPressEnd usePress.mjs:144 onClick usePress.mjs:403 React 6 [Exception] Object { meta: undefined, reason: "network-failure", type: "PostError", message: 'Failed syncing account "Emil Tveden Bjerglund."' } ​ message: 'Failed syncing account "Emil Tveden Bjerglund."' ​ meta: undefined ​ reason: "network-failure" ​ type: "PostError" ​ <prototype>: Object { … } kcab.worker.1jYQKhxA.js:3223:12 error https://actual-edge.emilbp.dk/kcab/kcab.worker.1jYQKhxA.js:3223 captureException https://actual-edge.emilbp.dk/kcab/kcab.worker.1jYQKhxA.js:3368 accountsBankSync https://actual-edge.emilbp.dk/kcab/kcab.worker.1jYQKhxA.js:152137 ``` I'm in doubt about how this works in terms of my network setup and the callback-url. Does that need to be accessible from outside the network for this to work? I host my edge test-instance locally, and the URL is only available internally. I tried briefly opening my test instance up to outside access, but that made no difference. **Edit:** I just tried linking accounts over again, but to no avail. I noticed this time, that it actually also gives an error, so it never successfully links the account, with basically the same network-failure as above. Browser: Tried both Firefox and Chromium OS: Linux Environment: `edge-alpine` as of 2026-05-12 (I'm not completely sure of the exact version) image in docker, through caddy reverse proxy
Author
Owner

@geekuality commented on GitHub (May 12, 2026):

Something else I noticed: works in Chromium, not in Firefox. #7795

Works fine for me, using Firefox 150.0.1 on a Mac to access Actual on a Linux server over https. Actual installed from NPM @actual-app/sync-server@26.6.0-nightly.20260512.

<!-- gh-comment-id:4435031762 --> @geekuality commented on GitHub (May 12, 2026): > Something else I noticed: works in Chromium, not in Firefox. [#7795](https://github.com/actualbudget/actual/issues/7795) Works fine for me, using Firefox 150.0.1 on a Mac to access Actual on a Linux server over https. Actual installed from NPM `@actual-app/sync-server@26.6.0-nightly.20260512`.
Author
Owner

@geekuality commented on GitHub (May 12, 2026):

But now what I came here to do, actual feedback: There is something funny happening with confirmed future payments (on an account) and holds (on a card), the upcoming charge amount is put into "deposit" and screws up things. I don't know yet what happens when the upcoming payment is turned into a real statement entry or a hold matures into an actual charge.

Here is an example of an account that has two upcoming charges from it (turned running balance on to highlight the effect):

Image

My current enviroment is listed in the post above.

<!-- gh-comment-id:4435195024 --> @geekuality commented on GitHub (May 12, 2026): But now what I came here to do, actual feedback: There is something funny happening with confirmed future payments (on an account) and holds (on a card), the upcoming charge amount is put into "deposit" and screws up things. I don't know yet what happens when the upcoming payment is turned into a real statement entry or a hold matures into an actual charge. Here is an example of an account that has two upcoming charges from it (turned running balance on to highlight the effect): <img width="800" alt="Image" src="https://github.com/user-attachments/assets/6078184c-a0ce-4132-aee4-72a4ee4d5796" /> My current enviroment is listed in the post above.
Author
Owner

@Tatcher00 commented on GitHub (May 13, 2026):

It worked without any problems for me. I’m using a Linux server running 26.6.0-nightly.20260512.
Tested with Chromium. The connection via Enable Banking worked without any error messages once I’d linked my bank.
All transactions were synchronised correctly (German bank DKB)

Thanks for your work

<!-- gh-comment-id:4437770236 --> @Tatcher00 commented on GitHub (May 13, 2026): It worked without any problems for me. I’m using a Linux server running 26.6.0-nightly.20260512. Tested with Chromium. The connection via Enable Banking worked without any error messages once I’d linked my bank. All transactions were synchronised correctly (German bank DKB) Thanks for your work
Author
Owner

@oskardotglobal commented on GitHub (May 14, 2026):

Runs perfectly with one of my banks (German DKB) as reported by @Tatcher00, but my other bank Berliner Sparkasse refuses to sync:

index.ts:26 [Exception] PostError: PostError: network-failure
    at post (post.ts:82:11)
    at async downloadEnableBankingTransactions (sync.ts:324:15)
    at async syncAccount (sync.ts:1131:16)
    at async linkEnableBankingAccount (app.ts:438:19)
error @ index.ts:26
post.ts:82 Uncaught (in promise) PostError: PostError: network-failure
    at post (post.ts:82:11)
    at async downloadEnableBankingTransactions (sync.ts:324:15)
    at async syncAccount (sync.ts:1131:16)
    at async linkEnableBankingAccount (app.ts:438:19)
mutations.ts:533 Error linking account to Enable Banking: Objectcause: Error: PostError: network-failure
    at post (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:97686:10)
    at async downloadEnableBankingTransactions (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:152826:15)
    at async syncAccount (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:153222:72)
    at async linkEnableBankingAccount (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:153465:28)message: "PostError: network-failure"stack: "Error: PostError: network-failure\n    at post (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:97686:10)\n    at async downloadEnableBankingTransactions (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:152826:15)\n    at async syncAccount (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:153222:72)\n    at async linkEnableBankingAccount (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:153465:28)"[[Prototype]]: Objectconstructor: ƒ Error()message: ""name: "Error"toString: ƒ toString()[[Prototype]]: Objectmessage: "PostError: network-failure"type: "ServerError"[[Prototype]]: Object
onError @ mutations.ts:533

(Linking works though)

<!-- gh-comment-id:4450075934 --> @oskardotglobal commented on GitHub (May 14, 2026): Runs perfectly with one of my banks (German DKB) as reported by @Tatcher00, but my other bank Berliner Sparkasse refuses to sync: ``` index.ts:26 [Exception] PostError: PostError: network-failure at post (post.ts:82:11) at async downloadEnableBankingTransactions (sync.ts:324:15) at async syncAccount (sync.ts:1131:16) at async linkEnableBankingAccount (app.ts:438:19) error @ index.ts:26 post.ts:82 Uncaught (in promise) PostError: PostError: network-failure at post (post.ts:82:11) at async downloadEnableBankingTransactions (sync.ts:324:15) at async syncAccount (sync.ts:1131:16) at async linkEnableBankingAccount (app.ts:438:19) mutations.ts:533 Error linking account to Enable Banking: Objectcause: Error: PostError: network-failure at post (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:97686:10) at async downloadEnableBankingTransactions (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:152826:15) at async syncAccount (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:153222:72) at async linkEnableBankingAccount (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:153465:28)message: "PostError: network-failure"stack: "Error: PostError: network-failure\n at post (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:97686:10)\n at async downloadEnableBankingTransactions (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:152826:15)\n at async syncAccount (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:153222:72)\n at async linkEnableBankingAccount (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:153465:28)"[[Prototype]]: Objectconstructor: ƒ Error()message: ""name: "Error"toString: ƒ toString()[[Prototype]]: Objectmessage: "PostError: network-failure"type: "ServerError"[[Prototype]]: Object onError @ mutations.ts:533 ``` (Linking works though)
Author
Owner

@matt-fidd commented on GitHub (May 14, 2026):

Runs perfectly with one of my banks (German DKB) as reported by @Tatcher00, but my other bank Berliner Sparkasse refuses to sync:

index.ts:26 [Exception] PostError: PostError: network-failure
    at post (post.ts:82:11)
    at async downloadEnableBankingTransactions (sync.ts:324:15)
    at async syncAccount (sync.ts:1131:16)
    at async linkEnableBankingAccount (app.ts:438:19)
error @ index.ts:26
post.ts:82 Uncaught (in promise) PostError: PostError: network-failure
    at post (post.ts:82:11)
    at async downloadEnableBankingTransactions (sync.ts:324:15)
    at async syncAccount (sync.ts:1131:16)
    at async linkEnableBankingAccount (app.ts:438:19)
mutations.ts:533 Error linking account to Enable Banking: Objectcause: Error: PostError: network-failure
    at post (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:97686:10)
    at async downloadEnableBankingTransactions (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:152826:15)
    at async syncAccount (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:153222:72)
    at async linkEnableBankingAccount (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:153465:28)message: "PostError: network-failure"stack: "Error: PostError: network-failure\n    at post (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:97686:10)\n    at async downloadEnableBankingTransactions (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:152826:15)\n    at async syncAccount (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:153222:72)\n    at async linkEnableBankingAccount (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:153465:28)"[[Prototype]]: Objectconstructor: ƒ Error()message: ""name: "Error"toString: ƒ toString()[[Prototype]]: Objectmessage: "PostError: network-failure"type: "ServerError"[[Prototype]]: Object
onError @ mutations.ts:533

(Linking works though)

Out of interest, are there any logs in your server logs?

<!-- gh-comment-id:4450085347 --> @matt-fidd commented on GitHub (May 14, 2026): > Runs perfectly with one of my banks (German DKB) as reported by [@Tatcher00](https://github.com/Tatcher00), but my other bank Berliner Sparkasse refuses to sync: > > ``` > index.ts:26 [Exception] PostError: PostError: network-failure > at post (post.ts:82:11) > at async downloadEnableBankingTransactions (sync.ts:324:15) > at async syncAccount (sync.ts:1131:16) > at async linkEnableBankingAccount (app.ts:438:19) > error @ index.ts:26 > post.ts:82 Uncaught (in promise) PostError: PostError: network-failure > at post (post.ts:82:11) > at async downloadEnableBankingTransactions (sync.ts:324:15) > at async syncAccount (sync.ts:1131:16) > at async linkEnableBankingAccount (app.ts:438:19) > mutations.ts:533 Error linking account to Enable Banking: Objectcause: Error: PostError: network-failure > at post (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:97686:10) > at async downloadEnableBankingTransactions (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:152826:15) > at async syncAccount (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:153222:72) > at async linkEnableBankingAccount (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:153465:28)message: "PostError: network-failure"stack: "Error: PostError: network-failure\n at post (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:97686:10)\n at async downloadEnableBankingTransactions (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:152826:15)\n at async syncAccount (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:153222:72)\n at async linkEnableBankingAccount (https://<my actual url>/kcab/kcab.worker.jUVFVkaN.js:153465:28)"[[Prototype]]: Objectconstructor: ƒ Error()message: ""name: "Error"toString: ƒ toString()[[Prototype]]: Objectmessage: "PostError: network-failure"type: "ServerError"[[Prototype]]: Object > onError @ mutations.ts:533 > ``` > > (Linking works though) Out of interest, are there any logs in your server logs?
Author
Owner

@oskardotglobal commented on GitHub (May 14, 2026):

No, unless I have to enable debug logging or something?

<!-- gh-comment-id:4450095714 --> @oskardotglobal commented on GitHub (May 14, 2026): No, unless I have to enable debug logging or something?
Author
Owner

@tylerlinquata commented on GitHub (May 14, 2026):

The "start date" when creating a new, linked account seems to be ignored. I selected 5/13/2026, but it appears that the entire transaction history of the account synced (371 uncategorized transactions).

Image
<!-- gh-comment-id:4450314241 --> @tylerlinquata commented on GitHub (May 14, 2026): The "start date" when creating a new, linked account seems to be ignored. I selected 5/13/2026, but it appears that the entire transaction history of the account synced (371 uncategorized transactions). <img width="123" height="670" alt="Image" src="https://github.com/user-attachments/assets/03a2e586-af43-404a-aebb-608c9f93e0d5" />
Author
Owner

@geekuality commented on GitHub (May 14, 2026):

I'm now getting errors with one bank (S-Pankki, Finland), but only for two of several accounts there.

EDIT: It is also a bank holiday today in Finland, if that would matter - can't figure out how it could.

May 14 19:15:25 actualbudget node[31679]: 2026-05-14T16:15:25.104Z actual:enable-banking:app Error fetching transactions: EnableBankingError: Wrong transactions period requested
May 14 19:15:25 actualbudget node[31679]:     at handleEnableBankingError (file:///opt/actual/node_modules/@actual-app/sync-server/build/chunks/app-URBBPE6f.js:798:10)
May 14 19:15:25 actualbudget node[31679]:     at request (file:///opt/actual/node_modules/@actual-app/sync-server/build/chunks/app-URBBPE6f.js:879:9)
May 14 19:15:25 actualbudget node[31679]:     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
May 14 19:15:25 actualbudget node[31679]:     at async Object.getAllTransactions (file:///opt/actual/node_modules/@actual-app/sync-server/build/chunks/app-URBBPE6f.js:994:19)
May 14 19:15:25 actualbudget node[31679]:     at async file:///opt/actual/node_modules/@actual-app/sync-server/build/chunks/app-URBBPE6f.js:1309:27 {
May 14 19:15:25 actualbudget node[31679]:   error_type: 'Wrong transactions period requested',
May 14 19:15:25 actualbudget node[31679]:   error_code: 'INVALID_INPUT'
May 14 19:15:25 actualbudget node[31679]: }
<!-- gh-comment-id:4452498559 --> @geekuality commented on GitHub (May 14, 2026): I'm now getting errors with one bank (S-Pankki, Finland), but only for two of several accounts there. EDIT: It is also a bank holiday today in Finland, if that would matter - can't figure out how it could. ``` May 14 19:15:25 actualbudget node[31679]: 2026-05-14T16:15:25.104Z actual:enable-banking:app Error fetching transactions: EnableBankingError: Wrong transactions period requested May 14 19:15:25 actualbudget node[31679]: at handleEnableBankingError (file:///opt/actual/node_modules/@actual-app/sync-server/build/chunks/app-URBBPE6f.js:798:10) May 14 19:15:25 actualbudget node[31679]: at request (file:///opt/actual/node_modules/@actual-app/sync-server/build/chunks/app-URBBPE6f.js:879:9) May 14 19:15:25 actualbudget node[31679]: at process.processTicksAndRejections (node:internal/process/task_queues:95:5) May 14 19:15:25 actualbudget node[31679]: at async Object.getAllTransactions (file:///opt/actual/node_modules/@actual-app/sync-server/build/chunks/app-URBBPE6f.js:994:19) May 14 19:15:25 actualbudget node[31679]: at async file:///opt/actual/node_modules/@actual-app/sync-server/build/chunks/app-URBBPE6f.js:1309:27 { May 14 19:15:25 actualbudget node[31679]: error_type: 'Wrong transactions period requested', May 14 19:15:25 actualbudget node[31679]: error_code: 'INVALID_INPUT' May 14 19:15:25 actualbudget node[31679]: } ```
Author
Owner

@geekuality commented on GitHub (May 14, 2026):

No, unless I have to enable debug logging or something?

You do. Set env DEBUG=actual:enable-banking:app to activate debug only for this plugin.

<!-- gh-comment-id:4452518984 --> @geekuality commented on GitHub (May 14, 2026): > No, unless I have to enable debug logging or something? You do. Set env `DEBUG=actual:enable-banking:app` to activate debug only for this plugin.
Author
Owner

@emiltb commented on GitHub (May 14, 2026):

DEBUG=actual:enable-banking:app

Where to add that? I tried adding it as en var to my compose.yml and redeployed my edge-server, but saw no difference in the log output.

<!-- gh-comment-id:4454693527 --> @emiltb commented on GitHub (May 14, 2026): > DEBUG=actual:enable-banking:app Where to add that? I tried adding it as en var to my compose.yml and redeployed my edge-server, but saw no difference in the log output.
Author
Owner

@emarforio commented on GitHub (May 15, 2026):

Tried out the bank sync and have to say that I love it! This is the first integration that I have gotten to work with EU banks. I have tried out the web interface as well as the JavaScript API and no issues at all using my Swedish bank. Great job!

<!-- gh-comment-id:4459398280 --> @emarforio commented on GitHub (May 15, 2026): Tried out the bank sync and have to say that I love it! This is the first integration that I have gotten to work with EU banks. I have tried out the web interface as well as the JavaScript API and no issues at all using my Swedish bank. Great job!
Author
Owner

@Calychas commented on GitHub (May 16, 2026):

Hey! Thanks a lot for the feature!

I had no problems linking 5 accounts with Erste Bank Poland (former Santander Bank Poland), both personal and business accounts, and Revolut as well

<!-- gh-comment-id:4467019980 --> @Calychas commented on GitHub (May 16, 2026): Hey! Thanks a lot for the feature! I had no problems linking 5 accounts with Erste Bank Poland (former Santander Bank Poland), both personal and business accounts, and Revolut as well
Author
Owner

@insomniacslk commented on GitHub (May 18, 2026):

Worked just fine with N26 and Revolut. When adding Fineco Italy, a traditional bank, I get an empty list of accounts after successful authorization of the main account, as per screenshot

Image
<!-- gh-comment-id:4477748895 --> @insomniacslk commented on GitHub (May 18, 2026): Worked just fine with N26 and Revolut. When adding Fineco Italy, a traditional bank, I get an empty list of accounts after successful authorization of the main account, as per screenshot <img width="2003" height="923" alt="Image" src="https://github.com/user-attachments/assets/2e221134-4128-4138-af0c-e002fe017107" />
Author
Owner

@alcroito commented on GitHub (May 19, 2026):

Tried the new integration with N26 production account.

Noticed the following.

When syncing multiple accounts from the same bank, and setting up sync for all of them, transfer transactions between accounts are not properly set up.
Instead a new Payee gets created.
The one transfer at the bottom was manually created before syncing.

Image
<!-- gh-comment-id:4485066539 --> @alcroito commented on GitHub (May 19, 2026): Tried the new integration with N26 production account. Noticed the following. When syncing multiple accounts from the same bank, and setting up sync for all of them, transfer transactions between accounts are not properly set up. Instead a new Payee gets created. The one transfer at the bottom was manually created before syncing. <img width="2856" height="748" alt="Image" src="https://github.com/user-attachments/assets/b742e207-2696-443e-ae2c-9b691c6c1c97" />
Author
Owner

@riley211 commented on GitHub (May 19, 2026):

Unfortunately this only supports very limited banks in the UK - could we investigate using something like TrueLayer?

<!-- gh-comment-id:4486474542 --> @riley211 commented on GitHub (May 19, 2026): Unfortunately this only supports very limited banks in the UK - could we investigate using something like TrueLayer?
Author
Owner

@filiptrplan commented on GitHub (May 19, 2026):

Worked just fine with N26 and Revolut. When adding Fineco Italy, a traditional bank, I get an empty list of accounts after successful authorization of the main account, as per screenshot
Image

Same with OTP Banka in Slovenia.

<!-- gh-comment-id:4488926240 --> @filiptrplan commented on GitHub (May 19, 2026): > Worked just fine with N26 and Revolut. When adding Fineco Italy, a traditional bank, I get an empty list of accounts after successful authorization of the main account, as per screenshot > <img alt="Image" width="2000" height="922" src="https://private-user-images.githubusercontent.com/2356960/594061369-2e221134-4128-4138-af0c-e002fe017107.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzkyMDE5OTUsIm5iZiI6MTc3OTIwMTY5NSwicGF0aCI6Ii8yMzU2OTYwLzU5NDA2MTM2OS0yZTIyMTEzNC00MTI4LTQxMzgtYWYwYy1lMDAyZmUwMTcxMDcucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDUxOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA1MTlUMTQ0MTM1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Zjg0NmU0NWU0NzFjMGJjNmIzMzFiMDYyN2FkODlmNzUxYjJjMWE2NDcyMmU2ODU2MzYzMTI1NjZhMTg2ZjNmZiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmcmVzcG9uc2UtY29udGVudC10eXBlPWltYWdlJTJGcG5nIn0.gUaDyw5uobWxldxygLK0KvlxLqqrHT8gqFLk0mX-8Wo"> Same with OTP Banka in Slovenia.
Author
Owner

@matt-fidd commented on GitHub (May 19, 2026):

I'd suggest that a first port of call on some of these issues would be to contact Enable Banking and see if they can provide any insight.

<!-- gh-comment-id:4489187895 --> @matt-fidd commented on GitHub (May 19, 2026): I'd suggest that a first port of call on some of these issues would be to contact Enable Banking and see if they can provide any insight.
Author
Owner

@mnogueron commented on GitHub (May 20, 2026):

I'm now getting errors with one bank (S-Pankki, Finland), but only for two of several accounts there.

EDIT: It is also a bank holiday today in Finland, if that would matter - can't figure out how it could.

May 14 19:15:25 actualbudget node[31679]: 2026-05-14T16:15:25.104Z actual:enable-banking:app Error fetching transactions: EnableBankingError: Wrong transactions period requested
May 14 19:15:25 actualbudget node[31679]:     at handleEnableBankingError (file:///opt/actual/node_modules/@actual-app/sync-server/build/chunks/app-URBBPE6f.js:798:10)
May 14 19:15:25 actualbudget node[31679]:     at request (file:///opt/actual/node_modules/@actual-app/sync-server/build/chunks/app-URBBPE6f.js:879:9)
May 14 19:15:25 actualbudget node[31679]:     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
May 14 19:15:25 actualbudget node[31679]:     at async Object.getAllTransactions (file:///opt/actual/node_modules/@actual-app/sync-server/build/chunks/app-URBBPE6f.js:994:19)
May 14 19:15:25 actualbudget node[31679]:     at async file:///opt/actual/node_modules/@actual-app/sync-server/build/chunks/app-URBBPE6f.js:1309:27 {
May 14 19:15:25 actualbudget node[31679]:   error_type: 'Wrong transactions period requested',
May 14 19:15:25 actualbudget node[31679]:   error_code: 'INVALID_INPUT'
May 14 19:15:25 actualbudget node[31679]: }

You can check on EB console all the requests made by the integration. If you have errors, you can check EB's error, plus the bank layer error.

On my side, the initial pull worked flawlessly, now if I try to sync it fails and EB and my bank report an invalid dateFrom with a WRONG_TRANSACTIONS_PERIOD on EB's side.

<!-- gh-comment-id:4493466720 --> @mnogueron commented on GitHub (May 20, 2026): > I'm now getting errors with one bank (S-Pankki, Finland), but only for two of several accounts there. > > EDIT: It is also a bank holiday today in Finland, if that would matter - can't figure out how it could. > > ``` > May 14 19:15:25 actualbudget node[31679]: 2026-05-14T16:15:25.104Z actual:enable-banking:app Error fetching transactions: EnableBankingError: Wrong transactions period requested > May 14 19:15:25 actualbudget node[31679]: at handleEnableBankingError (file:///opt/actual/node_modules/@actual-app/sync-server/build/chunks/app-URBBPE6f.js:798:10) > May 14 19:15:25 actualbudget node[31679]: at request (file:///opt/actual/node_modules/@actual-app/sync-server/build/chunks/app-URBBPE6f.js:879:9) > May 14 19:15:25 actualbudget node[31679]: at process.processTicksAndRejections (node:internal/process/task_queues:95:5) > May 14 19:15:25 actualbudget node[31679]: at async Object.getAllTransactions (file:///opt/actual/node_modules/@actual-app/sync-server/build/chunks/app-URBBPE6f.js:994:19) > May 14 19:15:25 actualbudget node[31679]: at async file:///opt/actual/node_modules/@actual-app/sync-server/build/chunks/app-URBBPE6f.js:1309:27 { > May 14 19:15:25 actualbudget node[31679]: error_type: 'Wrong transactions period requested', > May 14 19:15:25 actualbudget node[31679]: error_code: 'INVALID_INPUT' > May 14 19:15:25 actualbudget node[31679]: } > ``` You can check on EB console all the requests made by the integration. If you have errors, you can check EB's error, plus the bank layer error. On my side, the initial pull worked flawlessly, now if I try to sync it fails and EB and my bank report an invalid `dateFrom` with a `WRONG_TRANSACTIONS_PERIOD` on EB's side.
Author
Owner

@geekuality commented on GitHub (May 20, 2026):

@matt-fidd @mnogueron Good pointers, I did find irregularities from EB request logs - did submit a support ticket there. 😌

<!-- gh-comment-id:4497321322 --> @geekuality commented on GitHub (May 20, 2026): @matt-fidd @mnogueron Good pointers, I did find irregularities from EB request logs - did submit a support ticket there. 😌
Author
Owner

@filiptrplan commented on GitHub (May 21, 2026):

Worked just fine with N26 and Revolut. When adding Fineco Italy, a traditional bank, I get an empty list of accounts after successful authorization of the main account, as per screenshot
Image

Same with OTP Banka in Slovenia.

Nevermind, it was a stupid mistake. I have a restricted production app and forgot to link the account in the EB dashboard first.

<!-- gh-comment-id:4511171800 --> @filiptrplan commented on GitHub (May 21, 2026): > > Worked just fine with N26 and Revolut. When adding Fineco Italy, a traditional bank, I get an empty list of accounts after successful authorization of the main account, as per screenshot > > <img alt="Image" width="2000" height="922" src="https://private-user-images.githubusercontent.com/2356960/594061369-2e221134-4128-4138-af0c-e002fe017107.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzkyMDE5OTUsIm5iZiI6MTc3OTIwMTY5NSwicGF0aCI6Ii8yMzU2OTYwLzU5NDA2MTM2OS0yZTIyMTEzNC00MTI4LTQxMzgtYWYwYy1lMDAyZmUwMTcxMDcucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDUxOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA1MTlUMTQ0MTM1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Zjg0NmU0NWU0NzFjMGJjNmIzMzFiMDYyN2FkODlmNzUxYjJjMWE2NDcyMmU2ODU2MzYzMTI1NjZhMTg2ZjNmZiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmcmVzcG9uc2UtY29udGVudC10eXBlPWltYWdlJTJGcG5nIn0.gUaDyw5uobWxldxygLK0KvlxLqqrHT8gqFLk0mX-8Wo"> > > Same with OTP Banka in Slovenia. Nevermind, it was a stupid mistake. I have a restricted production app and forgot to link the account in the EB dashboard first.
Author
Owner

@insomniacslk commented on GitHub (May 21, 2026):

...I did the same mistake, thanks for catching that. Feedback for the developers: if there's an error message from EB, it could be bubbled up? Alternatively there could still be a warning from Actual that this could be caused by an account that hasn't been linked on EB

May 21, 2026 20:05:32 Filip Trplan @.***>:

 [Image]*filiptrplan* left a comment (actualbudget/actual#7799)[https://github.com/actualbudget/actual/issues/7799#issuecomment-4511171800]

Worked just fine with N26 and Revolut. When adding Fineco Italy, a traditional bank, I get an empty list of accounts after successful authorization of the main account, as per screenshot
[Image][Image][https://private-user-images.githubusercontent.com/2356960/594061369-2e221134-4128-4138-af0c-e002fe017107.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzkyMDE5OTUsIm5iZiI6MTc3OTIwMTY5NSwicGF0aCI6Ii8yMzU2OTYwLzU5NDA2MTM2OS0yZTIyMTEzNC00MTI4LTQxMzgtYWYwYy1lMDAyZmUwMTcxMDcucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDUxOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA1MTlUMTQ0MTM1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Zjg0NmU0NWU0NzFjMGJjNmIzMzFiMDYyN2FkODlmNzUxYjJjMWE2NDcyMmU2ODU2MzYzMTI1NjZhMTg2ZjNmZiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmcmVzcG9uc2UtY29udGVudC10eXBlPWltYWdlJTJGcG5nIn0.gUaDyw5uobWxldxygLK0KvlxLqqrHT8gqFLk0mX-8Wo][https://private-user-images.githubusercontent.com/2356960/594061369-2e221134-4128-4138-af0c-e002fe017107.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzkyMDE5OTUsIm5iZiI6MTc3OTIwMTY5NSwicGF0aCI6Ii8yMzU2OTYwLzU5NDA2MTM2OS0yZTIyMTEzNC00MTI4LTQxMzgtYWYwYy1lMDAyZmUwMTcxMDcucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDUxOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA1MTlUMTQ0MTM1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Zjg0NmU0NWU0NzFjMGJjNmIzMzFiMDYyN2FkODlmNzUxYjJjMWE2NDcyMmU2ODU2MzYzMTI1NjZhMTg2ZjNmZiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmcmVzcG9uc2UtY29udGVudC10eXBlPWltYWdlJTJGcG5nIn0.gUaDyw5uobWxldxygLK0KvlxLqqrHT8gqFLk0mX-8Wo]

Same with OTP Banka in Slovenia.

Nevermind, it was a stupid mistake. I have a restricted production app and forgot to link the account in the EB dashboard first.


Reply to this email directly, view it on GitHub[https://github.com/actualbudget/actual/issues/7799#issuecomment-4511171800], or unsubscribe[https://github.com/notifications/unsubscribe-auth/AAR7NYD3JSUVWS5GN5NL7Z3435AOVAVCNFSM6AAAAACYZVPVKWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHM2DKMJRGE3TCOBQGA].
Triage notifications on the go with GitHub Mobile for iOS[https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675] or Android[https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub].
You are receiving this because you commented.
[Tracking image][https://github.com/notifications/beacon/AAR7NYFJK33GHVFR4GICPZT435AOVBFCNFSM6AAAAACYZVPVKWWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTYAAAAACDHDATMKM4TFMFZW63VHMNXW23LFNZ2A.gif]

<!-- gh-comment-id:4511296020 --> @insomniacslk commented on GitHub (May 21, 2026): ...I did the same mistake, thanks for catching that. Feedback for the developers: if there's an error message from EB, it could be bubbled up? Alternatively there could still be a warning from Actual that this could be caused by an account that hasn't been linked on EB May 21, 2026 20:05:32 Filip Trplan ***@***.***>: > > [Image]*filiptrplan* left a comment (actualbudget/actual#7799)[https://github.com/actualbudget/actual/issues/7799#issuecomment-4511171800] > > > Worked just fine with N26 and Revolut. When adding Fineco Italy, a traditional bank, I get an empty list of accounts after successful authorization of the main account, as per screenshot > [Image][Image][https://private-user-images.githubusercontent.com/2356960/594061369-2e221134-4128-4138-af0c-e002fe017107.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzkyMDE5OTUsIm5iZiI6MTc3OTIwMTY5NSwicGF0aCI6Ii8yMzU2OTYwLzU5NDA2MTM2OS0yZTIyMTEzNC00MTI4LTQxMzgtYWYwYy1lMDAyZmUwMTcxMDcucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDUxOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA1MTlUMTQ0MTM1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Zjg0NmU0NWU0NzFjMGJjNmIzMzFiMDYyN2FkODlmNzUxYjJjMWE2NDcyMmU2ODU2MzYzMTI1NjZhMTg2ZjNmZiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmcmVzcG9uc2UtY29udGVudC10eXBlPWltYWdlJTJGcG5nIn0.gUaDyw5uobWxldxygLK0KvlxLqqrHT8gqFLk0mX-8Wo][https://private-user-images.githubusercontent.com/2356960/594061369-2e221134-4128-4138-af0c-e002fe017107.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzkyMDE5OTUsIm5iZiI6MTc3OTIwMTY5NSwicGF0aCI6Ii8yMzU2OTYwLzU5NDA2MTM2OS0yZTIyMTEzNC00MTI4LTQxMzgtYWYwYy1lMDAyZmUwMTcxMDcucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDUxOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA1MTlUMTQ0MTM1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Zjg0NmU0NWU0NzFjMGJjNmIzMzFiMDYyN2FkODlmNzUxYjJjMWE2NDcyMmU2ODU2MzYzMTI1NjZhMTg2ZjNmZiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmcmVzcG9uc2UtY29udGVudC10eXBlPWltYWdlJTJGcG5nIn0.gUaDyw5uobWxldxygLK0KvlxLqqrHT8gqFLk0mX-8Wo] > > Same with OTP Banka in Slovenia. > > Nevermind, it was a stupid mistake. I have a restricted production app and forgot to link the account in the EB dashboard first. > > — > Reply to this email directly, view it on GitHub[https://github.com/actualbudget/actual/issues/7799#issuecomment-4511171800], or unsubscribe[https://github.com/notifications/unsubscribe-auth/AAR7NYD3JSUVWS5GN5NL7Z3435AOVAVCNFSM6AAAAACYZVPVKWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHM2DKMJRGE3TCOBQGA]. > Triage notifications on the go with GitHub Mobile for iOS[https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675] or Android[https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub]. > You are receiving this because you commented. > [Tracking image][https://github.com/notifications/beacon/AAR7NYFJK33GHVFR4GICPZT435AOVBFCNFSM6AAAAACYZVPVKWWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTYAAAAACDHDATMKM4TFMFZW63VHMNXW23LFNZ2A.gif] >
Author
Owner

@alanwflood commented on GitHub (May 22, 2026):

I've spotted on issue where Bank of Ireland will only allow you to log in as a business user, it gives no option to log in with a personal account.

<!-- gh-comment-id:4517328010 --> @alanwflood commented on GitHub (May 22, 2026): I've spotted on issue where Bank of Ireland will only allow you to log in as a business user, it gives no option to log in with a personal account.
Author
Owner

@mnil commented on GitHub (May 22, 2026):

On my side, the initial pull worked flawlessly, now if I try to sync it fails and EB and my bank report an invalid dateFrom with a WRONG_TRANSACTIONS_PERIOD on EB's side.

@mnogueron Do you know if this a problem with actualserver/EB integration or EB itself? I am getting the same problem, initial link and sync works, but the day after I get an error with WRONG_TRANSACTIONS_PERIOD.

<!-- gh-comment-id:4518173899 --> @mnil commented on GitHub (May 22, 2026): > On my side, the initial pull worked flawlessly, now if I try to sync it fails and EB and my bank report an invalid `dateFrom` with a `WRONG_TRANSACTIONS_PERIOD` on EB's side. @mnogueron Do you know if this a problem with actualserver/EB integration or EB itself? I am getting the same problem, initial link and sync works, but the day after I get an error with `WRONG_TRANSACTIONS_PERIOD`.
Author
Owner

@mnogueron commented on GitHub (May 22, 2026):

@mnil It seems EB obfuscate any query params which makes debugging impossible.
The initial calls shows the same call to a /transaction endpoint to my bank with dateFrom=0000-00-00&dateTo=0000-00-00 which works fine, but the next ones have the same params and fails.
I have a strong feeling that these zeros are fillers.

Although, I also see that my app is flagged as restricted and I can ask to make it unrestricted. This is very blurry as to what it's supposed to do. Are you in the same situation?

<!-- gh-comment-id:4523389242 --> @mnogueron commented on GitHub (May 22, 2026): @mnil It seems EB obfuscate any query params which makes debugging impossible. The initial calls shows the same call to a `/transaction` endpoint to my bank with `dateFrom=0000-00-00&dateTo=0000-00-00` which works fine, but the next ones have the same params and fails. I have a strong feeling that these zeros are fillers. Although, I also see that my app is flagged as restricted and I can ask to make it unrestricted. This is very blurry as to what it's supposed to do. Are you in the same situation?
Author
Owner

@geekuality commented on GitHub (May 23, 2026):

I got a reply from EB regrding that WRONG_TRANSACTIONS_PERIOD error:

Thank you for your email.

Just to let you know that you get an error because the bank limits historical transactions data fetch to 3 minutes after authentication.
Once 3 minutes pass you can fetch transactions data up to 90 days. In the request where you received an error I noticed that you fetched transactions for 91 days.

Let me know if I can help you with anything else.

<!-- gh-comment-id:4524324135 --> @geekuality commented on GitHub (May 23, 2026): I got a reply from EB regrding that `WRONG_TRANSACTIONS_PERIOD` error: > Thank you for your email. > > Just to let you know that you get an error because the bank limits historical transactions data fetch to 3 minutes after authentication. Once 3 minutes pass you can fetch transactions data up to 90 days. In the request where you received an error I noticed that you fetched transactions for 91 days. > > Let me know if I can help you with anything else.
Author
Owner

@mnil commented on GitHub (May 23, 2026):

I got a reply from EB regrding that WRONG_TRANSACTIONS_PERIOD error:

In the request where you received an error I noticed that you fetched transactions for 91 days.

thanks for this, I think it's likely it's and off-by-one error in the date handling so created a PR: https://github.com/actualbudget/actual/pull/7930

Not sure how to test it in production env though.

<!-- gh-comment-id:4524525613 --> @mnil commented on GitHub (May 23, 2026): > I got a reply from EB regrding that `WRONG_TRANSACTIONS_PERIOD` error: > >> In the request where you received an error I noticed that you fetched transactions for 91 days. thanks for this, I think it's likely it's and off-by-one error in the date handling so created a PR: https://github.com/actualbudget/actual/pull/7930 Not sure how to test it in production env though.
Author
Owner

@mnogueron commented on GitHub (May 23, 2026):

I got a reply from EB regrding that WRONG_TRANSACTIONS_PERIOD error:

In the request where you received an error I noticed that you fetched transactions for 91 days.

thanks for this, I think it's likely it's and off-by-one error in the date handling so created a PR: https://github.com/actualbudget/actual/pull/7930

Not sure how to test it in production env though.

I was about with my dev instance but now I'm having an Invalid status PSU-IP-Address on my dev instance.

I'll create a ticket on EB's side.

<!-- gh-comment-id:4525687878 --> @mnogueron commented on GitHub (May 23, 2026): > > I got a reply from EB regrding that `WRONG_TRANSACTIONS_PERIOD` error: > > > >> In the request where you received an error I noticed that you fetched transactions for 91 days. > > thanks for this, I think it's likely it's and off-by-one error in the date handling so created a PR: https://github.com/actualbudget/actual/pull/7930 > > Not sure how to test it in production env though. I was about with my dev instance but now I'm having an `Invalid status PSU-IP-Address` on my dev instance. I'll create a ticket on EB's side.
Author
Owner

@stevenhansel commented on GitHub (May 24, 2026):

I'm using Commerzbank, and there is a problem in the "pending" transactions that all the dates object are empty.

The Enable Banking API was successful and everything from the API side is working, only from the client side worker is failing, due to the empty dates.

I was able to resolve this temporarily by going to Bank Sync > Edit the Enable Banking Bank Sync Settings > Uncheck the Import Pending Transactions Checkbox.

The Pending Logs from the Enable Banking API:

{
  "pending": [
    {
      "entry_reference": null,
      "merchant_category_code": null,
      "transaction_amount": {
        "currency": "EUR",
        "amount": "23"
      },
      "creditor": {
        "name": "XXX GmbH",
        "postal_address": null,
        "organisation_id": null,
        "private_id": null,
        "contact_details": null
      },
      "creditor_account": null,
      "creditor_agent": null,
      "debtor": null,
      "debtor_account": {
        "iban": "XXXX",
        "other": null
      },
      "debtor_agent": null,
      "bank_transaction_code": null,
      "credit_debit_indicator": "DBIT",
      "status": "PDNG",
      "booking_date": null,
      "value_date": null,
      "transaction_date": null,
      "balance_after_transaction": null,
      "reference_number": null,
      "reference_number_schema": null,
      "remittance_information": [],
      "debtor_account_additional_identification": null,
      "creditor_account_additional_identification": null,
      "exchange_rate": null,
      "note": null,
      "transaction_id": null,
      "transactionId": "",
      "date": "",
      "bookingDate": "",
      "valueDate": null,
      "transactionAmount": {
        "amount": "-23",
        "currency": "EUR"
      },
      "payeeName": "XXXX GmbH",
      "booked": false
    },
    {
      "entry_reference": null,
      "merchant_category_code": null,
      "transaction_amount": {
        "currency": "EUR",
        "amount": "6"
      },
      "creditor": {
        "name": "XXXX GmbH",
        "postal_address": null,
        "organisation_id": null,
        "private_id": null,
        "contact_details": null
      },
      "creditor_account": null,
      "creditor_agent": null,
      "debtor": null,
      "debtor_account": {
        "iban": "XXXX",
        "other": null
      },
      "debtor_agent": null,
      "bank_transaction_code": null,
      "credit_debit_indicator": "DBIT",
      "status": "PDNG",
      "booking_date": null,
      "value_date": null,
      "transaction_date": null,
      "balance_after_transaction": null,
      "reference_number": null,
      "reference_number_schema": null,
      "remittance_information": [],
      "debtor_account_additional_identification": null,
      "creditor_account_additional_identification": null,
      "exchange_rate": null,
      "note": null,
      "transaction_id": null,
      "transactionId": "",
      "date": "",
      "bookingDate": "",
      "valueDate": null,
      "transactionAmount": {
        "amount": "-6",
        "currency": "EUR"
      },
      "payeeName": "XXXX GmbH",
      "booked": false
    }
  ]
}

Console errors from the Browser:

[Exception] 
Object { message: 'Failed syncing account "Commerzbank."' }
​
message: 'Failed syncing account "Commerzbank."'
​
<prototype>: Object { … }
​​
__defineGetter__: function __defineGetter__()
​​
__defineSetter__: function __defineSetter__()
​​
__lookupGetter__: function __lookupGetter__()
​​
__lookupSetter__: function __lookupSetter__()
​​
__proto__: 
​​
constructor: function Object()
​​
hasOwnProperty: function hasOwnProperty()
​​
isPrototypeOf: function isPrototypeOf()
​​
propertyIsEnumerable: function propertyIsEnumerable()
​​
toLocaleString: function toLocaleString()
​​
toString: function toString()
​​
valueOf: function valueOf()
​​
<get __proto__()>: function __proto__()
​​​
length: 0
​​​
name: "get __proto__"
​​​
<prototype>: function ()
​​
<set __proto__()>: function __proto__()
kcab.worker.Cn6Jnyv4.js:195:12
Internal error: CompileError@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49395:21
badDateFormat@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49515:9
castInput@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49541:84
val@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49568:26
valArray/<@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49576:37
valArray@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49576:14
compileOp<@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49761:35
saveStack/<@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49590:20
compileConditions/</compiled<@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49829:12
compileConditions/<@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49819:46
compileConditions@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49818:32
compileOr@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49836:32
compileConditions/</compiled<@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49825:13
compileConditions/<@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49819:46
compileConditions@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49818:32
compileAnd@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49842:32
compileWhere<@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49847:10
saveStack/<@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49590:20
compileQuery@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:50003:57
compileAndRunAqlQuery@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:51950:44
aqlQuery@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:52506:10
getRunningBalanceBeforeTransaction@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:152296:35
prepareTransactionForRules@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:152325:22
<!-- gh-comment-id:4528902828 --> @stevenhansel commented on GitHub (May 24, 2026): I'm using Commerzbank, and there is a problem in the `"pending"` transactions that all the dates object are empty. The Enable Banking API was successful and everything from the API side is working, only from the client side worker is failing, due to the empty dates. I was able to resolve this temporarily by going to Bank Sync > Edit the Enable Banking Bank Sync Settings > Uncheck the Import Pending Transactions Checkbox. The Pending Logs from the Enable Banking API: ``` { "pending": [ { "entry_reference": null, "merchant_category_code": null, "transaction_amount": { "currency": "EUR", "amount": "23" }, "creditor": { "name": "XXX GmbH", "postal_address": null, "organisation_id": null, "private_id": null, "contact_details": null }, "creditor_account": null, "creditor_agent": null, "debtor": null, "debtor_account": { "iban": "XXXX", "other": null }, "debtor_agent": null, "bank_transaction_code": null, "credit_debit_indicator": "DBIT", "status": "PDNG", "booking_date": null, "value_date": null, "transaction_date": null, "balance_after_transaction": null, "reference_number": null, "reference_number_schema": null, "remittance_information": [], "debtor_account_additional_identification": null, "creditor_account_additional_identification": null, "exchange_rate": null, "note": null, "transaction_id": null, "transactionId": "", "date": "", "bookingDate": "", "valueDate": null, "transactionAmount": { "amount": "-23", "currency": "EUR" }, "payeeName": "XXXX GmbH", "booked": false }, { "entry_reference": null, "merchant_category_code": null, "transaction_amount": { "currency": "EUR", "amount": "6" }, "creditor": { "name": "XXXX GmbH", "postal_address": null, "organisation_id": null, "private_id": null, "contact_details": null }, "creditor_account": null, "creditor_agent": null, "debtor": null, "debtor_account": { "iban": "XXXX", "other": null }, "debtor_agent": null, "bank_transaction_code": null, "credit_debit_indicator": "DBIT", "status": "PDNG", "booking_date": null, "value_date": null, "transaction_date": null, "balance_after_transaction": null, "reference_number": null, "reference_number_schema": null, "remittance_information": [], "debtor_account_additional_identification": null, "creditor_account_additional_identification": null, "exchange_rate": null, "note": null, "transaction_id": null, "transactionId": "", "date": "", "bookingDate": "", "valueDate": null, "transactionAmount": { "amount": "-6", "currency": "EUR" }, "payeeName": "XXXX GmbH", "booked": false } ] } ``` Console errors from the Browser: ``` [Exception] Object { message: 'Failed syncing account "Commerzbank."' } ​ message: 'Failed syncing account "Commerzbank."' ​ <prototype>: Object { … } ​​ __defineGetter__: function __defineGetter__() ​​ __defineSetter__: function __defineSetter__() ​​ __lookupGetter__: function __lookupGetter__() ​​ __lookupSetter__: function __lookupSetter__() ​​ __proto__: ​​ constructor: function Object() ​​ hasOwnProperty: function hasOwnProperty() ​​ isPrototypeOf: function isPrototypeOf() ​​ propertyIsEnumerable: function propertyIsEnumerable() ​​ toLocaleString: function toLocaleString() ​​ toString: function toString() ​​ valueOf: function valueOf() ​​ <get __proto__()>: function __proto__() ​​​ length: 0 ​​​ name: "get __proto__" ​​​ <prototype>: function () ​​ <set __proto__()>: function __proto__() kcab.worker.Cn6Jnyv4.js:195:12 ``` ``` Internal error: CompileError@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49395:21 badDateFormat@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49515:9 castInput@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49541:84 val@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49568:26 valArray/<@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49576:37 valArray@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49576:14 compileOp<@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49761:35 saveStack/<@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49590:20 compileConditions/</compiled<@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49829:12 compileConditions/<@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49819:46 compileConditions@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49818:32 compileOr@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49836:32 compileConditions/</compiled<@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49825:13 compileConditions/<@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49819:46 compileConditions@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49818:32 compileAnd@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49842:32 compileWhere<@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49847:10 saveStack/<@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:49590:20 compileQuery@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:50003:57 compileAndRunAqlQuery@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:51950:44 aqlQuery@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:52506:10 getRunningBalanceBeforeTransaction@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:152296:35 prepareTransactionForRules@https://example.com/kcab/kcab.worker.Cn6Jnyv4.js:152325:22 ```
Author
Owner

@mnil commented on GitHub (May 25, 2026):

I got a reply from EB regrding that WRONG_TRANSACTIONS_PERIOD error:

In the request where you received an error I noticed that you fetched transactions for 91 days.

thanks for this, I think it's likely it's and off-by-one error in the date handling so created a PR: #7930

Not sure how to test it in production env though.

@matt-fidd or @MatissJanis I have now tested this on my local instance and it fixes the problems I was having. Would be nice with a review before you cut the 2026.6 release.

<!-- gh-comment-id:4531931119 --> @mnil commented on GitHub (May 25, 2026): > > I got a reply from EB regrding that `WRONG_TRANSACTIONS_PERIOD` error: > > > In the request where you received an error I noticed that you fetched transactions for 91 days. > > thanks for this, I think it's likely it's and off-by-one error in the date handling so created a PR: [#7930](https://github.com/actualbudget/actual/pull/7930) > > Not sure how to test it in production env though. @matt-fidd or @MatissJanis I have now tested this on my local instance and it fixes the problems I was having. Would be nice with a review before you cut the 2026.6 release.
Author
Owner

@DmitriiGoi commented on GitHub (May 25, 2026):

i was using the feature from branch for one month, and found out no bugs, thx for the development, happy to have this feature in release version

<!-- gh-comment-id:4537404779 --> @DmitriiGoi commented on GitHub (May 25, 2026): i was using the feature from branch for one month, and found out no bugs, thx for the development, happy to have this feature in release version
Author
Owner

@nickmansrob commented on GitHub (May 26, 2026):

Very happy to see this implemented! Found one small bug: when going to the bank sync page and clicking 'Link account' on an already existing, manual account and then following the linking process, I cannot click 'Link accounts' in the Link Accounts modal. The Actual Budget account was already prefilled since I use the 'Link account' button. When clicking on the account and selecting it again, the 'Link accounts' button became clickable.

<!-- gh-comment-id:4544148340 --> @nickmansrob commented on GitHub (May 26, 2026): Very happy to see this implemented! Found one small bug: when going to the bank sync page and clicking 'Link account' on an already existing, manual account and then following the linking process, I cannot click 'Link accounts' in the Link Accounts modal. The Actual Budget account was already prefilled since I use the 'Link account' button. When clicking on the account and selecting it again, the 'Link accounts' button became clickable.
Author
Owner

@chrismin13 commented on GitHub (May 26, 2026):

...I did the same mistake, thanks for catching that. Feedback for the developers: if there's an error message from EB, it could be bubbled up? Alternatively there could still be a warning from Actual that this could be caused by an account that hasn't been linked on EB

May 21, 2026 20:05:32 Filip Trplan @.***>:

+1 on this, plus we need some more docs before this goes in a production build, as it isn't clear that:
a) you can only find this via the browser for the server, not the app or locally
b) you need https working
c) you need to FIRST connect the app from Enable, then through Actual

And one more bug: the verification for the Application ID field isn't very strict, I had a ) at the end of my UUID and it was just accepted, leading to an empty list of banks after selecting my country, which took me a sec to figure out. Not a big deal, just something that could be easily solved and improve the experience for everyone.

Thanks for your efforts!

<!-- gh-comment-id:4546667372 --> @chrismin13 commented on GitHub (May 26, 2026): > ...I did the same mistake, thanks for catching that. Feedback for the developers: if there's an error message from EB, it could be bubbled up? Alternatively there could still be a warning from Actual that this could be caused by an account that hasn't been linked on EB > > May 21, 2026 20:05:32 Filip Trplan ***@***.***>: > […](#) +1 on this, plus we need some more docs before this goes in a production build, as it isn't clear that: a) you can only find this via the browser for the server, not the app or locally b) you need https working c) you need to FIRST connect the app from Enable, then through Actual And one more bug: the verification for the Application ID field isn't very strict, I had a `)` at the end of my UUID and it was just accepted, leading to an empty list of banks after selecting my country, which took me a sec to figure out. Not a big deal, just something that could be easily solved and improve the experience for everyone. Thanks for your efforts!
Author
Owner

@matt-fidd commented on GitHub (May 26, 2026):

If anyone feels like writing up some docs before this is released at the start of next month, that would be really useful!

<!-- gh-comment-id:4547317011 --> @matt-fidd commented on GitHub (May 26, 2026): If anyone feels like writing up some docs before this is released at the start of next month, that would be really useful!
Author
Owner

@mnil commented on GitHub (May 26, 2026):

If anyone feels like writing up some docs before this is released at the start of next month, that would be really useful!

I wrote up something here: https://github.com/actualbudget/actual/pull/7961/changes#diff-b1eec69c3d5896824cacc6c465d172a5fbb2756894eb9c887c663d1bda4ec059

I don't consider them complete but not sure what else is needed, so please add feedback.

<!-- gh-comment-id:4547526615 --> @mnil commented on GitHub (May 26, 2026): > If anyone feels like writing up some docs before this is released at the start of next month, that would be really useful! I wrote up something here: https://github.com/actualbudget/actual/pull/7961/changes#diff-b1eec69c3d5896824cacc6c465d172a5fbb2756894eb9c887c663d1bda4ec059 I don't consider them complete but not sure what else is needed, so please add feedback.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#100619