[GH-ISSUE #737] Common way to enable future bank syncing tools #7230

Closed
opened 2026-04-10 16:58:20 -05:00 by GiteaMirror · 26 comments
Owner

Originally created by @tjfinlinson on GitHub (Mar 10, 2023).
Original GitHub issue: https://github.com/actualbudget/actual/issues/737

Verified feature request does not already exist?

  • I have searched and found no existing issue

💻

  • Would you like to implement this feature?

Pitch: what problem are you trying to solve?

With Nordigen Bank sync coming into Actual, we need a way to have some common places in place for adding additional bank syncing providers/tools in order to support more financial institutions in different countries.

Discussed providers are PLAID, SIMPLEFIN

https://discord.com/channels/937901803608096828/1077664629557301258

Describe your ideal solution to this problem

Ideally I think it would allow for different providers to be used for different accounts so we would need to have a method for storing that type of configuration as well as well as some UI for selecting the provider before adding in KEYS/SECRETS from that provider.

Teaching and learning

No response

Originally created by @tjfinlinson on GitHub (Mar 10, 2023). Original GitHub issue: https://github.com/actualbudget/actual/issues/737 ### Verified feature request does not already exist? - [X] I have searched and found no existing issue ### 💻 - [ ] Would you like to implement this feature? ### Pitch: what problem are you trying to solve? With Nordigen Bank sync coming into Actual, we need a way to have some common places in place for adding additional bank syncing providers/tools in order to support more financial institutions in different countries. Discussed providers are PLAID, SIMPLEFIN https://discord.com/channels/937901803608096828/1077664629557301258 ### Describe your ideal solution to this problem Ideally I think it would allow for different providers to be used for different accounts so we would need to have a method for storing that type of configuration as well as well as some UI for selecting the provider before adding in KEYS/SECRETS from that provider. ### Teaching and learning _No response_
GiteaMirror added the maintenance label 2026-04-10 16:58:20 -05:00
Author
Owner

@j-f1 commented on GitHub (Mar 10, 2023):

+1 to this. I also think we should be able to configure the keys without having to update the server config (with a UI similar to GitHub’s secrets UI where you can add, update, and remove the secrets but can’t read them).

<!-- gh-comment-id:1463719336 --> @j-f1 commented on GitHub (Mar 10, 2023): +1 to this. I also think we should be able to configure the keys without having to update the server config (with a UI similar to GitHub’s secrets UI where you can add, update, and remove the secrets but can’t read them).
Author
Owner

@latetedemelon commented on GitHub (Mar 13, 2023):

Perhaps we could pursue progressive integration?

  1. Separate docker / application that calls the API.
  2. Integrated sync engine that is configured on the backend.
  3. Front end UI integration.

For Simplefin it looks like someone got 1) working but I haven't tested.

https://github.com/lancepick/actual-budget-sync
https://github.com/lancepick/actual-simplefin-sync

<!-- gh-comment-id:1465497444 --> @latetedemelon commented on GitHub (Mar 13, 2023): Perhaps we could pursue progressive integration? 1. Separate docker / application that calls the API. 2. Integrated sync engine that is configured on the backend. 3. Front end UI integration. For Simplefin it looks like someone got 1) working but I haven't tested. https://github.com/lancepick/actual-budget-sync https://github.com/lancepick/actual-simplefin-sync
Author
Owner

@tjfinlinson commented on GitHub (Mar 14, 2023):

Perhaps we could pursue progressive integration?

  1. Separate docker / application that calls the API.
  2. Integrated sync engine that is configured on the backend.
  3. Front end UI integration.

For Simplefin it looks like someone got 1) working but I haven't tested.

https://github.com/lancepick/actual-budget-sync https://github.com/lancepick/actual-simplefin-sync

I never tested that either, but he made it to work with the closed source version of actual, I don't know how much work it might be to take what he already did and get it working with the open source version.

Sadly, I don't really have much knowledge or skill in the dev side of things.

<!-- gh-comment-id:1468440601 --> @tjfinlinson commented on GitHub (Mar 14, 2023): > Perhaps we could pursue progressive integration? > > 1. Separate docker / application that calls the API. > 2. Integrated sync engine that is configured on the backend. > 3. Front end UI integration. > > For Simplefin it looks like someone got 1) working but I haven't tested. > > https://github.com/lancepick/actual-budget-sync https://github.com/lancepick/actual-simplefin-sync I never tested that either, but he made it to work with the closed source version of actual, I don't know how much work it might be to take what he already did and get it working with the open source version. Sadly, I don't really have much knowledge or skill in the dev side of things.
Author
Owner

