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

Open
opened 2026-05-19 04:28:26 -05:00 by GiteaMirror · 17 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-19 04:28:27 -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" />
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#80638