Go to file
Gerwin van der Lugt 0e60b023ff Fix small bug in the way we handle the transaction pre-balance in case of fees 2020-03-01 20:22:04 +01:00
.gitignore Initial commit 2020-02-17 09:54:00 +01:00
LICENSE Create LICENSE 2020-02-17 10:03:58 +01:00
README.md Create README.md 2020-02-17 10:16:12 +01:00
data.py Initial commit 2020-02-17 09:54:00 +01:00
main.py Initial commit 2020-02-17 09:54:00 +01:00
mt940.py Initial commit 2020-02-17 09:54:00 +01:00
revolut.py Fix small bug in the way we handle the transaction pre-balance in case of fees 2020-03-01 20:22:04 +01:00

README.md

Convert Revolut export file to MT940 format

This small Python script converts Revolut export files (in CSV) to MT940. You can use the MT940 to import statements in some bookkeeping software like SnelStart (which it was built for).

Disclaimer

This script comes without any warranty whatsoever. Do not use it in production. Do not use it if you are not familiar with how banks work, how bookkeeping software works, and if you do not have the technical know-how to make changes to this script yourself if something breaks. If you do use this script it might kill your cat or start World War 3. Don't come to me, I warned you.

Features

  • It is specifically built for getting Revolut transactions into SnelStart.
  • Parses the Revolut CSV file and extracts: timestamp, counterparty name, transaction description, transaction amount, fee amount, balance after transaction, counterparty IBAN.
  • This information is converted into a valid MT940 file.
  • Revolut charges fees for transactions. These are included in the transaction (as Revolut sees it). This could cause problems when importing into bookkeeping software as the amounts do not match up. This script will not include fees in transactions but insert "fake" transactions for each deducted fee. You will see those transactions separately in your bookkeeping software but in Revolut they are included in the transaction.

Limitations

  • Apart from loading transactions into SnelStart, it has not been tested on any other tasks. It might or might not work for your use case.
  • Revolut does not export the counterparty IBAN for transactions that you receive. As such, the IBAN field in MT940 for credit transactions are usually empty.

Usage

  1. Clone the repository.
  2. Make sure you have Python 3.
  3. Run the following command:
python3 main.py \
	--in /path/to/revolut.csv \
	--out /path/to/mt.940 \
	--account-iban <your revolut account IBAN>

License

MIT