@tjfinlinson commented on GitHub (Mar 14, 2023):

I would love to team up with someone though and try and help do something.

<!-- gh-comment-id:1468524177 --> @tjfinlinson commented on GitHub (Mar 14, 2023): I would love to team up with someone though and try and help do something.
Author
Owner

@j-f1 commented on GitHub (Mar 14, 2023):

I think a good approach here would be to refactor the code for the existing Nordigen setup (ideally as little as possible) so that it’s just one of an arbitrary number of syncing providers. Then a separate PR can build on that foundation to actually actually add support for SimpleFin.

<!-- gh-comment-id:1468568542 --> @j-f1 commented on GitHub (Mar 14, 2023): I think a good approach here would be to refactor the code for the existing Nordigen setup (ideally as little as possible) so that it’s just one of an arbitrary number of syncing providers. Then a separate PR can build on that foundation to actually actually add support for SimpleFin.
Author
Owner

@babsher commented on GitHub (Apr 14, 2023):

Hey I would be able to work on this feature! I wont have time until next week though. I am not too familiar with the actual server code but I think I can figure it out. The code from the simplefin sync repo is pretty straight forward. I think I can get a prototype working fairly quickly.

<!-- gh-comment-id:1508885320 --> @babsher commented on GitHub (Apr 14, 2023): Hey I would be able to work on this feature! I wont have time until next week though. I am not too familiar with the actual server code but I think I can figure it out. The code from the simplefin sync repo is pretty straight forward. I think I can get a prototype working fairly quickly.
Author
Owner

@tjfinlinson commented on GitHub (Apr 14, 2023):

@babsher

That would be amazing, I don't have really any dev experience, but could help with testing. I have Simple-Fin credentials and can always share an opinion if needed. haha.

<!-- gh-comment-id:1509114627 --> @tjfinlinson commented on GitHub (Apr 14, 2023): @babsher That would be amazing, I don't have really any dev experience, but could help with testing. I have Simple-Fin credentials and can always share an opinion if needed. haha.
Author
Owner

@culpeppers commented on GitHub (Apr 14, 2023):

Hey @babsher I was told to reach out to you regarding bank sync. I plan on restarting my Plaid integration work, and it sounds like we should collaborate on best path forward for multiple bank syncing.

<!-- gh-comment-id:1509276127 --> @culpeppers commented on GitHub (Apr 14, 2023): Hey @babsher I was told to reach out to you regarding bank sync. I plan on restarting my Plaid integration work, and it sounds like we should collaborate on best path forward for multiple bank syncing.
Author
Owner

@babsher commented on GitHub (Apr 14, 2023):

@culpeppers Sounds great to me! I was looking at the Plaid code and the existing sync. Seems like it could use a bit of refactoring like was mentioned above. I am still not familar with the codebase so I might not be able to give the best suggestions but I am alright JavaScript dev so I can code if there is plan. I am red_hook on the discord server if you want to start chatting there.

<!-- gh-comment-id:1509386024 --> @babsher commented on GitHub (Apr 14, 2023): @culpeppers Sounds great to me! I was looking at the Plaid code and the existing sync. Seems like it could use a bit of refactoring like was mentioned above. I am still not familar with the codebase so I might not be able to give the best suggestions but I am alright JavaScript dev so I can code if there is plan. I am red_hook on the discord server if you want to start chatting there.
Author
Owner

@FeralFlora commented on GitHub (Apr 20, 2023):

Another open banking provider which would be nice to sync from, because it has better coverage in the Nordics and other parts of Europe than Nordigen, is Aiia: https://www.aiia.eu/.

<!-- gh-comment-id:1516439265 --> @FeralFlora commented on GitHub (Apr 20, 2023): Another open banking provider which would be nice to sync from, because it has better coverage in the Nordics and other parts of Europe than Nordigen, is Aiia: https://www.aiia.eu/.
Author
Owner

@babsher commented on GitHub (Apr 21, 2023):

