Actual Budget

Sync your bank transactions and balances from Synci straight into Actual Budget, using Actual's built-in SimpleFIN bank sync. No scripts, no browser extensions, and it works with any hosted Actual server, including PikaPods.

Written By Matias

Last updated 22 days ago

How it works

Synci gives Actual Budget a secure, read-only connection to the accounts you choose. Whenever you press Bank Sync, Actual Budget asks Synci for your latest transactions and balances and imports anything new. Synci never pushes to Actual Budget and can't see or change your budget: Actual Budget does the fetching, on your command, and you can revoke access from Synci at any time.

Before you start

  • A hosted Actual Budget server. Actual's bank sync runs on the server (self-hosted via Docker, PikaPods, Fly.io, or similar), so a local-only budget can't use it.

  • A Synci account with at least one connected account (bank, investment/brokerage, or crypto). They all sync into Actual Budget as budget accounts.

Set it up

1. Create a connection in Synci

  1. In Synci, go to Destinations > Actual Budget and add a new connection.

  2. Choose which accounts to expose to Actual: All accounts (everything you have now, plus anything you connect later) or select specific accounts.

  3. Synci shows a one-time setup token. Copy it, you'll paste it into Actual Budget next.

The token is valid for 7 days and can be used once. If it expires before you get to it, regenerate it from the destination's page (regenerating replaces the old token).

2. Link your accounts in Actual Budget

In Actual, open your budget. In the sidebar, click More > Bank Sync, or click Add Account at the bottom of the sidebar and choose Set up bank sync.

More > Bank Sync
Add Account > Set up bank sync

Under SimpleFIN, click Set up.

SimpleFIN Set up button

Paste the setup token from Synci and continue.

Token field

Click Link bank account. Actual Budget lists the accounts you exposed in Synci.

Link bank account

Click Set up bank sync next to each account you want to connect, then either select the existing Actual account to link it to, or create a new one. Check that the starting date and starting balance look right, then click Link accounts in the bottom right.

Account linking with starting date and balance

You're done with this step when each account appears in your budget's sidebar with a bank sync icon, and the token screen is gone. You won't need the token again.

3. Sync

Your linked accounts sync automatically after setup. To fetch fresh data manually, open an account in Actual and click Bank Sync at the top of the register. You can also run it for all accounts at once from More > Bank Sync.

Bank Sync button in account register

Actual imports new transactions and updated balances and matches them against what's already in your budget, so re-syncing never creates duplicates.

You'll know the sync worked when new transactions appear at the top of the register and the account balance updates. If nothing appears, there may simply be no new transactions since the last sync.

Actual Budget doesn't sync on its own schedule. Run Bank Sync when you want it, or use a community scheduler to automate it.

Good to know

  • Works on managed hosts like PikaPods. Because Actual Budget pulls from Synci, there's nothing to install and no cron job to babysit on your own machine, so it works even on hosted setups where script-based tools can't run.

  • History goes back about 90 days. For older history, export a CSV from Synci and import it into Actual Budget once; bank sync takes over from there.

  • Customizing how transactions look. To change payees or clean up descriptions, use Synci's bank account rules. Their changes are saved to your transactions and flow into Actual Budget automatically, and Actual's own rules work on top.

  • Changing which accounts are shared. Edit the destination in Synci any time; changes apply on Actual's next sync. If you stop sharing an account that's still linked in Actual Budget, that account will show a connection error. Unlink it there, or re-add it in Synci.

  • Multiple connections. One Actual Budget connection per server is the simplest setup, but you can create as many as you like, each with its own token and account selection.

Security and revoking access

The connection is read-only and limited to the accounts the destination exposes: it can only fetch account data and nothing else in your Synci account. If you chose "share all accounts," that scope includes accounts you connect in the future.

You can revoke access at any time from the destination's page in Synci. Actual's next sync will then report that the connection is no longer valid. To reconnect later, create a new Actual Budget destination and link your accounts again.

Troubleshooting

What you see in Actual Budget

What it means and how to fix it

"There was a problem syncing your changes. Please confirm that your server is accessible."

You're most likely in the demo budget, which can't save changes. Create a real budget file and link there.

"Your SimpleFIN Access Token is no longer valid."

The destination was revoked or deleted in Synci. Create a new Actual Budget destination and relink.

An account shows "may need attention"

The underlying bank connection in Synci is failing. Reconnect that bank in Synci (usually by renewing consent), then sync again.

A linked account errors after you edited the destination

That account is no longer shared from Synci. Unlink it in Actual, or re-add it to the destination in Synci.

The setup token is rejected when you paste it

The token was already used, expired (7 days), or regenerated. Copy a fresh token from the destination's page in Synci.

Still stuck? Contact support and we'll help you get connected.