2023-09-03 08:56:16 +02:00
|
|
|
# Convert mBank export file to MT940 format
|
2020-02-17 10:16:12 +01:00
|
|
|
|
2023-09-03 08:56:16 +02:00
|
|
|
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).
|
2020-02-17 10:16:12 +01:00
|
|
|
|
|
|
|
## Disclaimer
|
2023-09-03 08:56:16 +02:00
|
|
|
|
|
|
|
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.
|
2020-02-17 10:16:12 +01:00
|
|
|
|
|
|
|
## Features
|
|
|
|
|
2023-09-03 08:56:16 +02:00
|
|
|
- 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.
|
2020-02-17 10:16:12 +01:00
|
|
|
|
|
|
|
## Limitations
|
|
|
|
|
2023-09-03 08:56:16 +02:00
|
|
|
- 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.
|
2020-02-17 10:16:12 +01:00
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
1. Clone the repository.
|
|
|
|
2. Make sure you have Python 3.
|
|
|
|
3. Run the following command:
|
|
|
|
|
|
|
|
```
|
|
|
|
python3 main.py \
|
2023-09-03 08:56:16 +02:00
|
|
|
--in /path/to/mBank.csv \
|
2020-02-17 10:16:12 +01:00
|
|
|
--out /path/to/mt.940 \
|
2023-09-03 08:56:16 +02:00
|
|
|
--account-iban <your mBank account IBAN>
|
2020-02-17 10:16:12 +01:00
|
|
|
```
|
|
|
|
|
|
|
|
## License
|
|
|
|
|
|
|
|
MIT
|