Question

Can you recommend any OS, ready-to-go, well-documented and not dead MT940 format parser for Python?

Was it helpful?

Solution

I only manage to find this python project: https://github.com/headcr4sh/django-banking Maybe you can extend/update the above project for your own purpose. The code is quite easy to read.

If you don't mind using Java, there's one up to date project that could parse/create any swift message easily:

http://sourceforge.net/projects/wife/

Code sample:

creation: https://github.com/prowide/prowide-core-examples/blob/master/src/com/prowidesoftware/swift/samples/MessageCreationExample.java

parsing: https://github.com/prowide/prowide-core-examples/blob/master/src/com/prowidesoftware/swift/samples/ParseMT940Example.java

their website: http://www.prowidesoftware.com/core.jsp

OTHER TIPS

Possibly a little late to the party, but I've written a library to support MT940 with Python some time ago. I've just given it a large update to be a bit more versatile so it should do the trick for most people: https://github.com/WoLpH/mt940

If there are any problems, please let me know. Pull requests are always welcome :)

Currently it supports reading any Mt940 file I could find (I have a testset of 31 files) and depending on the format it will parse more or less information.

To add specific support for your files there is pre- and post-processor support to add some custom parsing: http://mt940.readthedocs.org/en/latest/mt940.html#mt940.models.Transactions Some banks have extra information in the transaction details which is easily supportable using this method.

Documentation can be found on readthedocs: http://mt940.readthedocs.org/en/latest/mt940.html

The package is installable through Pypi: https://pypi.python.org/pypi/mt-940

pip install mt-940

Example usage:

import mt940
import pprint

transactions = mt940.parse('tests/jejik/abnamro.sta')

print 'Transactions:'
print transactions
pprint.pprint(transactions.data)

print
for transaction in transactions:
    print 'Transaction: ', transaction
    pprint.pprint(transaction.data)
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top