{"id":15044958,"url":"https://github.com/titov-vv/jal","last_synced_at":"2025-04-12T15:41:42.287Z","repository":{"id":40516409,"uuid":"230072485","full_name":"titov-vv/jal","owner":"titov-vv","description":"Personal finance tracking project","archived":false,"fork":false,"pushed_at":"2024-10-07T19:42:34.000Z","size":11936,"stargazers_count":110,"open_issues_count":2,"forks_count":25,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-10-29T23:44:13.008Z","etag":null,"topics":["finance","personal-finance-manager","pyside6","python","qt","qt6-gui","tax-statement"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/titov-vv.png","metadata":{"files":{"readme":"docs/README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-12-25T08:47:13.000Z","updated_at":"2024-10-17T18:50:55.000Z","dependencies_parsed_at":"2023-10-19T17:34:04.582Z","dependency_job_id":"0f28689f-7f4b-4156-8d6c-403c34cf5c01","html_url":"https://github.com/titov-vv/jal","commit_stats":{"total_commits":3115,"total_committers":11,"mean_commits":283.1818181818182,"dds":"0.011235955056179803","last_synced_commit":"b80a5c624d4cd2bca7a6f94e432a5a4461d192fb"},"previous_names":[],"tags_count":77,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/titov-vv%2Fjal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/titov-vv%2Fjal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/titov-vv%2Fjal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/titov-vv%2Fjal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/titov-vv","download_url":"https://codeload.github.com/titov-vv/jal/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248590869,"owners_count":21129904,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["finance","personal-finance-manager","pyside6","python","qt","qt6-gui","tax-statement"],"created_at":"2024-09-24T20:51:16.902Z","updated_at":"2025-04-12T15:41:42.265Z","avatar_url":"https://github.com/titov-vv.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JAL (Just Another Ledger)\n**Track and manage your personal finances seamlessly.**\n\n[![image](http://img.shields.io/pypi/v/jal.svg)](https://pypi.python.org/pypi/jal/)\n\n*[English](https://github.com/titov-vv/jal/blob/master/docs/README.md), [Русский](https://github.com/titov-vv/jal/blob/master/docs/README.ru.md)*\n\n## 📌 Overview\nJAL is tailored for those who want a clear insight into their personal incomes, expenditures, investments, and up-to-date information on account balances and portfolio values.\n\n## ⭐️ Features\n### Multiple Accounts Management\n- Accounting with various currencies for different accounts.\n- User-selected base currency totals.\n- Account balance indication with or without credit limit.\n### Transaction Types\n- Generic income/spending with multi-category split.\n- Asset and money transfers, including currency conversion.\n- Trading operations: Buy/Sell securities (stocks, ETFs, options, and more).\n- Dividends for stocks and bond interest payments (including bond amortization).\n- Corporate actions for stocks.\n- Term deposits.\n### Reports\n- Daily history of account balance.\n- Portfolio asset allocation for a given date.\n- Monthly income/expenditure by category.\n- Investment profit/loss and history of payments for an assets.\n- Closed deals summary.\n### Price Updates\n- Stock/ETF/Crypto prices updated for major global exchanges.\n- Currency exchange rates from European and Russian central banks.\n### Broker Statement Imports\n- Supports various Russian and international brokers.\n### Tax Reports\n- Assistance for tax declaration in Russia and Portugal.\n- Tax burden estimation for a given asset in the portfolio.\n### Experimental Features\n- Electronic slips download for russian and some european shops. \n- Category recognition for goods in electronic slips using TensorFlow.\n\n## 📥 Installation\nJAL offers cross-platform compatibility and portability. Here's how to get started:\n1. **From GitHub Repository**:\n   - Clone repository locally with `git https://github.com/titov-vv/jal.git`\n   - Ensure you have Python 3.8.1 or later and meet all dependencies in `requirements.txt`.\n   - Tips Windows users: Ensure Python installation from ![the official site](https://www.python.org/) and turn on options `pip installation` and `add Python to environment variables` during the installation. Reboot to apply changes.\n   - Use `run.py` to launch the application.\n2. **Using pip**:\n   - Install using `pip install jal`.\n   - Launch with the `jal` command or alternatively `python -m jal.jal`.\n3. **Hybrid Installation**:\n   - Download source files and use `setup.py` for tailored installation.\n  \n\nDatabase will be initialized automatically with minimal required set of data, and you will be able to start use the program.\n\nYou may choose program language in menu *Languages*.\n\n## 🔧 Configuration\nJAL configuration is stored in `jal.sqlite` file together with all other data, that is created by default in `jal` folder.\nBut you may configure location of this file with help of `database_path` parameter in `jal.ini` located in OS config directory (e.g. `$HOME/.config` on most Unix-like systems). \nHere is an example of such file:\n```jal.ini\n[main]\ndatabase_path=/home/user/some_folder\n```\n\n## ❗️ Upgrades\nIf you installed *jal* via *pip* then you may upgrade it to newer version with help of command `pip install jal -U`\n\n## 🖭  Backups\nYou can use menu *Data-\u003eBackup* and *Data-\u003eRestore* to save and restore a copy of your data.\nBut you may get the same result by simply saving *jal.sqlite* file that contains everything.\nYou may see a location of the file that *jal* uses in menu *About*.\n\n## 📈 Tax report for investment account\nTax report can be prepared based on data from any broker if operations are present in JAL. Tax reports are supported for Russia and Portugal.    \nYou can import operations from broker statement with help of menu *Import-\u003eStatement*.  \nStep-by-step example (in russian language) of Russian tax report preparation for Interactive Brokers can be found on [this page](https://github.com/titov-vv/jal/blob/master/docs/ru-tax-3ndfl/taxes.md). \nUse contacts from beginning of this page if you need support regarding statements or reports.\n\n## Screenshots\nQt have a better look on Linux out of the box. Here is main program window:  \n![Main Window on Linux](https://github.com/titov-vv/jal/blob/master/docs/img/main_linux.png?raw=true)\n\nThe same window on Windows - the same functions with a bit different look:  \n![Main Window on Windows](https://github.com/titov-vv/jal/blob/master/docs/img/main_windows.png?raw=true)\n\nAccounts are be arranged in groups (Cash, Cards, Investments, etc), each account holds one currency.\nBelow is a view of main window where one account is chosen ('Mastercard') and account select/edit window is opened on top:  \n![One Account](https://github.com/titov-vv/jal/blob/master/docs/img/one_account_view.png?raw=true)\n\nExample of investment account view with Buy, Sell and Dividend operations recorded (there is an asset select/edit window on top):  \n![Investment Account](https://github.com/titov-vv/jal/blob/master/docs/img/stocks_and_investment_account.png?raw=true)\n\n'Holdings' tab contains portfolio overview (You display account and portfolio balances for any date).\nHoldings are grouped by currencies and then by accounts.  \n![Holdings](https://github.com/titov-vv/jal/blob/master/docs/img/investment_portfolio_holdings.png?raw=true)\n\nExamples of reports are below:\nMonthly incomes/spendings *(categories hierarchy is supported with sub-totals calculation)*  \n![Income/Spending report](https://github.com/titov-vv/jal/blob/master/docs/img/report_income_spending.png?raw=true)\nProfit/Loss for investment account *(Assets value to be fixed, Returns include dividends and other payments)*  \n![Profit/Loss report](https://github.com/titov-vv/jal/blob/master/docs/img/report_profit_loss.png?raw=true)\nList of all closed deals for investment account  \n![Deals report](https://github.com/titov-vv/jal/blob/master/docs/img/report_deals.png?raw=true)\n\n## 📞 Support, Feedback\nIf you want to ask a question, report a bug, provide help or support an author - you may use email [jal@gmx.ru](mailto:jal@gmx.ru?subject=%5BJAL%5D%20Help) or [Telegram](https://t.me/jal_support) ([Issues](https://github.com/titov-vv/jal/issues) on GitHub are always welcome also).\n\n## ❤️ Acknowledgements\nI would like to a mention people who helped me in 2022 and 2023 as I got more donations, help and feedback from users this year. \nAnd while I can't name every one of them I would like to confirm my appreciation for this help. They did the project better!\n\n## [FAQ](https://github.com/titov-vv/jal/blob/master/docs/FAQ.md)\n\n## [Description of error messages](https://github.com/titov-vv/jal/blob/master/docs/error_description.md)\n\n\n ---\n\n[![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Ftitov-vv.github.io%2Fledger%2F\u0026count_bg=%2379C83D\u0026title_bg=%23555555\u0026icon=\u0026icon_color=%23E7E7E7\u0026title=hits\u0026edge_flat=false)](https://hits.seeyoufarm.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftitov-vv%2Fjal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftitov-vv%2Fjal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftitov-vv%2Fjal/lists"}