{"id":17162694,"url":"https://github.com/galbarm/ynab4tognucashmigrationtool","last_synced_at":"2026-03-15T14:14:17.462Z","repository":{"id":81563735,"uuid":"241405714","full_name":"galbarm/YNAB4toGnuCashMigrationTool","owner":"galbarm","description":"YNAB 4 to GnuCash Migration Tool","archived":false,"fork":false,"pushed_at":"2020-02-18T19:29:37.000Z","size":5,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-19T09:58:21.559Z","etag":null,"topics":["gnucash","ynab","ynab4"],"latest_commit_sha":null,"homepage":"","language":"Scala","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/galbarm.png","metadata":{"files":{"readme":"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,"zenodo":null}},"created_at":"2020-02-18T16:07:25.000Z","updated_at":"2024-08-18T12:23:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"f4b86df9-d59f-43a6-a7ea-e1c45e3e28c6","html_url":"https://github.com/galbarm/YNAB4toGnuCashMigrationTool","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/galbarm/YNAB4toGnuCashMigrationTool","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/galbarm%2FYNAB4toGnuCashMigrationTool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/galbarm%2FYNAB4toGnuCashMigrationTool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/galbarm%2FYNAB4toGnuCashMigrationTool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/galbarm%2FYNAB4toGnuCashMigrationTool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/galbarm","download_url":"https://codeload.github.com/galbarm/YNAB4toGnuCashMigrationTool/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/galbarm%2FYNAB4toGnuCashMigrationTool/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30544190,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-15T12:15:27.454Z","status":"ssl_error","status_checked_at":"2026-03-15T12:15:26.919Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["gnucash","ynab","ynab4"],"created_at":"2024-10-14T22:46:24.964Z","updated_at":"2026-03-15T14:14:17.457Z","avatar_url":"https://github.com/galbarm.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# YNAB 4 to GnuCash Migration Tool\n\nWhile YNAB 4 has QIF export and GnuCash has QIF import, migrating your YNAB data to GnuCash is impossible without having to perform some QIF manipulations.\n- YNAB Account names are missing from its exported QIFs.\n- GnuCash expects all accounts to be placed in the category QIF transaction item (\"L\"), but YNAB places transfers \u0026 payees in the payee QIF transaction item (\"P\").\n- Transfers appear twice in the exported QIFs (once for each account).\n- Naming is not always correct or consistent, for example transfer to account X is named Transfer: X instead of just X.\n- YNAB exports each account into its own QIF, making the import process inconvenient if there are many accounts.\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\nThis tool does the manipulations and fixes the aforementioned issues.\n\n# Assumptions\n- Due to the way YNAB 4 exports to QIF, split transcations are supported if they contain expense sub-transcations only.\nSplit transcations that contain payee or transfers or expense with positive value (income) are not supported.\n- YNAB account names should not contain invalid filename characters (such as '\"', '?' ...)\n- Ensure there is no clash between Account \u0026 Payees \u0026 Categories names in YNAB. Since everything is translated into accounts in GnuCash, having a YNAB Payee called \"Presents\" and a category called \"Presents\" will mess things up.\n\n# Usage\n1. While in \"All Accounts\" register view in YNAB 4, go to File -\u003e Export. Uncheck \"Export current register view only\" and click Export to QIF\n2. Locate the export folder and run the tool with the folder path as an argument, for example: `sbt \"run C:\\Users\\usera\\Dropbox\\YNAB\\Exports\"`\n3. A file named ynab.qif should appear inside the Export folder. Import only this file in GnuCash.\n\n# To-Do\n- Control the type of the created accounts in GnuCash. I Couldn't find how to force specific account types through QIF import in GnuCash.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgalbarm%2Fynab4tognucashmigrationtool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgalbarm%2Fynab4tognucashmigrationtool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgalbarm%2Fynab4tognucashmigrationtool/lists"}