Wealthfolio logo
Download
Docs
Export & Backup

Export & Backup

Export data to CSV or JSON, create profile backups, and restore a portable backup on another device.


Last updated

Open Settings → Backup & Export in the profile you want to back up. The Backup tab manages saved snapshots, portable exports, and restores; the Export tab exports data for use elsewhere.


1 · Run an export

  1. Open Settings → Backup & Export → Export.
  2. Choose CSV or JSON, then select Accounts, Activities, Holdings, Goals, or Portfolio History.
  3. Save the file offered by your platform. For a restorable copy of the whole profile, use the Backup tab instead.
Wealthfolio Exports

2 · Pick the right format

FormatWhen to use
CSVLoading one table into a spreadsheet or another tool.
JSONProgrammatic processing; preserves nested structures that CSV flattens out.
Password-protected .wfbackupKeeping a restorable profile copy outside the installation or moving it to another one.
Encrypted .wfrecA downloaded cloud restore point, opened with your recovery code or a linked device.
Unencrypted .dbAn advanced, unprotected database export. Anyone with the file can read its contents.

For a backup before a big change, create a snapshot on the Backup tab, then export it as a password-protected .wfbackup and save it outside the installation. CSV and JSON exports cannot restore a complete profile.


Exported activity amounts use the saved final total, including fees and taxes. Do not subtract those charges again in a spreadsheet. Splits and security transfers have special meanings; see Activity Fields.

3 · Round-trip restore

Create a backup

Open Settings → Backup & Export → Backup and select Back up now. The snapshot appears in the list for the current profile. Select Export on that snapshot to save a portable copy. Choose a backup password and keep it with your recovery information; Wealthfolio cannot reset it. You can also export an unencrypted .db if you need one.

The initial snapshot stays in the current installation. Desktop and iOS use native file handling for the exported copy; web downloads it through the browser. Check that the export was saved somewhere independent of the device or server. In web mode, Save original snapshot is an advanced option: it downloads the original database with its existing encryption, which may require the original server master key to read.

Desktop and iOS support restore in the app. Web restore uses an offline server command. Each profile has its own database; repeat the backup for every profile you need to protect.

Back up multiple profiles

Profiles keep their portfolio data separate. Switch to each profile and create and export its own backup. Restoring a backup replaces only the selected destination profile; it does not recreate every profile in the installation. Keep the backup password for each protected export. If you also back up the installation files, include the profile registry and every profile directory, as described below.

Database encryption and backup passwords

In Settings → General, native apps can optionally encrypt the current profile’s local database using a key stored on the device. App lock and database encryption are separate settings. Saved snapshots retain the database’s encryption state when they were created, so an older snapshot may still be unencrypted after you enable encryption.

A password-protected .wfbackup uses the password chosen during Export, separate from the profile password and installation key. Keep that password: Wealthfolio cannot reset it. An unencrypted .db export can be read by anyone with the file, even if the live database is encrypted. For self-hosted servers, database encryption is configured offline.

Restore in the app

On desktop or iOS, open the Backup tab in the destination profile. Select Restore from file for a .wfbackup or unencrypted .db, or Restore on a saved snapshot. Enter the export password if prompted, review the backup preview, then confirm the replacement.

Restoring replaces your current database with the backup; it does not merge the two. Save a current backup before proceeding. CSV and JSON exports cannot be used for a full restore.

Wealthfolio saves a snapshot before replacing the destination profile and reopens the app after restoration. Check your accounts and latest activities, then reconnect external services as needed.

Restore a self-hosted instance

Web mode has no restore upload action. Stop Wealthfolio (or its container) and run wealthfolio-server db restore <file> with the same storage settings, master key, and encryption policy used by the server. Without --yes, the command validates the backup and shows a summary without replacing data. Add --yes after reviewing it; use --profile <UUID> to select a profile other than the default. A protected .wfbackup requires --password-stdin with the password supplied through a pipe or redirected file. The command saves a pre-restore snapshot. Preserve the complete installation directory and master key, then verify the restored profile after restarting. See Storage configuration.


4 · Where the database files live

Use the Backup tab for restores on desktop or iOS. If you are recovering installation files manually, close Wealthfolio first and preserve the whole data directory, including profiles.json, profiles/, and any legacy app.db. Include profiles.json.bak if present. New profiles store their database at profiles/<uuid>/app.db. The Personal profile migrated from an earlier version may still use the original root-level app.db. Replacing that root file will not restore a newer profile. Default desktop data directories are:

  • macOS: ~/Library/Application Support/com.teymz.wealthfolio/
  • Windows: %APPDATA%\com.teymz.wealthfolio\
  • Linux: ~/.local/share/com.teymz.wealthfolio/

Keep the existing installation files until you have verified the recovery. Encrypted database files also need their original installation key. For moving data to another installation, export a password-protected .wfbackup and use Restore from file instead of copying the live database.


5 · Automatic backups without Connect

