Actual Budget

Actual Budget is a privacy-focused, local-first app for managing your finances using the envelope budgeting methodology.

Actual Budget connects to Lunch Flow through its built-in SimpleFIN bank sync. Lunch Flow acts as the SimpleFIN server, so there is nothing to install and no script to schedule: Actual pulls your transactions whenever it syncs.

The actual-flow CLI tool is deprecated. Existing setups keep working, but we recommend migrating to SimpleFIN.

Prerequisites

  • An operational Actual Budget instance (self-hosted or provider-hosted)
  • At least one bank account connected in Lunch Flow

Setup

Create an Actual Budget destination

In Lunch Flow, go to Destinations → Add Destination and select Actual Budget. This creates a SimpleFIN Bridge destination.

Select your accounts

On the destination page, toggle on the accounts you want Actual Budget to see.

Generate a setup token

Click Generate Setup Token and copy it. The token is valid for 7 days and can only be used once.

Paste the token into Actual Budget

In Actual Budget, go to Settings → Bank Sync → Set up SimpleFIN and paste the token.

Link your accounts

For each Actual account, choose Link account and pick the matching Lunch Flow account. Actual then syncs transactions and balances whenever you trigger a bank sync.

Migrating from actual-flow

Your actual-flow API key keeps working while you migrate, so you can switch at your own pace.

Create a new Actual Budget destination

Go to Destinations → Add Destination and select Actual Budget. On the new destination, toggle on the same accounts your actual-flow destination uses.

Connect Actual Budget

Generate a setup token on the new destination and paste it into Settings → Bank Sync → Set up SimpleFIN in Actual Budget.

Link your existing accounts

Link each SimpleFIN account to the Actual account that actual-flow has been importing into, rather than creating new accounts. Run one sync and check that recent transactions were not duplicated.

Retire actual-flow

Remove the actual-flow cron job or scheduled task, then delete the old Actual Budget destination in Lunch Flow to revoke its API key.

FAQ

How is this guide?