https://github.com/lastunicorn/revolut-toolkit
A set of helpers to interact with files generated by Revolut bank.
https://github.com/lastunicorn/revolut-toolkit
banking csharp revolut transactions
Last synced: 17 days ago
JSON representation
A set of helpers to interact with files generated by Revolut bank.
- Host: GitHub
- URL: https://github.com/lastunicorn/revolut-toolkit
- Owner: lastunicorn
- License: mit
- Created: 2026-06-03T13:36:58.000Z (about 1 month ago)
- Default Branch: master
- Last Pushed: 2026-06-25T10:35:11.000Z (23 days ago)
- Last Synced: 2026-06-25T12:14:42.341Z (23 days ago)
- Topics: banking, csharp, revolut, transactions
- Language: C#
- Homepage:
- Size: 40 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.txt
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Revolut Bank Toolkit
[](https://github.com/lastunicorn/revolut-toolkit) [](https://github.com/lastunicorn/revolut-toolkit/actions/workflows/build-master.yml) [](https://www.nuget.org/packages/DustInTheWind.Revolut.Toolkit) [](https://www.nuget.org/packages/DustInTheWind.Revolut.Toolkit)
A set of helpers to interact with files generated by Revolut bank.
**Revolut Group Holdings Ltd**, known as **Revolut**, is a British global financial technology company headquartered in London and founded in July 2015 by Nik Storonskiy and Vlad Yatsenko:
- https://en.wikipedia.org/wiki/Revolut
## Installation
Package Manager:
```
Install-Package DustInTheWind.Revolut.Toolkit
```
.NET CLI:
```
dotnet add package DustInTheWind.Revolut.Toolkit
```
## Runtime Requirements
- Library target framework: `.NET 8.0` (`net8.0`)
## Quick Start
### Step 1 - Export Statement CSV File
- Go to the Revolut web application (https://app.revolut.com/home).
- Select an account and click the "Statement" button in the top right.
- Choose to export as "Excel". This option is misnamed, it is not really an Excel file. It is an CSV file.
- Choose the start and end month.
- Click "Generate".
The downloaded file should have the following header line:
`Type,Product,Started Date,Completed Date,Description,Amount,Fee,Currency,State,Balance`
### Step 2 - Parse the Exported Document
The `StatementDocument` class provides several methods to parse and load a CSV file, to accommodate different input sources. Here it is one of them:
**From a file path:**
```csharp
StatementDocument document = await StatementDocument.LoadFromFileAsync("statement.csv");
foreach (BankTransaction transaction in document)
{
...
}
```
## `BankTransaction` Properties
| CSV Column | Property | Type | Description |
| ---------------- | --------------- | -------------------- | ------------------------------------------ |
| `Type` | `Type` | `TransactionType` | The type/category of the transaction. |
| `Product` | `Product` | `TransactionProduct` | |
| `Started Date` | `StartedDate` | `DateTime` | |
| `Completed Date` | `CompletedDate` | `DateTime` | |
| `Description` | `Description` | `string` | |
| `Amount` | `Amount` | `decimal` | |
| `Fee` | `Fee` | `decimal` | |
| `Currency` | `Currency` | `Currency` | |
| `State` | `State` | `TransactionState` | |
| `Balance` | `Balance` | `decimal` | The account balance after the transaction. |
## Demo Project
The repository includes a sample CLI project in `sources/Revolut.Toolkit.Demo` that demonstrates:
- reading `statement.csv`
- printing parsed data.
You can use this project as a reference implementation for your own importer/exporter tools.