Fork info

This commit is contained in:
Kuba Orlik 2023-09-03 08:56:16 +02:00
parent 724af76ebd
commit e1defce133

View File

@ -1,22 +1,44 @@
# Convert Revolut export file to MT940 format
# Convert mBank 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).
Fork of https://github.com/gerwin3/revolut-to-mt940
This small Python script converts mBank 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.
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.
- It is specifically built for getting mBank transactions into SnelStart.
- Parses the mBank 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.
- mBank charges fees for transactions. These are included in the transaction (as
mBank 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 mBank
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.
* The export files from Revolut are missing some key data fields when the transaction is still pending (status is not *COMPLETED*). Only export completed transactions.
- 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.
- mBank does not export the counterparty IBAN for transactions that you
_receive_. As such, the IBAN field in MT940 for credit transactions are
usually empty.
- The export files from mBank are missing some key data fields when the
transaction is still pending (status is not _COMPLETED_). Only export
completed transactions.
## Usage
@ -26,9 +48,9 @@ This script comes without any warranty whatsoever. Do not use it in production.
```
python3 main.py \
--in /path/to/revolut.csv \
--in /path/to/mBank.csv \
--out /path/to/mt.940 \
--account-iban <your revolut account IBAN>
--account-iban <your mBank account IBAN>
```
## License