Skip to content

Run the data syncs

Follow this guide to refresh configured brokerage and bank data into the local, gitignored SQLite database. Credentials must already be configured. See Configure live sync credentials first.

Run these commands from your instance directory so the engine resolves the instance database. Sync modules run in Python’s module form so package imports resolve.

The supported all-source command runs the configured SnapTrade positions and transactions sync plus the SimpleFIN expenses sync.

Terminal window
uv run python -m src.integrations.refresh_all

A partial refresh exits non-zero, so automation can detect a stale source. When one source fails, check that source’s status individually before retrying.

Print the current local position and balance tables without contacting any provider.

Terminal window
uv run python -m src.integrations.refresh_all --show
Command Purpose
uv run python -m src.integrations.snaptrade.cli Inspect linked SnapTrade accounts, positions, balances, or activities.
uv run python -m src.integrations.snaptrade.sync_db Refresh SnapTrade positions and balances into local SQLite.
uv run python -m src.integrations.snaptrade.sync_transactions_db Refresh SnapTrade activities into local SQLite.
uv run python -m src.integrations.simplefin.sync_expenses_db Refresh SimpleFIN transactions into local SQLite.

Each command supports --help for its full flag reference.

For SnapTrade, verify the required private environment variables and the account routing file are configured. For SimpleFIN, verify the private access URL has been claimed and is available to the Bun workspace. Do not copy either credential into terminal history, issue text, or screenshots. See Troubleshoot common failures for the full recovery paths.

This page is built from docs/reference/api.md and docs/setup/SETUP.md in the repository.