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.
- 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
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"
- 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_multipliermetadata 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"
Install via pip:
pip install git+https://github.com/Evernight/fava-currency-tracker.gitEnable 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.
# Install dependencies
make deps
# Start development server
make dev- 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)