Skip to content

Latest commit

 

History

490 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Latest release of Finanze

Finanze logo — self-hosted personal finance and net worth tracker

Finanze — Self-hosted Personal Finance & Net Worth Tracker

Finanze is an Open Source, private, self-hosted personal finance and portfolio manager that aggregates your assets and investments across banks, brokers, crowdfunding platforms, crypto exchanges & wallets and real estate into a unified application. It connects to real financial entities via public ways and open banking (PSD2), supports multiple asset types (real estate, crypto, funds, stocks, commodities...) and stores everything in a local encrypted database.

Available On

🖥️ Desktop 📱 Android 🍎 iOS
Latest release
Download here
Get it at
Uptodown Uptodown
or Download .apk
Install AltStore AltStore, then add the app
or join TestFlightTestFlight
or Download on the App Store*

Finanze net worth dashboard aggregating banks, investments and crypto Finanze mobile stocks and ETFs portfolio view Finanze connected financial entities and open banking accounts Finanze earnings and expenses tracking with contribution forecasting Finanze real estate investment tracking with KPIs and metrics Finanze savings and retirement calculator with multiple scenarios Finanze crypto portfolio tracking across wallets and exchanges

Table of Contents

Features

  • 🔄 Fetch financial data from multiple entities
  • 💼 Support for various financial products:
    • 📈 Stocks, funds, portfolios, accounts, real estate crowdfunding, cryptocurrencies, etc. from real sources or imported
    • 🏠 Real estate investments with a variety of metrics and KPIs
    • 🪙 Commodities with market value tracking
  • 💵 Earnings and expenses tracking with periodic asset contributions to forecast future positions
  • 💱 Multicurrency support with automatic exchange rate fetching
  • 🔐 Local encrypted database for secure data storage
  • 📤 Dynamic and customizable data export to Google Sheets
  • 📥 Manual data importing
  • ⚙️ Highly configurable with templating for exports and imports
  • 📊 Complex savings & retirement calculator with multiple scenarios and variables

Supported Assets by Financial Entity & Crypto Exchanges

Financial Entity Accounts Cards Funds Stock/
ETFs
Deposits Portfolios Loans/
Mortgages
Crypto Bonds Specific
Urbanitae - - - - - - - - Lending Investments
MyInvestor Credits - -
SEGO - - - - - - - - Factoring
Trade Republic - - - - Private Markets
Unicaja - - -
Wecity - - - - - - - - Investments
Mintos ✅ (Smart Cash) - - Single ETFs - - - Crowdlending
Freedom24 - - - - - - Old structured placements
Indexa Capital - ✅️ - - ✅️ - - -
ING ✅️ - - -
Grupo Cajamar ❌️ - - -
DEGIRO - ✅️ ✅️ - - - - -
Interactive Brokers - ✅️ Stocks - - - -
B100 - - - - - - -
Crescenta - - - - - - - -
Trading 212 (Beta) - - - - - -
Crypto Exchange Crypto Specific
Binance ✅ Spot & Futures Futures

Enable Banking Integration

Provides a way to connect to EU banks that are not natively supported by the app, via PSD2 compliant bank account information. Instructions to set it up can be found in the app Settings/Integrations tab.

GoCardless Integration

Only if you already have an account, another option is GoCardless, which also provides PSD2 compliant bank account information for many EU/UK banks.

Financial Entity & Crypto Exchanges Features

Not all entities support the same features, in general we can group data in the following categories:

  • Global Position: current financial position including the current state of assets mentioned above, this is supported by all entities.
  • Periodic Contributions: automatic periodic contributions made to investments such as Funds (MyInvestor) or Stocks/ETFs (Trade Republic).
  • Transactions: all the account/investment related transactions, interest payments, stock of fund operations, asset maturity, fees...
  • Investment Historic: aggregates past positions and TXs to create a history of past and current investments ( deposits are not included here).
Financial Entity Global Position Periodic
Contributions
Transactions
(inv. related)
Investment
Historic
Urbanitae -
MyInvestor
SEGO -
Trade Republic -
Unicaja -
Wecity -
Mintos - Single ETFs
Freedom24 -
Indexa Capital - -
ING -
Grupo Cajamar - -
DEGIRO -
Interactive Brokers ⚠️ -
B100 ✅ (interest) -
Crescenta - -
Trading 212 (Beta) -
Crypto Exchange Global Position Periodic
Contributions
Transactions
(inv. related)
Investment
Historic
Binance ✅ Spot ✅️ -

Financial Entity notes

Some entities require a 2FA to login or get its data, which doesn't allow to background update, this applies to the following ones:

  • SEGO (e-mail)
  • Trade Republic (mobile app or SMS)
  • Wecity (SMS)
  • Sometimes MyInvestor (SMS) and may ask sometimes for captcha
  • DEGIRO (mobile app confirmation)

Important points to remark:

  • Unicaja:
    • May fail sometimes in mobile app.
    • If not using the app, it requires setting UNICAJA_ABCK environment variable to login, as it uses Akamai for antibot protection.
  • Mintos needs Selenium to resolve reCAPTCHA when not using the app.
  • Trade Republic, ING and IBKR only work via app, as require user interaction to log in.
  • Freedom24 D-Account interest (swaps) txs were supported and its related transactions, but not anymore since its removal.

Crypto

Crypto is a bit special, as it is not a financial entity, but a financial product. To add it just set up a wallet, currently the following are supported:

  • Bitcoin (xpub supported)
  • Ethereum: ERC20 tokens are supported too.
  • Litecoin (xpub supported)
  • Tron: TRC20 tokens are supported too.
  • Binance Smart Chain: BSC tokens are supported too (requires Etherscan integration setup with an API Key).

