Enterprise-grade interactive API documentation for ExcelToPain001. Review our endpoints via the modern 3-column reference below and complete your B2B integration processes in minutes.
Stop building custom parsers for every client. Our intelligent mapping engine handles the mess so you don't have to.
Map messy columns in our dashboard once to get your profile_id.
Just POST the raw file + ID. We handle all XML complexities and validations.
CLEANEST API ON THE MARKET
Don't rewrite your ERP logic. The SEPA November 2026 Structured Address Mandate is coming.
"Our API automatically detects, parses, and structures address fields to ensure your files are 100% compliant with the new banking regulations."
All API requests must include the x-api-key header.
Use TEST_KEY_123 to test in our sandbox environment.
Default ISO-20022 PAIN.001.001.03 format guaranteed to work with any standard European bank.
We automatically handle character limits, encoding (ISO-8859-1), and required fields unique to these institutions:
/api/v1/sepa/generatecurl -X POST https://www.exceltopain001.com/api/v1/sepa/generate \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"bankType": "DEUTSCHE_BANK",
"companyName": "Acme Corp",
"transactions": [
{
"debtorIban": "DE12345678901234567890",
"creditorName": "John Doe",
"creditorIban": "DE98765432109876543210",
"amount": 100.5,
"currency": "EUR",
"remittanceInfo": "Invoice #123"
}
]
}'import requests
url = "https://www.exceltopain001.com/api/v1/sepa/generate"
headers = {
"Content-Type": "application/json",
"x-api-key": "YOUR_API_KEY"
}
payload = {
"bankType": "DEUTSCHE_BANK",
"companyName": "Acme Corp",
"transactions": [
{
"debtorIban": "DE12345678901234567890",
"creditorName": "John Doe",
"creditorIban": "DE98765432109876543210",
"amount": 100.5,
"currency": "EUR",
"remittanceInfo": "Invoice #123"
}
]
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())const axios = require('axios');
const url = 'https://www.exceltopain001.com/api/v1/sepa/generate';
const headers = { 'x-api-key': 'YOUR_API_KEY' };
const payload = {
"bankType": "DEUTSCHE_BANK",
"companyName": "Acme Corp",
"transactions": [
{
"debtorIban": "DE12345678901234567890",
"creditorName": "John Doe",
"creditorIban": "DE98765432109876543210",
"amount": 100.5,
"currency": "EUR",
"remittanceInfo": "Invoice #123"
}
]
};
axios.post(url, payload, { headers })
.then(res => console.log(res.data))
.catch(err => console.error(err));<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03">
<CstmrCdtTrfInitn>
<GrpHdr>
<MsgId>ABC-123456</MsgId>
...
</GrpHdr>
</CstmrCdtTrfInitn>
</Document>{
"status": "error",
"message": "Missing mandatory field 'creditorIban' in row 2. Please map it.",
"errors": ["Row 2: creditorIban: Required"]
}Returned when the x-api-key is missing or invalid.