{"id":13628627,"url":"https://github.com/ivallesp/YNAB-reporter","last_synced_at":"2025-04-17T04:32:03.492Z","repository":{"id":79762870,"uuid":"270475054","full_name":"ivallesp/YNAB-reporter","owner":"ivallesp","description":"Reporting system for You Need A Budget","archived":false,"fork":false,"pushed_at":"2021-07-04T12:21:51.000Z","size":387,"stargazers_count":39,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-11-08T19:42:08.472Z","etag":null,"topics":["personal-finance","python","reporting","ynab"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ivallesp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2020-06-08T00:37:22.000Z","updated_at":"2024-07-20T20:39:00.000Z","dependencies_parsed_at":"2023-06-10T09:30:16.892Z","dependency_job_id":null,"html_url":"https://github.com/ivallesp/YNAB-reporter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivallesp%2FYNAB-reporter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivallesp%2FYNAB-reporter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivallesp%2FYNAB-reporter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivallesp%2FYNAB-reporter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ivallesp","download_url":"https://codeload.github.com/ivallesp/YNAB-reporter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249315965,"owners_count":21249866,"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":["personal-finance","python","reporting","ynab"],"created_at":"2024-08-01T22:00:54.660Z","updated_at":"2025-04-17T04:32:02.964Z","avatar_url":"https://github.com/ivallesp.png","language":"Python","funding_links":[],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"readme":"# YNAB reporter: a simple YNAB monthly reporting system\nThis repository implements a small system for generating reports summarising You Need A Budged monthly movements and historical positions. The data is obtained using the YNAB API and the reports are generated using LaTeX.\n\n## Changelog\n__July 4th, 2021__\n- Feat: add example Dockerfile\n- Feat: add YoY column\n- Several minor bugfixes\n\n__December 3rd, 2020__\n- Feat: add multi-budget functionality, with possibility of different currencies\n- Feat: add possibility to exclude categories of the calculations\n\n## Getting started\nFollow the next steps to have the project running in your system:\n\n1. Install [pyenv](https://github.com/pyenv/pyenv) and [poetry](https://python-poetry.org/) in your system following the linked official guides.\n2. Open a terminal, clone this repository and `cd` to the cloned folder.\n3. Run `pyenv install $(cat .python-version)` in your terminal for installing the required python.\n   version.\n4. Configure poetry with `poetry config virtualenvs.in-project true`.\n5. Create the virtual environment with `poetry install`.\n6. Make sure you have LaTeX installed in your system (or install it with `sudo apt-get install texlive-full`) with the needed dependencies.\n7. Create the `config/ynab.toml` file following the example in the same folder and fill-in your budget name and API key.\n8. Do the same with the `config/email.toml` file. The example contained in this repository has the settings for gmail pre-filled in.\n9. Activate the environment with `source .venv/bin/activate`.\n10. Run `python main.py -y \u003creport-year\u003e -m \u003creport-month\u003e` to generate a report for the specified date.\n\n\nIt might be useful to set up a crontab to run the system every month. In my case, I run it the 5th day of every month, for calculating the report corresponding with the previous month. The crontab entry is shown below as an example.\n\n```\n0 9 5 * *     cd ~/projects/ynab-reporter \u0026\u0026 .venv/bin/python main.py -m `date +\\%-m --date=\"1 month ago\"` -y `date +\\%Y --date=\"1 month ago\"` -e my.email@gmail.com my.partner.email@gmail.com\n```\n\n## Example\nThe following image shows how the report looks like. Notice that all the data shown in it has been randomly generated.\n\n![](assets/report-example.png)\n\n## Contribution\nPull requests and issues will be tackled upon availability.\n\n## License\nThis repository is licensed under MIT license. More info in the LICENSE file. Copyright (c) 2020 Iván Vallés Pérez\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivallesp%2FYNAB-reporter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fivallesp%2FYNAB-reporter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivallesp%2FYNAB-reporter/lists"}