Import transactions from Lunch Flow to Actual Budget with terminal UI.
npm install @lunchflow/actual-flow
Connect multiple open banking providers to your Actual Budget server.
Discord
ยท
Website
ยท
Feedback
Lunch Flow is a tool that allows you to connect your banks globally to the tools you love. We currently support multiple open banking providers (GoCardless, Finicity, MX, Finverse, and more ...).
!Demo
- ๐ Easy Setup: Simple configuration process for both Lunch Flow and Actual Budget connections
- ๐ Account Mapping: Interactive terminal UI to map Lunch Flow accounts to Actual Budget accounts
- ๐ Transaction Import: Import transactions with proper mapping and deduplication
- ๐
Sync Start Dates: Configure per-account sync start dates to control import scope
- ๐ Connection Testing: Test and verify connections to both services
- ๐ฑ Terminal UI: Beautiful, interactive command-line interface
- ๐ Direct Import Command: Run imports directly from command line for automation
- ๐ Deduplication: Prevents importing duplicate transactions
A simple command to install!
```
npx @lunchflow/actual-flow
or using pnpm
``
pnpm dlx @lunchflow/actual-flow
The tool will guide you through the initial setup process:
1. Lunch Flow API Key: Enter your Lunch Flow API key
2. Lunch Flow Base URL: Enter the API base URL (default: https://api.lunchflow.com)
3. Actual Budget Server URL: Enter your Actual Budget server URL (default: http://localhost:5007)
4. Actual Budget Budget Sync ID: Enter your budget sync ID
5. Actual Budget Password: Enter password if required
Configuration is saved to config.json in the project directory.
The tool supports both interactive and non-interactive modes:
`bashInteractive mode (default)
actual-flow
$3
The tool provides an interactive menu with the following options:
- ๐ Test connections: Verify connections to both Lunch Flow and Actual Budget
- ๐ List available budgets: Show all budgets available on your Actual Budget server
- ๐ Configure account mappings: Map Lunch Flow accounts to Actual Budget accounts
- ๐ Show current mappings: Display currently configured account mappings
- ๐ฅ Import transactions: Import transactions for a selected date range
- โ๏ธ Reconfigure credentials: Update API credentials
- โ Exit: Exit the application
$3
When configuring account mappings, you'll see:
1. All available Lunch Flow accounts
2. All available Actual Budget accounts
3. Interactive selection to map each Lunch Flow account to an Actual Budget account
4. Optional sync start date for each mapping (YYYY-MM-DD format)
5. Option to skip accounts that don't need mapping
#### Sync Start Dates
You can configure a sync start date for each account mapping to control which transactions are imported:
- Only transactions on or after the specified date will be imported
- Leave empty to import all available transactions
- Useful for limiting historical data or starting fresh with specific accounts
$3
#### Interactive Mode
1. Review a preview of transactions to be imported
2. Confirm the import
3. Monitor progress with real-time feedback
4. Automatic deduplication prevents importing existing transactions
#### Non-Interactive Mode (
actual-flow import)
1. Automatically imports transactions without confirmation prompts
2. Perfect for automation, cron jobs, or CI/CD pipelines
3. Shows transaction preview and processing summary
4. Respects configured sync start dates for each accountAutomation Examples
$3
`bash
Run import every day at 2 AM
0 2 * npx @lunchflow/actual-flow import
``---
Made with โค๏ธ for the Actual Budget community