CSV to SEPA XML Converter
Automate supplier payments: from spreadsheet to bank-ready SEPA XML in seconds.
What This Project Does
CSV to SEPA XML Converter is a Python application with both GUI and CLI modes that converts payment data from CSV files to SEPA Credit Transfer XML format (pain.001.001.03). It features built-in IBAN/BIC validation, automatic error reporting, and complete audit trails.
You prepare your payments in a CSV file (supplier name, IBAN, amount, reference). The tool validates every field, generates the bank-ready XML, catches errors before upload, and logs everything for compliance. Works interactively via GUI or silently via command line for automation.
See It in Action
Watch how the CSV to SEPA XML Converter validates IBANs, processes 10,000 payment transactions in 0.66 seconds, and generates bank-ready ISO 20022 XML files with complete error reporting.
Key Features
-
Dual Mode
GUI for interactive use, CLI for automation and scripting
-
Input Validation
IBAN checksum, BIC format, and amount verification
-
Security
Formula injection protection and input sanitization
-
Error Reports
Automatic CSV error reports with detailed validation messages
-
SEPA Compliant
Generates valid pain.001.001.03 format
-
Audit Trail
Complete logging to sepa_converter.log
-
Configurable
Set company IBAN/BIC via GUI or command line
-
macOS Compatible
Built-in troubleshooting and graceful fallbacks
Quality Assurance
- IBAN validation with MOD-97 checksum verification
- BIC format validation (8 or 11 characters)
- Amount limits and format checking (max 999,999,999.99)
- Automatic CSV error reports with detailed diagnostics
- Formula injection protection for security
- Complete logging to sepa_converter.log
Banking Note: This tool generates standard SEPA XML files in ISO 20022 pain.001.001.03 format. Always test with your bank first using a small batch. Each bank may have slight variations in their requirements. I can customize the output format for your specific bank if needed.
Real-World Applications
Want to Try It?
This tool is free and open-source. It runs locally on YOUR computer. Your payment data never leaves your system, never gets uploaded anywhere. Complete control and privacy guaranteed.
- Test with your actual payment spreadsheets
- See exactly how it handles your bank's requirements
- No data privacy concerns—everything stays on your machine
- Full control over the conversion process
If you're a developer:
- Clone the repository from GitHub
- Install dependencies:
pip install -r requirements.txt - Prepare your CSV file with payment data
- Run:
python csv_to_sepa_xml.py - Upload the generated XML to your bank's portal
If you're not a developer:
Don't worry about the technical setup. I can customize this tool for your specific bank's requirements, set it up to work with your payment workflow, and deliver a ready-to-use solution with clear instructions.
Let Me Handle It For YouHow We'll Work Together
- Discovery — You walk me through your payment workflow and bank requirements. I confirm whether this tool fits and give you an honest timeline and cost estimate. No commitment needed.
- Scope — I send you a written scope: what gets built, what gets tested, when it ships, and what it costs. You approve it or we adjust until it fits.
- Build — I configure the tool for your specific bank format and edge cases. You get progress updates every 2 to 3 days. Nothing ships blind.
- Handoff — You test with real payment data. I fix anything that does not work. Final payment on delivery. Seven days of support included.
- You run it independently — The tool is yours. You have the script, the documentation, and the logic. No dependency on me to keep it running.