#csv #banking #paypal #dkb #n26

bin+lib bank-csv

Detect CSV files from a couple of German banks (N26, DKB) and PayPal, filter out transactions in a specific currency and generate a CSV file with these transactions

1 unstable release

0.1.0 Jan 29, 2024

#144 in Finance

MIT/Apache

25KB
568 lines

bank-csv

Handle CSV files from a few German banks and PayPal.

Supported CSV files

Bank Where to get the CSV
N26 Downloads
PayPal Activity report
DKB DKB Konto Umsätze

PayPal has (as I found so far) 2 different CSV file formats.

This project uses 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

Install directly from GitHub:

cargo install --git https://github.com/andreoliwa/bank-csv-rs

This package is not yet published on crates.io.

Usage

Merge CSV files from a few German banks and PayPal into a single CSV file.

bank-csv merge /path/to/import-*.csv

EUR transactions are filtered by default. You can choose a different currency with the --currency option.

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.

 bank-csv --help
Handle CSV files from a few German banks and PayPal

Usage: bank-csv <COMMAND>

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

Dependencies

~23–37MB
~651K SLoC