{"id":15636342,"url":"https://github.com/passy/financius2bluecoins","last_synced_at":"2025-07-14T16:37:09.451Z","repository":{"id":66088475,"uuid":"89794754","full_name":"passy/financius2bluecoins","owner":"passy","description":"A script to migrate Financius transactions to Bluecoins","archived":false,"fork":false,"pushed_at":"2018-02-06T17:37:29.000Z","size":1473,"stargazers_count":2,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-29T20:16:47.909Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/passy.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":"2017-04-29T15:36:24.000Z","updated_at":"2020-01-20T02:36:40.000Z","dependencies_parsed_at":"2023-02-22T05:46:21.992Z","dependency_job_id":null,"html_url":"https://github.com/passy/financius2bluecoins","commit_stats":{"total_commits":99,"total_committers":1,"mean_commits":99.0,"dds":0.0,"last_synced_commit":"3129b5d7349473e4bf76261714cc79c37c0991b0"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/passy/financius2bluecoins","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/passy%2Ffinancius2bluecoins","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/passy%2Ffinancius2bluecoins/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/passy%2Ffinancius2bluecoins/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/passy%2Ffinancius2bluecoins/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/passy","download_url":"https://codeload.github.com/passy/financius2bluecoins/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/passy%2Ffinancius2bluecoins/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265319566,"owners_count":23746363,"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":[],"created_at":"2024-10-03T11:02:20.474Z","updated_at":"2025-07-14T16:37:09.427Z","avatar_url":"https://github.com/passy.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# financius2bluecoins\n\n![](assets/logo.png)\n\n\u003e Convert Financius backups to Bluecoins DBs.\n\nThis is meant to be a one-off script, so please apologize the clunky UX and\nad-hoc nature of the code. I made a lot of learnings along the way that\nI would generally utilize in a later refactor, but given that it already\nworks for me and I've got my converted file, it's hard for me to come\nup with the motivation. That said, PRs more than welcome!\n\n## How to use\n\nAs I said, this isn't exactly optimized for ease of use.\n\n**Step 1**\n\nCreate and download a backup from Financius.\n\n\u003cimg src=\"assets/screenshot_financius_backup.png\" width=\"160\"\u003e\n\nDownload the resulting JSON file and take note of its location.\n\n**Step 2**\n\nPrepare a barebones database in Bluecoins.\n\nYou must create accounts in the same names and currencies as in Financius. The top-level\ncategories don’t matter, but capitalization does. Note that existing transactions and starting\nbalances won’t be erased.\n\nAlso, ensure that the base currency is set correctly.\n\nCreate a local backup via “Settings \u003e Local Backup \u003e Backup to phone storage” and download it,\nfor instance via Dropbox.\n\n\u003cimg src=\"assets/screenshot_bluecoins_backup.png\" width=\"160\"\u003e\n\n**Step 3**\n\nBuild the script.\n\nInstall [stack](https://docs.haskellstack.org/en/stable/README/) either via your favorite\npackage manager or `curl -sSL https://get.haskellstack.org/ | sh` if you’re so inclined.\n\nAfterwards, run `stack setup \u0026\u0026 stack build`. This may take a while.\n\n**Step 4**\n\nUpdate the ECB exchange rates.\n\nBluecoins saves exchange rates per transaction. Financius, however, does not. So, we pull in the\nrates from the ECB, which makes them freely available. There is a bundled version that comes\nwith the repository, but it’s likely out of date.\n\n```\n./update-rates.sh\n```\n\nThis will download a new ZIP archive.\n\n**Step 5**\n\nRun the script.\n\nNow you are ready to run the script, but we have to figure out the right options first.\n\nFor example,\n```\nstack exec financius2bluecoin -- \\\n      --baseCurrency GBP \\\n      --financiusFile \"./Financius 2017-09-30 121507.json\" \\\n      --bluecoinFile bluecoins_workingcopy.fydb \\\n      --eurofxrefFile eurofxref-hist.zip\n```\n\n-\t`baseCurrency` is the same as you have selected in Bluecoins. The code must match the\nones available in the `eurofxref-hist.csv`.\n-\t`financiusFile` points to the location where you saved the JSON file in step 1.\n-\t`bluecoinFile` points to the location where you saved the database in step 2. (I’m aware\nof the missing “s”. PR welcome.)\n-\t`eurofxrefFile` points to the download ECB data from step 4. If you don’t specify this, all\nexchange rates will be set to 1.0.\n\n**NOTE: This will overwrite to the provided `--bluecoinsFile` in a non-idempotent action!**\n\n**Step 6**\n\nImport the file.\n\nYou can now import the generated database through “Settings \u003e Local Backup \u003e Restore from\nphone storage”.\n\n## Caveats\n\n-\tEUR as base currency is currently not supported. I’m a bit tired right now and not\nentirely sure what would happen as it doesn’t exist as currency in the ECB CSV.\n-\tThere will likely be conversion sum errors. For instance, you may see an account with a\nreal balance of USD 0, but a base currency balance of GBP 49. This is because the sum of\nthe currency-adjusted values doesn’t add up.\n\nProbably a lot more. Be sure you keep your Financius backup around.\n\n## License\n\nBSD\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpassy%2Ffinancius2bluecoins","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpassy%2Ffinancius2bluecoins","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpassy%2Ffinancius2bluecoins/lists"}