Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/andreoliwa/bank-csv-rs
Handle CSV files from a few German banks and PayPal
https://github.com/andreoliwa/bank-csv-rs
banking csv dkb finance n26 paypal rust
Last synced: 26 days ago
JSON representation
Handle CSV files from a few German banks and PayPal
- Host: GitHub
- URL: https://github.com/andreoliwa/bank-csv-rs
- Owner: andreoliwa
- Created: 2024-01-19T23:48:46.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2024-10-08T15:46:37.000Z (about 1 month ago)
- Last Synced: 2024-10-09T20:58:38.018Z (about 1 month ago)
- Topics: banking, csv, dkb, finance, n26, paypal, rust
- Language: Rust
- Homepage:
- Size: 47.9 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 7
-
Metadata Files:
- Readme: docs/README.md
Awesome Lists containing this project
README
# bank-csv
Handle CSV files from a few German banks and PayPal.
## Supported CSV files
| Bank | Where to get the CSV |
| --------------------------------- | ----------------------------------------------------------------------------------------- |
| [N26](https://n26.com/) | [Downloads](https://app.n26.com/downloads) |
| [PayPal](https://www.paypal.com/) | [Activity report](https://www.paypal.com/reports/dlog) |
| [DKB](https://www.dkb.de/) | [DKB Konto Umsätze](https://www.ib.dkb.de/banking/finanzstatus/kontoumsaetze?$event=init) |PayPal CSV columns can be configured on download and the default columns can change.
This project uses [polars](https://github.com/pola-rs/polars) to read CSV files directly by column names.
It's a heavier dependency, but it's easier to support different CSV formats without being super strict about column order and presence.## Installation
| From | Command |
| ---------------------------------------------- | --------------------------------------------------------------- |
| [crates.io](https://crates.io/crates/bank-csv) | `cargo install bank-csv` |
| GitHub | `cargo install --git https://github.com/andreoliwa/bank-csv-rs` |## Usage
Merge CSV files from a few German banks and PayPal into a single CSV file.
```bash
bank-csv merge /path/to/import-*.csv
````EUR` transactions are filtered by default. You can choose a different currency with the `--currency` option.
```bash
bank-csv merge -c USD /path/to/import-*.csv
```This will generate `bank-csv-transactions*.csv` files in the download directory of the computer, with transactions sorted by date and grouped by month.
Type `bank-csv --help` for more details.
```bash
❯ bank-csv --help
Handle CSV files from a few German banks and PayPalUsage: bank-csv
Commands:
merge Merge one or more bank CSV files and split them into multiple files, one for each month
help Print this message or the help of the given subcommand(s)Options:
-h, --help Print help
-V, --version Print version
```## Roadmap (TODO)
- [ ] Generate OFX (or QIF) files to be imported into [GnuCash](https://www.gnucash.org/)