CSV TO SEPA PAIN.001 · RUNS IN YOUR BROWSER · NOTHING UPLOADED

Turn a payment spreadsheet into a SEPA bulk payment file

Paste or drop a CSV from Excel or your accounting package (payee, IBAN, amount, reference) and download an ISO 20022 pain.001 credit transfer file for your bank's bulk upload. Every IBAN is check-digit tested, every amount is read as exact cents, text is made SEPA-safe, and the file is not written while anything is wrong, so you fix the list rather than the bank rejecting the batch.

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

1. Your payments

CSV, TSV or semicolon-separated. Columns are found from the header (payee/name, IBAN, amount, reference, BIC, id); with no header the order is name, IBAN, amount, reference. Amounts are in euros.

2. Your account and 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 payments into a SEPA file my bank accepts?

Export the sheet as CSV with a payee name, an IBAN and an amount per row (a reference column is optional), enter your own name, debit IBAN and the date you want the money to leave, and download the pain.001 XML. Most business banking portals have a bulk or file upload for credit transfers that takes this format.

Which pain.001 version does it write?

pain.001.001.03, the long-standing SEPA credit transfer version, and pain.001.001.09, the newer one some banks now ask for. Check your bank's file specification to see which it wants; if it lists a different version, this tool is not the right fit.

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.

Why does it refuse an amount like 1,234 or 1.234?

Because it could mean twelve hundred and thirty-four or one and a quarter. Guessing wrong on a payment is the worst outcome, so the tool asks you to write two decimals. Unambiguous forms such as 1.234,50 and 1,234.50 are read correctly.

Is the payment list uploaded anywhere?

No. The conversion runs in your browser tab and a test in the code asserts there are no network calls. Supplier bank details and your own IBAN never leave your device.

What does this not do?

It does not send money, connect to your bank, check whether an account exists or belongs to the payee, screen for fraud or sanctions, or produce direct debits (pain.008) or non-euro payments. Your bank remains the final validator.