1. Your collections
CSV, TSV or semicolon-separated. Columns are found from the header (debtor/name, IBAN, amount, mandate id, mandate date, reference, sequence, BIC, id); with no header the order is name, IBAN, amount, mandate id, mandate date, reference, sequence. Dates are YYYY-MM-DD or DD.MM.YYYY. Amounts are in euros.
2. You, as creditor, and the collection date
Choose a file or paste the text, fill in your details, then click Check and make file.
Result
SEPA direct debit file
Before uploading, run the file through the SEPA pain.001 / pain.008 validator for an independent check, and compare the control total with your ledger. Debtors must be told the amount and date (pre-notification) before you collect; the tool does not do that.
The rules, and what they leave out
- Creditor identifier: ISO 7064 mod 97-10 check digits, with the three-character business code left out of the check as the scheme specifies. A mistyped identifier is the most common reason a first file is refused.
- IBANs: ISO 13616 mod-97 check digits and the country's length, for the SEPA-area countries. Spaces, hyphens and lower case are cleaned; nothing else is guessed.
- Mandates: every row needs a mandate reference and a signature date; a mandate signed in the future, or on or after the collection date, is refused.
- Sequence types: rows are grouped into one payment block per FRST, RCUR, FNAL or OOFF, each with its own count and control sum. Words such as "first", "recurring" and "one-off" are read.
- Amounts: exact cents, no floating point.
34,50,1.200,50and1,200.50are read; an ambiguous1,234is refused. Zero, negative and three-decimal amounts are errors. - Text: names, mandate ids and references are transliterated to the SEPA character set (for example ü becomes ue), cut to length and XML-escaped, each change reported.
- Also flagged: a possible duplicate collection, a repeated collection id, a weekend, past or far-future collection date, a debtor IBAN equal to your own, and B2B mandates that must also be registered at the debtor's bank.
- Not done: sending the file, bank connections, storing mandates, pre-notification to debtors, returns, refunds and R-transactions, checking that a mandate is still valid (a mandate unused for 36 months lapses), SDD Core1, non-euro collections, bank-specific variants, limits and cut-off times. Reference data is read from memory of public sources; confirm against your bank's file specification.
Common questions
How do I turn a spreadsheet of members or customers into a SEPA direct debit file?
Export the sheet as CSV with a debtor name, IBAN, amount, mandate reference and the date the mandate was signed on each row (a payment reference and a sequence type are optional). Enter your own name, account IBAN, creditor identifier and the collection date, and download the pain.008 XML. Most business banking portals take direct debits as a file upload in this format.
What does my bank need that I might not have?
A SEPA creditor identifier, issued by your national authority (in Germany the Bundesbank, elsewhere often your bank or a national register), and a signed mandate for every debtor with a unique mandate reference. The tool checks the identifier's check digits and refuses rows with no mandate reference or signature date.
What are FRST, RCUR, FNAL and OOFF?
The sequence type says where a collection sits under a mandate: the first (FRST), a recurring one (RCUR), the last (FNAL), or a one-off (OOFF). Banks want each type in its own payment block, so the tool groups your rows by type and writes one block per type with its own control total. Put the type in a column, or choose a default.
What happens if a row has an error?
No file is written at all. Every problem is listed with its line number, so a half-correct batch is never produced. Warnings, such as a character the SEPA set does not allow, are fixed and reported but do not block the file.
Which scheme and file version does it write?
The SEPA Core scheme or the Business-to-Business (B2B) scheme, in pain.008.001.02, the long-standing SEPA direct debit version. If your bank's specification asks for a different version, this tool is not the right fit.
Is the list uploaded anywhere?
No. The conversion runs in your browser tab and a test in the code asserts there are no network calls. Debtor bank details and your own IBAN never leave your device.
What does this not do?
It does not send the file, connect to your bank, store mandates, send pre-notifications to debtors, handle returns, refunds or R-transactions, check that a mandate is still valid, or produce credit transfers or non-euro collections. Your bank remains the final validator.