--- id: sepaxml version: "2.7.0" license: MIT License license_treatment: permissive maintenance: aging --- # sepaxml — Python SEPA XML implementations License: permissive · Maintenance: aging · Downloads: 359.6K/mo ## What it is and what it does sepaxml is a Python library that generates SEPA XML payment files conforming to ISO 20022 PAIN standards. It handles two main payment types: direct debits (PAIN.008 series) and credit transfers (PAIN.001 series), with support for multiple schema versions ranging from 001.02 to 001.11. The library takes payment configuration and transaction details as dictionaries, validates them against the appropriate XML schema, and exports compliant SEPA XML that can be submitted to European banks. The package wraps xmlschema for validation and text-unidecode for character handling, making it suitable for applications that need to generate payment files programmatically. It supports optional address fields, batch processing, and various payment types (FRST, RCUR, OOFF, FNAL for debits; standard transfers for credits). The library is maintained but aging—last updated 346 days ago—and carries a permissive MIT license. Use it for: - Generate direct debit XML files for recurring subscription or utility billing in SEPA countries - Create credit transfer payment files for payroll or vendor payments in EUR - Integrate SEPA payment generation into accounting or ERP systems for automated bank file export - Batch process multiple payments into a single validated SEPA XML document for bank submission - Support multi-country European payment workflows with optional address fields for compliance ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Generates SEPA XML payment files for direct debits and credit transfers, supporting multiple PAIN schema versions (001 and 008 series) used in European banking. Yes, if you need SEPA XML generation for European banking workflows. The package is stable, has low dependencies, carries a permissive license, and handles the core use case well. However, be aware that maintenance is aging (last release 346 days ago) and Python version support in classifiers only extends to 3.6—verify compatibility with your target Python version before committing to production use. ## Install pip install sepaxml uv add sepaxml poetry add sepaxml ## Installing sepaxml Before you install: Low install friction with only two runtime dependencies. Maintenance status is aging—last release was 346 days ago and the repository shows no recent commits, though it remains unarchived and has accumulated 134 stars. License in practice: MIT License permits commercial and private use with minimal restrictions, requiring only attribution and inclusion of the license notice. Quickstart: pip install sepaxml from sepaxml import SepaDD import datetime config = { "name": "Account Holder", "IBAN": "NL50BANK1234567890", "BIC": "BANKNL2A", "creditor_id": "DE26ZZZ00000000000", "currency": "EUR" } sepa = SepaDD(config, schema="pain.008.001.02") payment = {"name": "Payer", "IBAN": "NL50BANK1234567890", "amount": 5000} sepa.add_payment(payment) xml_output = sepa.export(validate=True) Verify before relying: - Whether the package works reliably with modern Python versions beyond 3.6, given classifiers list only up to 3.6 - Current test coverage and whether all supported PAIN schema versions are actively validated - Whether validation against ISO 20022 schemas is comprehensive or has known gaps ## Package facts - License: MIT License (permissive) - Python support: unspecified - Install friction: low - Maintenance: aging - Downloads: 359.6K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags sepa xml generator, direct debit xml, credit transfer xml, pain schema xml, european banking xml, sepa payment file, xml banking format, banking, xml-generation, sepa-payments [View on SkillFed](https://skillfed.io/packages/sepaxml) · [View on PyPI](https://pypi.org/project/sepaxml/)