SEPA PAIN.001 VALIDATOR · RUNS IN YOUR BROWSER · NOTHING UPLOADED

Will your bank accept this SEPA XML file?

Paste or drop a SEPA credit transfer (pain.001) or direct debit (pain.008) file and get every problem with its line, path, cause and fix: well-formedness, required elements, NbOfTxs and CtrlSum recomputed from the amounts, IBAN and BIC checks, EUR, execution dates on a weekend or TARGET2 holiday, field lengths, the SEPA character set and duplicate references. Then repair the totals and the characters in one click.

The file is read in this browser tab and never leaves your device. IBANs are masked in the report. Independent of the EPC and of every bank. Reference data (IBAN lengths, SEPA countries, TARGET2 closing days, the character set) is read from memory of public sources; no bank's own validator was available when this was built.

1. Your SEPA file

Usually a .xml file exported from accounting, payroll or your banking software, starting with <Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03">.

Choose a file or paste the text, then click Validate.

The model, and what it leaves out

Common questions

How do I check a SEPA pain.001 file before I upload it to my bank?

Paste the XML or drop the file onto this page. It checks well-formedness, the namespace and version, the required elements, the number of transactions and control sum against the real amounts, every IBAN and BIC, the currency, the execution date against weekends and TARGET2 holidays, field lengths and the SEPA character set, then lists each problem with its line, path, cause and fix.

What does the NbOfTxs and CtrlSum error mean?

NbOfTxs is the number of transactions and CtrlSum is the total of all amounts, stated in the group header and optionally in each payment information block. A bank recomputes both and rejects the file if they differ, which happens after an amount is edited or a transaction is added or deleted by hand. This tool adds the amounts as exact decimals, so 0.10 + 0.20 is 0.30 and not a floating point near-miss.

Which characters are allowed in a SEPA XML file?

Names, references and remittance text may use a-z, A-Z, 0-9 and the characters / - ? : ( ) . , ' + and the space. Accented letters, umlauts, ampersands, at signs, underscores and the euro sign are outside the set and make many banks reject the file. The repair step transliterates them, for example ü to ue, ß to ss and & to +.

Which execution dates does a bank refuse?

A SEPA payment settles on a TARGET2 day, so a requested date on a Saturday, Sunday, New Year's Day, Good Friday, Easter Monday, 1 May, 25 December or 26 December is moved or rejected. A date in the past is rejected by many banks. The report names the reason and gives the next TARGET day.

Can this tool fix my SEPA file?

It can recompute NbOfTxs and CtrlSum from the amounts in the file and transliterate disallowed characters in names and references. It never touches an IBAN, an amount, a currency, a date or an identifier: a wrong IBAN or amount is a payment decision, so it is reported and left to you.

Is it safe to put a payment file with IBANs into a web page?

The page runs in your browser, the file is read locally and nothing is uploaded; a test in the code asserts there are no network calls. IBANs are masked in the report and the downloaded findings list. Names and references are shown as they appear in your file. Your own policies still decide whether you may open a payment file in a browser.

What does this not check?

Full XSD validation and element order, your bank's own rules and limits, whether an IBAN exists or belongs to the named person, the creditor identifier check digits, mandate status, cut-off times, instant payments (pain.001 with SCT Inst), and message versions other than pain.001.001.03, pain.001.001.09, pain.008.001.02 and pain.008.001.08. A clean result is not a promise of acceptance.