[Bug]: Internal error when trying to sync accounts with GoCardless when restoring from a backup #2010

Open
opened 2026-02-28 20:01:05 -06:00 by GiteaMirror · 4 comments
Owner

Originally created by @Jonas-Sander on GitHub (Apr 4, 2025).

Verified issue does not already exist?

  • I have searched and found no existing issue

What happened?

When restoring a backup it does not seem like the GoCardless Secret Id and Secret Key are restored.
If a user tries to sync the bank accounts after restoring a backup the message "An internal error has occured" appears.

Since there is no indication that the secrets are not restored it is highly confusing for a user to repair the problem.
I was thinking I had to set up a whole new instance and backfill all changes because I could not get it working again and there was no "Repair GoCardless sync" button or something.

To fix this one has to go to "Add an Account", "Set-up GoCardless for bank-sync" and add the secrets there (again). After that syncing works again.

How can we reproduce the issue?

  1. Set up an Actual instance with a bank account that is synced with GoCardless
  2. Create a Backup of that instance ("Export data")
  3. Delete everything; Set up a new instance.
  4. Import the backup into that instance
  5. Click "Sync" on the bank account that should be connected with GoCardless
  6. See "internal error" occuring

Where are you hosting Actual?

Other

What browsers are you seeing the problem on?

Chrome, Firefox

Operating System

Linux

Originally created by @Jonas-Sander on GitHub (Apr 4, 2025). ### Verified issue does not already exist? - [x] I have searched and found no existing issue ### What happened? When restoring a backup it does not seem like the GoCardless `Secret Id` and `Secret Key` are restored. If a user tries to sync the bank accounts after restoring a backup the message "An internal error has occured" appears. Since there is no indication that the secrets are not restored it is highly confusing for a user to repair the problem. I was thinking I had to set up a whole new instance and backfill all changes because I could not get it working again and there was no "Repair GoCardless sync" button or something. To fix this one has to go to "Add an Account", "Set-up GoCardless for bank-sync" and add the secrets there (again). After that syncing works again. ### How can we reproduce the issue? 1. Set up an Actual instance with a bank account that is synced with GoCardless 2. Create a Backup of that instance ("Export data") 3. Delete everything; Set up a new instance. 4. Import the backup into that instance 5. Click "Sync" on the bank account that should be connected with GoCardless 6. See "internal error" occuring ### Where are you hosting Actual? Other ### What browsers are you seeing the problem on? Chrome, Firefox ### Operating System Linux
GiteaMirror added the bank syncgood first issuebughelp wanted labels 2026-02-28 20:01:05 -06:00
Author
Owner

@Jonas-Sander commented on GitHub (Apr 4, 2025):

In my opinion there are several things that should be corrected:

  1. I should be able to export the GoCardless Secrets with my backup (Yes, I know that there might be security risks and I'm 100% certain I want to do this)
  2. There should be a clear error message in the UI when the secrets are missing and the user tries to sync
  3. There should be a dedicated "repair" button in the case that the credentials are missing
  4. There should be a note that says that the secrets are not exported when creating a backup currently
@Jonas-Sander commented on GitHub (Apr 4, 2025): In my opinion there are several things that should be corrected: 1. I should be able to export the GoCardless Secrets with my backup (Yes, I know that there might be security risks and I'm 100% certain I want to do this) 2. There should be a clear error message in the UI when the secrets are missing and the user tries to sync 3. There should be a dedicated "repair" button in the case that the credentials are missing 4. There should be a note that says that the secrets are not exported when creating a backup currently
Author
Owner

@MatissJanis commented on GitHub (Apr 6, 2025):

👋 Thanks for the report! Added some more tags and I'm hoping the community will fix this.

I should be able to export the GoCardless Secrets with my backup

Secrets are write-only. There is and will not be any way to read them directly or export them unless you back up the sync-server database itself.

There should be a clear error message in the UI when the secrets are missing and the user tries to sync
There should be a dedicated "repair" button in the case that the credentials are missing

This makes sense 👍

There should be a note that says that the secrets are not exported when creating a backup currently

It's not just the secrets that are not exported. Other server configuration data will not be exported either (i.e. all the multi-user configuration, etc.). That being said - a message explaining that only the budget data will be saved in the export would be a welcome addition.

@MatissJanis commented on GitHub (Apr 6, 2025): 👋 Thanks for the report! Added some more tags and I'm hoping the community will fix this. > I should be able to export the GoCardless Secrets with my backup Secrets are write-only. There is and will not be any way to read them directly or export them unless you back up the sync-server database itself. > There should be a clear error message in the UI when the secrets are missing and the user tries to sync > There should be a dedicated "repair" button in the case that the credentials are missing This makes sense 👍 > There should be a note that says that the secrets are not exported when creating a backup currently It's not just the secrets that are not exported. Other server configuration data will not be exported either (i.e. all the multi-user configuration, etc.). That being said - a message explaining that **only the budget data** will be saved in the export would be a welcome addition.
Author
Owner

@Jonas-Sander commented on GitHub (Apr 6, 2025):

Thanks for your answer :)

Secrets are write-only. There is and will not be any way to read them directly or export them unless you back up the sync-server database itself.

It's not just the secrets that are not exported. Other server configuration data will not be exported either (i.e. all the multi-user configuration, etc.). That being said - a message explaining that only the budget data will be saved in the export would be a welcome addition.

Is there an easy way to back up this other stuff?
Because the export from the settings page seems like the only way right now, correct?

@Jonas-Sander commented on GitHub (Apr 6, 2025): Thanks for your answer :) > Secrets are write-only. There is and will not be any way to read them directly or export them unless you back up the sync-server database itself. > It's not just the secrets that are not exported. Other server configuration data will not be exported either (i.e. all the multi-user configuration, etc.). That being said - a message explaining that only the budget data will be saved in the export would be a welcome addition. Is there an easy way to back up this other stuff? Because the export from the settings page seems like the only way right now, correct?
Author
Owner

@MatissJanis commented on GitHub (Apr 7, 2025):

So there are two parts to Actual: local application and the sync server. You can use the app without a sync server.

The app allows to export the data of your budget. This is all the data the app has access to.

Sync server has some more data and it unlocks a few extra features (multi user auth, bank sync, etc). The server data is stored in the server. It is not exportable via the UI. The sync server also hosts a replica of the "app data" in order to sync across devices.

To back up the sync server data - you can save the "data" folder in the server. How exactly that is done - very much depends on the way how the server is hosted. Feel free to reach out to the community on Discord to help figure this out (we don't do tech support on github).

@MatissJanis commented on GitHub (Apr 7, 2025): So there are two parts to Actual: local application and the sync server. You can use the app without a sync server. The app allows to export the data of your budget. This is all the data the app has access to. Sync server has some more data and it unlocks a few extra features (multi user auth, bank sync, etc). The server data is stored in the server. It is not exportable via the UI. The sync server also hosts a replica of the "app data" in order to sync across devices. To back up the sync server data - you can save the "data" folder in the server. How exactly that is done - very much depends on the way how the server is hosted. Feel free to reach out to the community on Discord to help figure this out (we don't do tech support on github).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#2010