At the moment the only available feature for crypto is Global Position, transactions are WIP.

Some financial entities such as Trade Republic support crypto too.

Zerion

Zerion is also supported (by providing your free API key), which allows to multiple crypto asset tracking and DeFi.

Other entity types

This app also is capable of tracking market forecast platforms such as Polymarket, tracking transactions, PnL and current & historic positions (not manual data).

Commodities

Manual commodity input is feature that allows to track market value for them. Currently, the following are supported:

  • Gold
  • Silver
  • Platinum
  • Palladium

Export and Importing

This project allows to create specific tables in different formats, aggregating and formatting the scraped data. Currently two modalities are supported:

  • Google Sheets: supported for exporting and importing, which requires to set up a Google Service Account. Also keep in mind that in this modality when importing, the spreadsheets data is considered like a fake source, so each time data is imported will override previous data from Google Sheets (won't affect real data or manually provided).
  • Files: CSV, TSV and Excel files are supported for exporting and importing, no special setup is needed for this.

Templating

Exporting and importing is highly customizable using templates, which allows to define the structure of the tables, data formatting, filters and other features. It's required for importing.

Check Export & Import Configuration for more technical info.

Usage

Download

Download the latest version of the app from the Releases for your OS.

Want to try the latest in-development features? Grab a build from the rolling next pre-release, which is automatically updated on every push to develop. These builds may be unstable and not intended for production use.

Docker

Two Docker images are available, a Selenium one (latest-selenium) and a lighter default one (latest).

In case you don't use Mintos, latest is highly recommended. The first one is required for Mintos, as it contains Selenium and reCAPTCHA resolution related Python and SO dependencies (like ffmpeg).

Both are available at Docker Hub finanze/finanze.

Frontend is available at finanze/finanze-frontend.

Checkout example docker-compose.yml for a complete setup.

Development

This project requires Python 3.14. For the frontend use pnpm, and node 24.

Setup

  1. Clone the repository:

    git clone https://github.com/finanze/finanze.git
    cd finanze
  2. Create a virtual environment and activate it (recommended Pyenv for version management):

    python3 -m venv venv
    source venv/bin/activate
  3. Install the required dependencies:

    pip install -r requirements.txt -r requirements-dev.txt -r requirements-lint.txt -r requirements-packaging.txt
    pip install -r requirements-selenium.txt  # If you want to use Selenium for reCAPTCHA, only for Mintos
    pre-commit install
  4. Setup frontend:

    cd frontend/app
    pnpm install
                         # ---- Mobile SPECIFIC ----
    pnpm install:pyodide # For mobile app initial setup, it will download Pyodide and all required Python dependencies for mobile backend
  5. Run it

    python ./finanze/finanze --port 7592 --data-dir .storage --log-dir .storage/logs --log-level DEBUG --third-party-log-level DEBUG
    
    cd frontend/app
    pnpm dev            # For electron desktop app
    
                        # ---- Mobile SPECIFIC ----
    pnpm dev:mobile     # For mobile app (web feature limited, but useful for basic development and testing)
    pnpm cap:ios        # For iOS development (requires Xcode and Mac)
    pnpm cap:android    # For Android development (requires Android Studio and related SDKs
    pnpm cap:sync       # To sync changes to native projects after frontend development
    
                        # ---- App Store SPECIFIC ----
    pnpm cap:sync:store # Same as above but this excludes all non App/Play Store compliant stuff (entity connections)

Mobile specific step

  1. TLS client for mobile (required for some entities needing TLS fingerprint impersonation):

    Requires: Go, Xcode (iOS), Android NDK r28+ (Android), gomobile ( go install golang.org/x/mobile/cmd/gomobile@latest && go install golang.org/x/mobile/cmd/gobind@latest).

    cd frontend/app           # If not already
    go mod tidy -C native/tlsclient
    pnpm native:setup         # Builds iOS xcframework + Android AAR and copies to native projects

Other

Formatting
```sh
ruff format

cd frontend/app
pnpm format
```
Executing tests
```sh
pytest              # Backend

cd frontend/app
pnpm test           # Frontend

cd e2e/standard
pnpm test           # Web based E2E

cd e2e/mobile
pnpm local:both     # Mobile based basic E2E
```

Environment Variables

Checkout example docker-compose.yml for the environment variables that can be used to override the default config, most important ones are::

  • USERNAME and PASSWORD optional, to auto start session on load.
  • MULTI_USER optional, to allow multiple user sign up (only recommended for local development).
  • Other Selenium related ones.

License

Finanze is open-source software licensed under the AGPLv3.

If you are interested in using Finanze in a proprietary environment or need a commercial license that bypasses AGPLv3 obligations, please contact us at contact@finanze.me.

Attributions & Credits

  • Powered by CoinGecko.
  • Powered by CoinMarketCap.
  • Powered by CryptoCompare.
  • Pyodide is used for mobile backend compatibility.
  • Trade Republic client is based on project pytr-org/pytr, although it has been heavily modified, this library has been vital for the entity integration.
  • Selenium reCAPTCHA resolution is based on sarperavci/GoogleRecaptchaBypass project, using a slightly modified version of Selenium version. In an attempt of using Playwright I made an adaptation for it here, it works, but has some troubles with headless mode.

* App Store version has limited features and does not support bank connections. Use AltStore or TestFlight for the full experience.

Releases

Used by

Contributors

Languages