JAL
Just Another Ledger is a project for personal finance tracking.
It was designed to keep records of personal incomes/spendings and investments with up-to-date information about account's balances and portfolio value.
Main features
- multiple accounts in any number of currencies; the reporting currency (everything is converted into) is the one you set for your country of residence
- the operations it records:
- Generic income/spending operations that may be split into several categories
- Asset and money transfers between accounts (with currency conversion if required)
- Buy/Sell operation for securities (jal supports stocks, ETFs, options, partial support of bonds and futures)
- Asset payments (dividends for stocks, interest for bonds) and asset income (stock dividends and vesting, staking and lending rewards for crypto)
- Corporate actions for stocks (Split, Symbol change, Merger, Spin-Off, Stock dividend)
- Term deposits
- Wrapping: crypto lending deposits/withdrawals and liquid staking, with the protocol named
- Swaps, cross-chain bridge transfers and on-chain actions (approvals, failed transactions); gas is a fee of the operation it paid for
- crypto wallets on Ethereum, Arbitrum, Avalanche, Bitcoin, Solana, Tron and Hyperliquid: operations are fetched from the chain, staked positions are tracked separately and rewards that are earned but not paid out yet are reported
- reports:
- Daily history of account balance.
- Portfolio asset allocation for a given date.
- Monthly income/expenditure by category, peer or tag.
- Investment profit/loss and history of payments for an asset.
- Closed deals summary.
- Term deposits and staked positions.
- quotes updates: stocks and ETFs from Yahoo (US, LSE, Frankfurt, Warsaw, Helsinki), Euronext, TMX TSX and MOEX; crypto from DeFiLlama; currency rates from the European and the Russian central banks
- Broker, bank and crypto exchange statement import:
- International: Interactive Brokers Flex statement (xml), Freedom Finance (xml), Just2Trade (xlsx), Trading 212 (csv), Revolut (csv).
- Russian: KIT Finance (xlsx), PSB broker (xlsx/xls), VTB Investments (xlsx), Tvoy Broker (zip).
KIT Finance, PSB and VTB import is stale: if it fails on your statement, open an issue with a request for improvement (a statement example with personal data cleaned out will be required). - Crypto exchanges: KuCoin (zip), Bitget (zip).
- Investments report for tax declaration preparation for Russia and Portugal.
Russian tax estimation for open positions. - experimental Download russian electronic slips from russian tax authority (FNS). This function requires authorization.
You may authorize via SMS, FNS personal account or ESIA/Gosuslugi.
User manual - the whole program explained from the first start onwards.
Full description is available at Github - English, Русский
Support: jal@gmx.ru or Telegram
Metadata
Release files for jal 2026.10.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jal-2026.10.2.tar.gz | 1.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jal-2026.10.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.5 MB
Release files / jal-2026.10.2.tar.gz
| Download URL | jal-2026.10.2.tar.gz |
|---|---|
| Size | 1.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b612ebc860074fcecac7f687dabc554f8ad4a4d163bf373b80d73c42c54fabaf
|
|
BLAKE2b-256 checksum How to use checksums |
afff0f9e44cc9453aeafc12893aeb0b37750312db51fd00134197a9c95d456f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Release files / jal-2026.10.2-py3-none-any.whl
| Download URL | jal-2026.10.2-py3-none-any.whl |
|---|---|
| Size | 1.3 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0af58216bdb163938b48c157c35265780583208facdd75a0c4d757d734af944c
|
|
BLAKE2b-256 checksum How to use checksums |
a8152102f0722c5466f9e4d740e61918dd3c243f28d44ee21ae6f921d7fad6f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|