All Projects → raphaelm → python-sepaxml

raphaelm / python-sepaxml

Licence: MIT License
SEPA Direct Debit XML generation in python

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to python-sepaxml

VBA-IDE-Code-Export
Export & Import VBA code for use with Git (or any VCS)
Stars: ✭ 89 (+25.35%)
Mutual labels:  xml
pyEDAA.IPXACT
An IP-XACT DOM for IEEE 1685-2014 in Python.
Stars: ✭ 13 (-81.69%)
Mutual labels:  xml
synapse
Apache Synapse is a lightweight and high-performance Enterprise Service Bus (ESB)
Stars: ✭ 43 (-39.44%)
Mutual labels:  xml
json2xml
json to xml converter in python3
Stars: ✭ 76 (+7.04%)
Mutual labels:  xml
spec
Just Data. Save up to 85% network bandwidth and storage.
Stars: ✭ 86 (+21.13%)
Mutual labels:  xml
video seg
视频片段提取
Stars: ✭ 14 (-80.28%)
Mutual labels:  xml
InshortApp
Demo app like inshort
Stars: ✭ 28 (-60.56%)
Mutual labels:  xml
XPathTools
A Visual Studio Extension which can run any XPath and XPath function; navigates through results at the click of a button. Can show and copy any XPath incl. XML namespaces, avoiding XML namespace induced headaches. Keeps track of the current XPath via the statusbar.
Stars: ✭ 40 (-43.66%)
Mutual labels:  xml
vxquery
Mirror of Apache VXQuery
Stars: ✭ 19 (-73.24%)
Mutual labels:  xml
libcitygml
C++ Library for CityGML Parsing and Visualization
Stars: ✭ 69 (-2.82%)
Mutual labels:  xml
Fore
Fore - declarative programming with web components
Stars: ✭ 34 (-52.11%)
Mutual labels:  xml
web-mode-edit-element
Helper-functions for attribute- and element-handling
Stars: ✭ 18 (-74.65%)
Mutual labels:  xml
datamaker
Data generator command-line tool and library. Create JSON, CSV, XML data from templates.
Stars: ✭ 23 (-67.61%)
Mutual labels:  xml
fox
A Fortran XML library
Stars: ✭ 51 (-28.17%)
Mutual labels:  xml
config-loader
Simple C++ Config Loader Framework(Serialization & Reflection)
Stars: ✭ 87 (+22.54%)
Mutual labels:  xml
advxml
A lightweight, simple and functional library DSL to work with XML in Scala with Cats
Stars: ✭ 54 (-23.94%)
Mutual labels:  xml
sitewriter
A rust library to generate sitemaps.
Stars: ✭ 18 (-74.65%)
Mutual labels:  xml
laravel-xml-middleware
A Laravel Middleware to accept XML requests
Stars: ✭ 17 (-76.06%)
Mutual labels:  xml
SNAP
Easy data format saving and loading for GameMaker Studio 2.3.2
Stars: ✭ 49 (-30.99%)
Mutual labels:  xml
vscode-odoo-snippets
Develop Odoo modules faster and with no Typing Errors.
Stars: ✭ 20 (-71.83%)
Mutual labels:  xml

SEPA XML Generator

https://travis-ci.org/raphaelm/python-sepaxml.svg?branch=master

This is a python implementation to generate SEPA XML files.

Limitations

Supported standards:

  • SEPA PAIN.001.001.03
  • SEPA PAIN.001.003.03
  • SEPA PAIN.008.001.02
  • SEPA PAIN.008.002.02
  • SEPA PAIN.008.003.02

Usage

Direct debit

Example:

from sepaxml import SepaDD
import datetime, uuid

config = {
    "name": "Test von Testenstein",
    "IBAN": "NL50BANK1234567890",
    "BIC": "BANKNL2A",
    "batch": True,
    "creditor_id": "DE26ZZZ00000000000",  # supplied by your bank or financial authority
    "currency": "EUR",  # ISO 4217
    # "instrument": "B2B"  # - default is CORE (B2C)
}
sepa = SepaDD(config, schema="pain.008.001.02", clean=True)

payment = {
    "name": "Test von Testenstein",
    "IBAN": "NL50BANK1234567890",
    "BIC": "BANKNL2A",
    "amount": 5000,  # in cents
    "type": "RCUR",  # FRST,RCUR,OOFF,FNAL
    "collection_date": datetime.date.today(),
    "mandate_id": "1234",
    "mandate_date": datetime.date.today(),
    "description": "Test transaction",
    # "endtoend_id": str(uuid.uuid1())  # autogenerated if obmitted
}
sepa.add_payment(payment)

print(sepa.export(validate=True))

Credit transfer

Example:

from sepaxml import SepaTransfer
import datetime, uuid

config = {
    "name": "Test von Testenstein",
    "IBAN": "NL50BANK1234567890",
    "BIC": "BANKNL2A",
    "batch": True,
    # For non-SEPA transfers, set "domestic" to True, necessary e.g. for CH/LI
    "currency": "EUR",  # ISO 4217
}
sepa = SepaTransfer(config, clean=True)

payment = {
    "name": "Test von Testenstein",
    "IBAN": "NL50BANK1234567890",
    "BIC": "BANKNL2A",
    "amount": 5000,  # in cents
    "execution_date": datetime.date.today() + datetime.timedelta(days=2),
    "description": "Test transaction",
    # "endtoend_id": str(uuid.uuid1())  # optional
}
sepa.add_payment(payment)

print(sepa.export(validate=True))

Development

To run the included tests:

pip install -r requirements_dev.txt
py.test tests

To automatically sort your Imports as required by CI:

pip install isort
isort -rc .

Credits and License

Maintainer: Raphael Michel <[email protected]>

This basically started as a properly packaged, python 3 tested version of the PySepaDD implementation that was released by The Congressus under the MIT license. Thanks for your work!

License: MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].