Connecting Your Bank
Client Version 23.7.0 and Server Version 23.7.0 or higher are required for this feature.
We are excited to offer this optional bank integration in Actual. Here are a couple of considerations to know about before making the decision to use bank sync in your installation of Actual Budget.
This integration relies on you providing your own API credentials that you will need to get by signing up with the service provider and Generate Keys and Secrets that will be used in Actual.
The integration only works if you are using actual-server
The Secrets and Keys are stored in your Actual installed version so it is highly recommended to turn on End to End encryption and create a strong passphrase to encrypt your files.
You will need to add a config file to your installation
Supported Providers
- GoCardless
Experimental support for SimpleFIN (North American banks) is also available.
GoCardless Setup
Create SECRET and KEY for Actual
- Create an account with GoCardless - https://bankaccountdata.gocardless.com/overview/
- Log into your account dashboard at the same URL and select Developers->User secrets from the left side menu
- Click on the '+ create new' button at the bottom left.
- Make sure you download your secrets file since the key will not be available to you again in the account dashboard
- These secrets will be used in Actual to make the bank sync connection
- Enter a name for your secrets and click Create. This is only for you to easily identify them in the GoCardless User secrets overview
- Download this file and keep it on your computer.
- Back in Actual, click on “+ Add account” at the bottom of the sidebar.
- Click “Set-up GoCardless for bank-sync.”
- You will be asked to enter your GoCardless secret ID and secret key. These values will be saved on the server, so you will only need to enter them once.
Link Accounts with GoCardless
Add the link to your accounts in actual (Existing or New)
- For an existing account, click on that account, select the ... (kebab menu) in the top right, and choose Link Account
- To create a new account with bank syncing click on the '+ Add account' link in the left menu at the bottom
- Select the Link your bank account button
- Select your country and bank from the list and click the Link bank in browser button
- Clicking Link bank in browser will redirect you to a new tab to grant access to your bank for GoCardless
- Select I agree to continue with setting up the connection
- If your connection was a success, you will be able to click on the continue button which allows GoCardless to connect
- A progress indicator will display while GoCardless connects to your bank to get a list of your accounts
- Once the connection has been made, there will be a list of your accounts that you can choose from
- The final step is to select the account you want to sync and click Link account
Frequently Asked Questions
Does Actual sync automatically with your Bank?
At this moment, it is not yet possible for Actual to automatically sync with your bank. You need to do this manually by going to "All Accounts" and pressing "Sync".
The best way to start from scratch in Actual with GoCardless?
If you are setting up Actual for the first time, it is much easier not to try to pull in historic data. This has caused some users a lot of headaches with subsequent reconciliation. The following process may be more helpful:
- Set up your account in Actual specifying a correct opening account balance at a recent date.
- Link the account to GoCardless as above
- Sync the account with GoCardless. You should find that only transactions subsequent to the opening account balance entry are imported, making reconciliation easy.
How many times can I sync with GoCardless? In the free tier, you can sync 50 times per month. If you sync to two different banks (with three accounts in each bank), that is counted as two connections. For more information, see the Bank Account Data API Usage topic in the GoCardless FAQ.
What if my bank only supports 90 days of historical data? If your bank limits the amount of historical data you can fetch, you need to add your bank to the list of such banks in the Actual server code.
To achieve this:
- Read the instructions about integrating with GoCardless: https://github.com/actualbudget/actual-server/blob/master/src/app-gocardless/README.md
- Toward the top is a link to the Google Docs containing data points for the GoCardless integration. Locate your bank's ID in the document.
- Fork the Actual server repository: https://github.com/actualbudget/actual-server/fork
- Edit the file
src/app-gocardless/bank-factory.js
. - Add your bank's ID (from the Google Docs) to the
BANKS_WITH_LIMITED_HISTORY
list. - Commit your changes and push to your fork.
- Create a pull request to the main Actual server repository.
- Add a release note in
upcoming-release-notes/
describing your change (see writing good release notes). - Commit your changes and push to your fork.
Once reviewed, the maintainers will comment on the pull request and merge it if acceptable. The change would then be available in the next release of the software.