This library generates bank statements in MT940/MT942 format
Project description
MT940/MT942 is a text based data file format used in bank account statements (commonly used by banks in the Netherlands). A bank account statement contains your account balance as well as a listing of all the transactions between a given start date and end date.
This library provides an API to define and serialize MT940/MT942 documents in Python. It does not provide a parser.
Installation
Install using pip:
$ pip install python-libmt94x
Usage
Creating MT940 documents
libmt94x implements two ING-defined dialects of MT940:
Mijn ING Zakelijk (dubbed ming),
Inside Business Payments (dubbed ibp).
No matter which dialect your are using you first need to construct an MT940Document and then use the appropriate method to write it out to the target dialect:
from libmt94x.document import Mt940Document
from libmt94x.fields import AccountIdentification
# ...snip...
from libmt94x.fields import TransactionReferenceNumber
from libmt94x.serializer import Mt94xSerializer
from libmt94x.writer import Mt94xWriter
serializer = Mt94xSerializer()
writer = Mt94xWriter(serializer)
doc = Mt940Document(
transaction_reference_number=TransactionReferenceNumber('P140220000000001'),
account_identification=AccountIdentification('NL69INGB0123456789', 'EUR'),
# ...snip...
)
# to write using the ``ming`` dialect
bytestring = writer.write_document_ming(doc)
# to write using the ``ibp`` dialect
bytestring = writer.write_document_ibp(doc)
How to find more info
For more details on the API and compatibility issues see docs/design.rst.
For example MT940 documents see tests/examples/.
For fully fledged code examples see the tests in tests/test_writer_doc_XXX.py.
Developing on libmt94x
Running tests
It is recommended that you use a virtualenv when working on libmt94x. To run tests you will first need to install the development dependencies, which include tox:
$ pip install -r dev-requirements.txt
Now run the tests using tox (this will invoke py.test inside the tox-managed virtual test environment):
$ tox
This will run tests, collect test coverage and run the style checker flake8. For a more lightweight test run you can run pytest directly:
$ py.test
Contributing
Please see CONTRIBUTING.rst for guidelines on how to contribute to libmt94x.
Changelog
0.3.4 (2016-07-11)
Updating package metadata (no code changes). [numerodix]
0.3.3 (2016-07-11)
First release to PyPI. [numerodix]
0.3.2 (2016-06-27)
Add README.txt and HISTORY.rst to setup.py long_description for display on ginger devpi. [numerodix]
0.3.1 (2016-05-13)
Use standard packaging and testing conventions in this package. [numerodix]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file python-libmt94x-0.3.4.tar.gz
.
File metadata
- Download URL: python-libmt94x-0.3.4.tar.gz
- Upload date:
- Size: 23.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 396dcb2ba7f53419d45c402ad3255d7cd31a1e67ce995716e0d2a2705c547100 |
|
MD5 | 7da309533067135268f6c1da8607c0a1 |
|
BLAKE2b-256 | f897ff3c0365d93c390b35ae700bf5ce6af3e217c42be482a0d4f103cee5a13f |