en

SEPA direct debit

Build a SEPA direct debit as ISO 20022 pain.008 from a simple form - locally in the browser, with no upload.

A structural check as a helper function, not a legally binding attestation.
Scheme
  • Core (CORE)
  • Business (B2B)

Running locally on your device ...

0%

Your files never left your device

    Is my file uploaded?

    No. Everything runs in your browser - your file never leaves your device. How this is verifiable

    No upload100% local
    Your content stays with youno third-party access
    Servers in GermanyGDPR by design
    Independently auditedTLS A+ · HTTP headers A+

    A SEPA direct debit (SDD) is exchanged with the bank as ISO 20022 pain.008 (pain.008.001.08, CustomerDirectDebitInitiation). As a creditor collecting due amounts by mandate, you import a pain.008 file into your online banking or ERP. This tool builds it from a simple form: you enter the creditor, IBAN and creditor identifier plus one line per collection with payer, IBAN, amount and mandate data; it produces a valid pain.008 structure with one transaction per payer.

    Write one field per line as "key: value". Supported keys (German or English): creditor (name), IBAN, BIC (optional), creditor ID (CdtrSchmeId), collection date (YYYY-MM-DD, optional), sequence type (OOFF/FRST/RCUR/FNAL, default OOFF), local instrument (CORE/B2B, default CORE) and one line per collection "Direct debit: payer | IBAN | amount | mandate reference | mandate date | remittance". The count (NbOfTxs) and control sum (CtrlSum) are computed automatically; the amount runs as EUR (SEPA SDD is a Euro scheme).

    Important and honest: this tool builds the pain.008 XML STRUCTURE for the import - it does not collect any money. A valid SEPA mandate from the payer and the timely pre-notification remain your responsibility; the collection happens only when you import the file into your banking software and release it. It is not a payment service. Everything runs entirely locally in the browser (pure JavaScript, no server) - the data never leaves your device; every value is inserted XML-safe.

    Specifications

    Specifications
    Input formatsText input
    Output formatXML
    Batch processingNo
    ProcessingLocally in your browser (JavaScript)
    File uploadNone

    In 3 steps

    1. Enter creditor, IBAN, creditor ID and one line per collection (Direct debit: payer | IBAN | amount | mandate ref | mandate date | remittance).
    2. Tap Generate - the pain.008 XML is built locally in the browser.
    3. Download the pain.008 file and import it into your banking software.

    Limitations: Builds a SEPA direct debit as ISO 20022 pain.008 (pain.008.001.08) from a simple "key: value" input: creditor (name/IBAN, BIC optional), creditor ID (CdtrSchmeId), an optional collection date, sequence type (OOFF/FRST/RCUR/FNAL) and local instrument (CORE/B2B) plus any number of collections (payer | IBAN | amount | mandate reference | mandate date | remittance) with automatic NbOfTxs/CtrlSum. It covers the SDD core in EUR; special cases are not modelled in this version. It only produces the file for the import - it does NOT collect money and is not a payment service; a valid mandate and the pre-notification are your responsibility, and you release it in your banking software. Verify the result against your bank schema.

    FAQ

    Does it collect money?

    No. The tool only builds the pain.008 XML file. The collection happens only when you import the file into your banking software and release it - and only with a valid mandate.

    Is my data uploaded?

    No. The generation runs entirely locally in the browser (pure JavaScript, no server); the data never leaves your device.

    Which pain version is produced?

    ISO 20022 pain.008.001.08 (CustomerDirectDebitInitiation) with a group header, one payment-information block (with sequence type and creditor ID) and one transaction per payer.

    Do I need a mandate?

    Yes. A SEPA direct debit requires a valid mandate from the payer; you provide the mandate reference and date per collection. The tool does not manage mandates.

    What is the sequence type?

    OOFF (one-off), FRST (first), RCUR (recurring) or FNAL (final) of a mandate series. Default is OOFF; you can set it via a line.

    Related tools