CSV TO SEPA PAIN.008 · DIRECT DEBIT · RUNS IN YOUR BROWSER · NOTHING UPLOADED

Turn a collections spreadsheet into a SEPA direct debit file

Paste or drop a CSV from Excel or your membership or billing system (debtor, IBAN, amount, mandate reference, mandate date) and download an ISO 20022 pain.008 direct debit file for your bank's upload. Your creditor identifier and every IBAN are check-digit tested, every amount is read as exact cents, rows are grouped into the FRST / RCUR / FNAL / OOFF blocks banks require, and the file is not written while anything is wrong.

Your list and your own IBAN are read in this browser tab and never leave your device. This makes the file; it does not collect money, store mandates or notify debtors, and your bank remains the final check. Independent of every bank and payment scheme named.

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.

The rules, and what they leave out

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.