Skip to main content
Actual Budget ships SimpleFIN as one of its built-in bank-sync providers. Redbark implements SimpleFIN with Australian Open Banking data, so Actual can pull your accounts, balances and transactions with a single setup token and no extra container to run.
The native integration needs Actual 24.10.0 or later. If you’re on an older version, update Actual first, or use the legacy container below.

Prerequisites

  • A running Actual Budget instance, self-hosted or on Actual Cloud
  • A Redbark account with connected bank accounts
  • A Redbark Developer or Professional plan (trials included)

Setup

1

Generate a SimpleFIN setup token

Log into Redbark, go to Settings > API & MCP, and generate a SimpleFIN setup token. Name it after the instance you’re connecting.The token is shown once, can be claimed once, and expires in 7 days if unused.
2

Configure SimpleFIN in Actual

In Actual, open Settings, scroll to Bank Sync, and click Set up under SimpleFIN.Actual’s dialog describes SimpleFIN as a North American service. Paste your Redbark setup token in the Token field anyway and click Save and continue. Actual claims the token and receives its own private, read-only credentials.
3

Link your accounts

Click Link bank account. Actual lists every account Redbark can see, with live balances. For each one you want, click Set up bank sync, point it at an existing Actual account or create a new one, and set a starting date and opening balance.Set the starting date to a few months back rather than leaving it open. It keeps the first sync quick.
4

Sync

Actual pulls transactions immediately, then on every sync after that. Transactions carry stable imported IDs, so re-syncs update rather than duplicate.

How it behaves

  • Balances and transactions are proxied live from your bank at the moment Actual asks. Redbark keeps no copy.
  • Deduplication uses an imported_id of redbark:<transaction_id>, so running sync as often as you like never creates duplicates.
  • Only banking accounts are served over SimpleFIN. Brokerage accounts connected to Redbark are not exposed.
  • Revoking Actual’s token from Settings > API & MCP cuts its access immediately without touching your bank consent or any other connected app.
Protocol details, limits and query parameters are in the SimpleFIN reference.

Legacy: the actual-sync container

The standalone actual-sync container is deprecated now that Actual reaches Redbark over SimpleFIN. It still works and existing setups can keep running, but it won’t get new features. New setups should use the SimpleFIN integration above.
Actual Budget sync runs as a standalone Docker container that pulls transactions from the Redbark API and imports them directly into your Actual Budget server. Everything below is kept for existing users of the container.
This tool uses the Redbark REST API, which is in beta. Behaviour may change as the API evolves.

Prerequisites

  • A running Actual Budget server
  • Docker installed on your machine or server
  • A Redbark account with connected bank accounts
  • A Redbark API key

Setup

1

Get a Redbark API key

Plan required: Developer or Professional. API access is not available on the Saver plan.
Log into Redbark, go to Settings > API & MCP, and create a new key. Copy it. It is only shown once.
2

Find your Redbark account IDs

Run the tool with --list-redbark-accounts to see your connected accounts and their IDs:
3

Find your Actual Budget account IDs

Run with --list-actual-accounts to see your Actual Budget accounts:
You can also find account IDs in the Actual Budget web UI by copying the UUID from the account URL.
4

Create your account mapping

Map each Redbark account to an Actual Budget account using the format redbark_id:actual_id, comma-separated:
5

Configure environment variables

Create a .env file with your configuration:
6

Dry run

Preview what would be imported without writing any changes:
7

Sync

Run the sync:

Configuration

Environment variables

CLI flags

Running with Docker

Docker run

The /app/data volume caches the Actual Budget SQLite database locally. Mount a persistent volume so it doesn’t re-download the full budget every run.

Docker Compose

Kubernetes CronJob

Scheduling

Use cron or your orchestrator’s scheduling to run syncs automatically:

How deduplication works

Each transaction is imported with an imported_id of redbark:<transaction_id>. Actual Budget’s importTransactions() uses this to detect duplicates:
  1. If a transaction with the same imported_id exists, it updates instead of creating a duplicate
  2. If no imported_id match, Actual falls back to fuzzy matching on amount + date + payee
You can run the sync as often as you want. Duplicates are never created.

Exit codes

Troubleshooting

Connection refused to Actual server Make sure your Actual Budget server is running and reachable from the Docker container. If both services are in the same Docker Compose stack, use the service name (e.g. http://actual-server:5006) rather than localhost. Budget not found Double-check your ACTUAL_BUDGET_ID. This is the sync ID found in Actual under Settings > Advanced, not the budget name. Encryption password required If you’ve enabled end-to-end encryption in Actual Budget, set the ACTUAL_ENCRYPTION_PASSWORD environment variable to your encryption passphrase. Self-signed certificates For Actual servers behind self-signed TLS certificates, set NODE_EXTRA_CA_CERTS=/path/to/cert.pem in the container environment. Version mismatch The tool automatically detects your Actual server version and downloads a matching client library. If you see version errors, make sure the /app/data volume is mounted so the cached client persists between runs.

Security

Your Redbark API key is only sent over HTTPS. Never bake secrets into Docker images. Use --env-file, Docker Secrets, or Kubernetes Secrets. The tool caches your Actual budget locally in ACTUAL_DATA_DIR, so encrypt the Docker volume on shared infrastructure.

Source code

The sync tool is open source: github.com/redbark-co/actual-sync