{"id":20673709,"url":"https://github.com/cpg314/beancount-ch","last_synced_at":"2025-07-27T03:08:15.687Z","repository":{"id":184711303,"uuid":"672247119","full_name":"cpg314/beancount-ch","owner":"cpg314","description":"Convert monthly statements from Swiss banks into beancount entries","archived":false,"fork":false,"pushed_at":"2024-08-04T18:10:06.000Z","size":29,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-10T18:12:16.596Z","etag":null,"topics":["beancount","credit-card","invoices","rust","switzerland"],"latest_commit_sha":null,"homepage":"https://c.pgdm.ch/code","language":"Rust","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cpg314.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}},"created_at":"2023-07-29T12:22:09.000Z","updated_at":"2024-08-04T18:15:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"649d3f05-50e2-4991-8891-5dbcdad874b9","html_url":"https://github.com/cpg314/beancount-ch","commit_stats":null,"previous_names":["cpg314/cembra-beancount","cpg314/beancount-ch"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/cpg314/beancount-ch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cpg314%2Fbeancount-ch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cpg314%2Fbeancount-ch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cpg314%2Fbeancount-ch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cpg314%2Fbeancount-ch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cpg314","download_url":"https://codeload.github.com/cpg314/beancount-ch/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cpg314%2Fbeancount-ch/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267293776,"owners_count":24065325,"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","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["beancount","credit-card","invoices","rust","switzerland"],"created_at":"2024-11-16T20:42:19.707Z","updated_at":"2025-07-27T03:08:15.656Z","avatar_url":"https://github.com/cpg314.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# beancount-ch\n\nConvert monthly statements from some banks serving the Swiss market into [beancount](https://github.com/beancount/beancount) plain-text entries.\n\n- [Cembra](https://www.cembra.ch/) credit card statements (PDFs)\n- [Revolut](https://www.revolut.com/) statements (CSVs)\n- [BCV](https://www.bcv.ch/) monthly statements (XLSX spreadsheets)\n\nSee https://c.pgdm.ch/code/beancount-ch\n\nNote that beancount itself has importation tools: see [this documentation page](https://beancount.github.io/docs/importing_external_data.html) and [beangulp](https://github.com/beancount/beangulp).\n\n## Usage\n\n```console\nbeancount-ch\nParses a monthly statement and output it as Beancount entries\n\nUSAGE:\n    beancount-ch [OPTIONS] \u003cSUBCOMMAND\u003e\n\nOPTIONS:\n        --accounts-rules-csv \u003cACCOUNTS_RULES_CSV\u003e\n            CSV with {text contained in merchant name}, {account} for expense account guessing\n\n    -h, --help\n            Print help information\n\nSUBCOMMANDS:\n    bcv        Monthly statements from BCV (XLSX format)\n    cembra     Monthly credit card statements from Cembra (PDF format)\n    help       Print this message or the help of the given subcommand(s)\n    revolut    Revolut statements (CSV format)\n```\n\nA command of the form\n\n```console\n$ cembra-beancount --accounts-rules-csv rules.csv cembra 2022-05.pdf\n```\n\nthen produces beancount entries of the form\n\n```beancount\n2022-05-01 * \"Bakery Inc.\"\n Expenses:Food 15.80 CHF\n Liabilities:CreditCard\n...\n```\n\n### Account guessing\n\nIn many cases, the expense account (here `Expenses:Food`) can be guessed from the merchant name. The `--accounts-rules-csv` file contains simple rules of the form\n\n```text\n {text contained in merchant name}, {account}\n ...\n```\n\napplied sequentially until a match is found.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcpg314%2Fbeancount-ch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcpg314%2Fbeancount-ch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcpg314%2Fbeancount-ch/lists"}