So my current plan is to implement Simple Fin and open a PR for that. The problem I have doing a larger change this what the original ticket proposes is that I am not very familiar with the code base right now so my ability to design and implement such a large change is limited right now. After that I may consider adding other syncing services and refactoring the existing ones.

<!-- gh-comment-id:1518319794 --> @babsher commented on GitHub (Apr 21, 2023): So my current plan is to implement Simple Fin and open a PR for that. The problem I have doing a larger change this what the original ticket proposes is that I am not very familiar with the code base right now so my ability to design and implement such a large change is limited right now. After that I may consider adding other syncing services and refactoring the existing ones.
Author
Owner

@latetedemelon commented on GitHub (Apr 22, 2023):

I've uploaded the sync I've been trying to get to work below. Feel free to bash / borrow / steal.

https://github.com/latetedemelon/simplefin-actual

Based off of the project I found here:

https://github.com/lancepick/actual-simplefin-sync

<!-- gh-comment-id:1518678948 --> @latetedemelon commented on GitHub (Apr 22, 2023): I've uploaded the sync I've been trying to get to work below. Feel free to bash / borrow / steal. https://github.com/latetedemelon/simplefin-actual Based off of the project I found here: https://github.com/lancepick/actual-simplefin-sync
Author
Owner

@rasmuslos commented on GitHub (Apr 22, 2023):

Maybe it is possible to add support for syncing with the API provided by the bank directly. An EU regulation introduced a few years ago requires all banks to support a standardized API (this is the one for Germany). There is even a python wrapper viable. You have to get a Product-ID to use it, and as far as I can tell, it is only intended for commercial applications, but I tried to register and maybe it will work.

This way, a third party has access to the private data of actual users. The higher difficulty in setting this up would probably hinder less technical users from using this way to syncing their transactions, but it for anyone who has the required knowledge to set this up, I think it would be a nice addition.

