mbank-to-mt940/README.md

59 lines
2.1 KiB
Markdown
Raw Normal View History

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