CSV/JSON exports and local snapshots are manual. Connect provides automatic encrypted cloud backups, described below. For an automatic copy managed by your own backup tools instead:

  • Self-hosted: snapshot the data volume with your container/host’s backup tool (e.g. restic, borg, Proxmox snapshots, Unraid backup plugins).
  • Desktop: include the Wealthfolio data directory in your normal backup tool (Time Machine, Windows File History, Restic).

Both approaches give you point-in-time recovery without trusting any cloud, and they keep working even if Wealthfolio’s export UI changes.


6 · Encrypted cloud backup

Cloud backup is in Settings → Backup & Export → Backups in Wealthfolio 3.10 and later. It is included in Connect Basic and higher and is off until you enable it. Local snapshots and manual exports remain available without Connect.

  1. On the device or server that should run backups, sign in to Connect in the profile you want to protect.
  2. Choose Set up cloud backups and save the recovery code outside this installation.
  3. Confirm that you saved the code, then choose Turn on backups. This installation and profile become your backup source, and the first upload starts right away.
  4. For automatic daily backups, keep Wealthfolio open and online with that profile unlocked; a self-hosted server only needs to be running. Wealthfolio saves a complete encrypted cloud copy when a backup is due. After downtime, the next backup runs when the source becomes available. On mobile, open or return to Wealthfolio and keep it open while the backup uploads.

Each Connect account has one backup source: one profile on one installation (desktop, mobile or self-hosted server). Backups are not kept per device. If you turn on backups from another installation, it becomes the source; the previous one stops backing up, and its earlier restore points stay in the same list. Without device sync, data that exists only on other devices is not backed up. To back up another profile, sign it in to its own Connect account; within one installation, a Connect account can be signed in to only one profile. Your household members cannot see your backups. Cloud backup covers the selected profile’s complete database, including settings and configuration. Device credentials, API keys from the secret store, other profiles, and the profile registry are excluded.

Up to 30 restore points are retained over 30 days. The latest successful point is kept while your paid access continues, even if the source has been offline longer. An encrypted point may be at most 256 MiB, and its decoded database at most 512 MiB. The Cloud backups card shows the Last backup and, when one is scheduled, the Next backup. Each restore point contains a complete copy, including prices and settings. An offline or locked source cannot upload; mobile backups run while the app is open.

After the first backup, the source can also back up on demand: choose Back up now in the cloud backup menu. You can make up to 3 manual backups a day, and each one counts toward the 30 restore points.

Recovery and restore

The backup key is independent of device sync and the installation’s database key. Linked trusted devices can obtain it using an encrypted key envelope. If access is not available yet, open a linked device that already has backup access and retry. You need your recovery code whenever no accessible device can provide backup access, including when you choose not to link a replacement device. Wealthfolio cannot recover the key for you if both the code and all unlocked devices are lost. Reissuing a recovery code preserves existing cloud points, but older downloaded .wfrec packages still need the code embedded in their original recovery envelope. New downloads use the new code. Replacing the code does not revoke previously obtained backup keys or copied recovery envelopes.

Download a point as one encrypted .wfrec file for storage outside Connect. On desktop, cloud restore uses the same preview, confirmation, safety backup, and rollback flow as a local portable restore. Only the selected destination profile is replaced. After restoring, reconnect Connect rather than replaying historical sync state. If another trusted device exists, link to it and review the replacement confirmation. If this was your only sync device, use the confirmed sync reset flow to start a new baseline. Restore does not automatically replace data on other devices.

Mobile supports backup capture while open, setup, recovery-code entry and encrypted package download. Cloud portfolio restoration is currently available in the desktop app; mobile users should restore on a computer. No backups run while mobile is suspended.

For a self-hosted server, download the package and stop the server before running the existing offline restore command against a healthy, initialized destination:

wealthfolio-server db restore /safe/path/wealthfolio-backup.wfrec --profile <PROFILE_ID> --recovery-code-stdin

Select the destination profile explicitly. Review the command’s validation output, then repeat with --yes only when you are ready to replace that profile. Pipe the code from a protected source on standard input; the command rejects terminal input. Do not put it in command arguments or shell history. The server retains its own database encryption key. Online database replacement is unavailable in the web app.

Choose Pause backups to stop new backups for your Connect account. Saved copies still follow the retention policy; your latest backup is kept while your subscription is active. To resume, turn backups on again from the device you want as the source. Canceling renewal keeps paid features available until the subscription ends. When paid access ends, uploads stop and existing points remain downloadable for 30 days before scheduled deletion. Download any .wfrec copies you want to keep before that period ends; local data and downloaded packages remain yours. If backups were on when paid access ended, renewing resumes them from the same source. Renewing cannot bring back deleted cloud copies. The encrypted recovery key record remains until account deletion. Deleting points requires a valid Connect session and explicit confirmation, and removes their listing before storage cleanup. Replacing a recovery code requires a recent sign-in.