Skip to content

Fava (Beancount) plugin for tracking currencies and fetching historical prices using UI

License

Notifications You must be signed in to change notification settings

Evernight/fava-currency-tracker

Repository files navigation

Fava Currency Tracker

A Fava extension for Beancount that provides an interactive dashboard for tracking and managing currency exchange rates.

Track exchange rates over time, visualize data availability, and fetch current prices via beanprice.

Screenshot

Features

📊 Interactive Currency Dashboard

  • Exchange Rate Chart: Line graph showing historical exchange rates between selected currencies
  • Data Availability Heatmap: Calendar view showing availbility of price directives over time
    • Click to view and fetch missing price directives
  • Currency Selection: Autocomplete selectors for currency and base currency with quick switch button
  • Built with React and Apache ECharts

💱 Currency Markers

Define visual markers on your exchange rate charts to track target rates:

2025-10-01 custom "currency-marker" "EUR" "USD" 1.12 "red" "Target exchange rate"
2025-12-15 custom "currency-marker" "EUR" "USD" 1.18 "goldenrod" "Historical high"

🔄 Automatic Price Fetching

  • Fetch current exchange rates directly from the dashboard (via beanprice or pricehist libraries)
  • Preview price directives before saving to your ledger
  • See beanprice for setup details
  • Additionally supports price_fetch_multiplier metadata on commodity directives
2020-01-01 commodity EUR
  price_fetch_multiplier: 0.01

for prices that are denominated in a different unit (e.g. cents instead of dollars)

Prices are stored in the prices/ directory. Don't forget to include this directory in your Beancount ledger:

include "prices/*.bean"

Installation

Install via pip:

pip install git+https://github.com/Evernight/fava-currency-tracker.git

Usage

Enable the extension in your Beancount ledger:

1970-01-01 custom "fava-extension" "fava_currency_tracker"

Then access the Currency Tracker tab in your Fava interface.

Development

# Install dependencies
make deps

# Start development server
make dev

See Also

  • fava-portfolio-returns - Portfolio returns analysis for Fava (referenced for this project)
  • fava-dashboards - Custom dashboards for Fava (referenced for this project)
  • beanprice - Price fetching tool for Beancount (used for fetching prices)
  • pricehist - Extended price fetching tool with Beancount output format support (used for fetching prices)
  • lazy-beancount - Beancount with batteries included (includes this plugin and some more)

About

Fava (Beancount) plugin for tracking currencies and fetching historical prices using UI

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published