<!-- gh-comment-id:1518705742 --> @rasmuslos commented on GitHub (Apr 22, 2023): Maybe it is possible to add support for syncing with the API provided by the bank directly. An EU regulation introduced a few years ago requires all banks to support a [standardized API](https://www.hbci-zka.de) (this is the one for Germany). There is even a [python wrapper](https://github.com/raphaelm/python-fints) viable. You have to get a Product-ID to use it, and as far as I can tell, it is only intended for commercial applications, but I tried to register and _maybe_ it will work. This way, a third party has access to the private data of actual users. The higher difficulty in setting this up would probably hinder less technical users from using this way to syncing their transactions, but it for anyone who has the required knowledge to set this up, I think it would be a nice addition.
Author
Owner

@latetedemelon commented on GitHub (Apr 22, 2023):

That might work OK for Europe (or use the Nordigen integration) but this would support North American uses who don’t have that standardization and access.

<!-- gh-comment-id:1518896154 --> @latetedemelon commented on GitHub (Apr 22, 2023): That might work OK for Europe (or use the Nordigen integration) but this would support North American uses who don’t have that standardization and access.
Author
Owner

@rasmuslos commented on GitHub (Apr 25, 2023):

A standardised way for developers to implement a syncing integration would support both ways. Also, my request for a productID was approved, so it isn't really hard to get one

<!-- gh-comment-id:1522123098 --> @rasmuslos commented on GitHub (Apr 25, 2023): A standardised way for developers to implement a syncing integration would support both ways. Also, my request for a productID was approved, so it isn't really hard to get one
Author
Owner

@LakesideMiners commented on GitHub (Apr 28, 2023):

Plaid approves of use of the API for personal use if this is anything to go off of.

https://stackoverflow.com/a/49868230

The bank I use (PNC) dosnt have its own API for personal use but it dose work via Plaid.
It's also very easy to get development access for plaid as well. I put in "for personal use" into the reason for requesting access.

<!-- gh-comment-id:1527520536 --> @LakesideMiners commented on GitHub (Apr 28, 2023): Plaid approves of use of the API for personal use if this is anything to go off of. https://stackoverflow.com/a/49868230 The bank I use (PNC) dosnt have its own API for personal use but it dose work via Plaid. It's also very easy to get development access for plaid as well. I put in "for personal use" into the reason for requesting access.
Author
Owner

@github-actions[bot] commented on GitHub (May 1, 2023):

Thanks for sharing your idea!

This repository is now using lodash style issue management for enhancements. This means enhancement issues will now be closed instead of leaving them open. This doesn’t mean we don’t accept feature requests, though! We will consider implementing ones that receive many upvotes, and we welcome contributions for any feature requests marked as needing votes (just post a comment first so we can help you make a successful contribution).

The enhancement backlog can be found here: https://github.com/actualbudget/actual/issues?q=is%3Aissue+label%3A%22needs+votes%22+sort%3Areactions-%2B1-desc

Don’t forget to upvote the top comment with 👍!

<!-- gh-comment-id:1530114870 --> @github-actions[bot] commented on GitHub (May 1, 2023): :sparkles: Thanks for sharing your idea! :sparkles: This repository is now using lodash style issue management for enhancements. This means enhancement issues will now be closed instead of leaving them open. This doesn’t mean we don’t accept feature requests, though! We will consider implementing ones that receive many upvotes, and we welcome contributions for any feature requests marked as needing votes (just post a comment first so we can help you make a successful contribution). The enhancement backlog can be found here: https://github.com/actualbudget/actual/issues?q=is%3Aissue+label%3A%22needs+votes%22+sort%3Areactions-%2B1-desc Don’t forget to upvote the top comment with 👍!
Author
Owner

@tjfinlinson commented on GitHub (May 19, 2023):

Has anyone done any work on a standard way to implement syncing? Just curious. If someone is doing something have they created a branch or PR anywhere?

<!-- gh-comment-id:1554821371 --> @tjfinlinson commented on GitHub (May 19, 2023): Has anyone done any work on a standard way to implement syncing? Just curious. If someone is doing something have they created a branch or PR anywhere?
Author
Owner

@r1cebank commented on GitHub (May 23, 2023):

I will be open to work on this if anyone want to team up doing a poc.

<!-- gh-comment-id:1560000814 --> @r1cebank commented on GitHub (May 23, 2023): I will be open to work on this if anyone want to team up doing a poc.
Author
Owner

@tjfinlinson commented on GitHub (Aug 31, 2023):

Some work happening here

https://github.com/actualbudget/actual/issues/898

<!-- gh-comment-id:1701281984 --> @tjfinlinson commented on GitHub (Aug 31, 2023): Some work happening here https://github.com/actualbudget/actual/issues/898
Author
Owner

@daveneeley commented on GitHub (Oct 8, 2023):

mx.com is another provider with a Data Access open finance API platform. It looks like MX uses a Connect Widget to do all the initial linking of accounts, but then reading the data would require their Data Recipient API which is compliant with the FDX (Financial Data Exchange) standard.

<!-- gh-comment-id:1751937642 --> @daveneeley commented on GitHub (Oct 8, 2023): [mx.com](https://www.mx.com/) is another provider with a [Data Access](https://docs.mx.com/products/connectivity/data-access/) open finance API platform. It looks like MX uses a [Connect Widget](https://docs.mx.com/connect) to do all the initial linking of accounts, but then reading the data would require their [Data Recipient](https://docs.mx.com/products/connectivity/data-access/data-recipient-reference/) API which is compliant with the FDX ([Financial Data Exchange](https://financialdataexchange.org/)) standard.
Author
Owner

@tjfinlinson commented on GitHub (Nov 10, 2023):

Just adding this link to a chat on discord so we can keep things linked together.

https://discord.com/channels/937901803608096828/1171096337111064626

<!-- gh-comment-id:1806176196 --> @tjfinlinson commented on GitHub (Nov 10, 2023): Just adding this link to a chat on discord so we can keep things linked together. https://discord.com/channels/937901803608096828/1171096337111064626
Author
Owner

@damomato commented on GitHub (Jan 1, 2024):

Stumbled upon Basiq for Australia and New Zealand customers. Is this something that could be integrated into Actual? It costs 50 cents per month but I don't mind paying $6 a year for the convenience of bank syncing.

https://www.basiq.io/products/connect/

<!-- gh-comment-id:1873509126 --> @damomato commented on GitHub (Jan 1, 2024): Stumbled upon Basiq for Australia and New Zealand customers. Is this something that could be integrated into Actual? It costs 50 cents per month but I don't mind paying $6 a year for the convenience of bank syncing. https://www.basiq.io/products/connect/
Author
Owner

@aescgar commented on GitHub (Jan 20, 2024):

I saw the server and app PRs for SimpleFIN. Is this in place of doing a Plaid integration, or is it in addition? It looks like SimpleFIN uses MX.com (the service pointed out above by @daveneeley) and charges monthly with no free tier option. In this comment, it seems that Plaid would potentially be free to use once integrated. Maybe I'm looking at it wrong, but it seems like Plaid has a free tier whereas SimpleFIN does not. Is this right? If so, why implement SimpleFIN integration instead of Plaid?

<!-- gh-comment-id:1902265153 --> @aescgar commented on GitHub (Jan 20, 2024): I saw the server and app PRs for SimpleFIN. Is this in place of doing a Plaid integration, or is it in addition? It looks like SimpleFIN uses MX.com (the service pointed out above by @daveneeley) and charges monthly with no free tier option. In [this comment](https://github.com/actualbudget/actual/issues/898#issuecomment-1894755624), it seems that Plaid would potentially be free to use once integrated. Maybe I'm looking at it wrong, but it seems like Plaid has a free tier whereas SimpleFIN does not. Is this right? If so, why implement SimpleFIN integration instead of Plaid?
Author
Owner

@latetedemelon commented on GitHub (Jan 20, 2024):

I think there are add-ons that can provide plaid integration. If you want
it, that’s how this integration started out. Simplefin is being added, in
addition to the current gocardless integration. Maybe someone will add
plaid as well in the future?

For me personally simplefin had better bank coverage than plaid.

On Sat, Jan 20, 2024 at 13:06 aescgar @.***> wrote:

I saw the server and app PRs for SimpleFIN. Is this in place of doing a
Plaid integration, or is it in addition? It looks like SimpleFIN uses
MX.com (the service pointed out above by @daveneeley
https://github.com/daveneeley) and charges monthly with no free tier
option. In this comment
https://github.com/actualbudget/actual/issues/898#issuecomment-1894755624,
it seems that Plaid would potentially be free to use once integrated. Maybe
I'm looking at it wrong, but it seems like Plaid has a free tier whereas
SimpleFIN does not. Is this right? If so, why implement SimpleFIN
integration instead of Plaid?


Reply to this email directly, view it on GitHub
https://github.com/actualbudget/actual/issues/737#issuecomment-1902265153,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACDYM2IV4Q5EHMBD6ZH2F6DYPQWVXAVCNFSM6AAAAAAVV76AMSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBSGI3DKMJVGM
.
You are receiving this because you commented.Message ID:
@.***>

<!-- gh-comment-id:1902273037 --> @latetedemelon commented on GitHub (Jan 20, 2024): I think there are add-ons that can provide plaid integration. If you want it, that’s how this integration started out. Simplefin is being added, in addition to the current gocardless integration. Maybe someone will add plaid as well in the future? For me personally simplefin had better bank coverage than plaid. On Sat, Jan 20, 2024 at 13:06 aescgar ***@***.***> wrote: > I saw the server and app PRs for SimpleFIN. Is this in place of doing a > Plaid integration, or is it in addition? It looks like SimpleFIN uses > MX.com (the service pointed out above by @daveneeley > <https://github.com/daveneeley>) and charges monthly with no free tier > option. In this comment > <https://github.com/actualbudget/actual/issues/898#issuecomment-1894755624>, > it seems that Plaid would potentially be free to use once integrated. Maybe > I'm looking at it wrong, but it seems like Plaid has a free tier whereas > SimpleFIN does not. Is this right? If so, why implement SimpleFIN > integration instead of Plaid? > > — > Reply to this email directly, view it on GitHub > <https://github.com/actualbudget/actual/issues/737#issuecomment-1902265153>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/ACDYM2IV4Q5EHMBD6ZH2F6DYPQWVXAVCNFSM6AAAAAAVV76AMSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBSGI3DKMJVGM> > . > You are receiving this because you commented.Message ID: > ***@***.***> >
Author
Owner

@youngcw commented on GitHub (Jan 15, 2025):

Im going to close this. As of now there are 2 active bank sync integrations, and a third in development. There is also work being done on a plugin system to make future sync sources easier to add.

<!-- gh-comment-id:2593874603 --> @youngcw commented on GitHub (Jan 15, 2025): Im going to close this. As of now there are 2 active bank sync integrations, and a third in development. There is also work being done on a plugin system to make future sync sources easier to add.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#7230