{"id":51306473,"url":"https://github.com/lastunicorn/bcr-toolkit","last_synced_at":"2026-07-01T00:02:39.030Z","repository":{"id":363306292,"uuid":"1262630551","full_name":"lastunicorn/bcr-toolkit","owner":"lastunicorn","description":"A set of helpers to interact with files generated by BCR bank.","archived":false,"fork":false,"pushed_at":"2026-06-26T12:54:54.000Z","size":36,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-06-26T14:21:13.883Z","etag":null,"topics":["bank","bank-statement","bank-transactions","bcr","csharp","statement","toolkit"],"latest_commit_sha":null,"homepage":"","language":"C#","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/lastunicorn.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.txt","contributing":null,"funding":".github/FUNDING.yml","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"lastunicorn","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2026-06-08T07:05:48.000Z","updated_at":"2026-06-26T12:54:57.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/lastunicorn/bcr-toolkit","commit_stats":null,"previous_names":["lastunicorn/bcr-toolkit"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/lastunicorn/bcr-toolkit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lastunicorn%2Fbcr-toolkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lastunicorn%2Fbcr-toolkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lastunicorn%2Fbcr-toolkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lastunicorn%2Fbcr-toolkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lastunicorn","download_url":"https://codeload.github.com/lastunicorn/bcr-toolkit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lastunicorn%2Fbcr-toolkit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34987611,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-30T02:00:05.919Z","response_time":92,"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":["bank","bank-statement","bank-transactions","bcr","csharp","statement","toolkit"],"created_at":"2026-07-01T00:02:38.351Z","updated_at":"2026-07-01T00:02:39.025Z","avatar_url":"https://github.com/lastunicorn.png","language":"C#","funding_links":["https://ko-fi.com/lastunicorn"],"categories":[],"sub_categories":[],"readme":"\n# BCR Bank Toolkit\n\n[![GitHub Repo](https://img.shields.io/badge/github-repo-blue?logo=github)](https://github.com/lastunicorn/bcr-toolkit) [![GitHub Build](https://img.shields.io/github/actions/workflow/status/lastunicorn/bcr-toolkit/build-master.yml?logo=github)](https://github.com/lastunicorn/bcr-toolkit/actions/workflows/build-master.yml) [![NuGet Version](https://img.shields.io/nuget/v/DustInTheWind.Bcr.Toolkit?logo=nuget)](https://www.nuget.org/packages/DustInTheWind.Bcr.Toolkit) [![NuGet Downloads](https://img.shields.io/nuget/dt/DustInTheWind.Bcr.Toolkit?logo=nuget)](https://www.nuget.org/packages/DustInTheWind.Bcr.Toolkit)\n\nA set of helpers to interact with files generated by BCR bank.\n\n**Banca Comercială Română (BCR)** is a Romanian financial services company and investment bank:\n\n- https://en.wikipedia.org/wiki/Banca_Comercial%C4%83_Rom%C3%A2n%C4%83\n- https://www.bcr.ro\n\n## Installation\n\nPackage Manager:\n\n```\nInstall-Package DustInTheWind.Bcr.Toolkit\n```\n\n.NET CLI:\n\n```\ndotnet add package DustInTheWind.Bcr.Toolkit\n```\n\n## Runtime Requirements\n\n- Library target framework: `.NET 8.0` (`net8.0`)\n\n## Quick Start\n\n### Step 1 - Export Statement CSV File\n\n- Go to the BCR web application (https://george.bcr.ro) and login.\n- Select an account\n- From the left menu select \"Account Statements\"\n- On that page create a new CSV statement for the desired time period.\n- Download the CSV statement file\n\n### Step 2 - Parse the Exported Document\n\nThe `StatementDocument` class provides several methods to parse and load a CSV file, to accommodate different input sources. Here it is one of them:\n\n**From a file path:**\n\n```csharp\nStatementDocument document = StatementDocument.LoadFile(\"statement.csv\");\n\nforeach (BankTransaction bankTransaction in document)\n{\n    ...\n}\n```\n\n## CSV Document Structure\n\nThe parser expects a header row followed by one or more transaction rows, then a footer row.\n\n### Header row\n\n```csv\nIssuing date of the statement,Issuing time of the statement,Starting date,End date,Currency ,BNR exchange rate,Statement issued for account ,Product type,Account owner,First opening accounting balance,Transaction completion date,Transaction completion hour,Transaction's details,Operation's reference,Debit (amount),Credit (amount),Total debit (amount),Total credit (amount),Final accounting balance,Blocked amounts,Available balance,Credit lines available limit\n```\n\n### Transaction columns\n\nEach transaction row contains statement-level fields (same values on all rows of one export) and transaction-level fields.\n\n| CSV column | Populated property |\n| --- | --- |\n| `Issuing date of the statement` | `StatementDocument.IssuingDate` |\n| `Issuing time of the statement` | `StatementDocument.IssuingTime` |\n| `Starting date` | `StatementDocument.StartingDate` |\n| `End date` | `StatementDocument.EndDate` |\n| `Currency` | `StatementDocument.Currency` |\n| `BNR exchange rate` | `StatementDocument.BnrExchangeRate` |\n| `Statement issued for account` | `StatementDocument.BankAccount` |\n| `Product type` | `StatementDocument.ProductType` |\n| `Account owner` | `StatementDocument.AccountOwner` |\n| `First opening accounting balance` | `BankTransaction.OpeningBalance` |\n| `Transaction completion date` | `BankTransaction.CompletionDate` |\n| `Transaction completion hour` | `BankTransaction.CompletionHour` |\n| `Transaction's details` | `BankTransaction.Details` |\n| `Operation's reference` | `BankTransaction.OperationReference` |\n| `Debit (amount)` | `BankTransaction.DebitAmount` |\n| `Credit (amount)` | `BankTransaction.CreditAmount` |\n| `Total debit (amount)` | `BankTransaction.DebitTotal` |\n| `Total credit (amount)` | `BankTransaction.CreditTotal` |\n| `Final accounting balance` | `BankTransaction.FinalBalance` |\n| `Blocked amounts` | `BankTransaction.BlockedAmounts` |\n| `Available balance` | `BankTransaction.AvailableBalance` |\n| `Credit lines available limit` | `BankTransaction.CreditAvailableLimit` |\n\n### Footer row\n\nThe last CSV row is a footer, not a transaction. It is recognized by an empty first column.\n\n- Column `Transaction completion date` (index 10) is parsed as footer completion date and must match `StatementDocument.IssuingDate`.\n- Column `Available balance` (index 20) is parsed as footer available balance and stored in `StatementDocument.EndBalance`.\n\n## Demo Project\n\nThe repository includes a sample CLI project in `sources/Bcr.Toolkit.Demo` that demonstrates:\n\n- reading `statement.csv`\n- printing parsed data.\n\nYou can use this project as a reference implementation for your own importer/exporter tools.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flastunicorn%2Fbcr-toolkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flastunicorn%2Fbcr-toolkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flastunicorn%2Fbcr-toolkit/lists"}