Skip to Content

EU SEPA Direct Debit

55.65 55.65

Instant digital delivery after payment confirmation.
License: OPL-1, every download is watermarked.
Terms and Conditions

EU SEPA Direct Debit - CORE pain.008 Generator

Mandate management and automatic FRST / RCUR sequence handling, in one ISO 20022 pain.008 file you upload to your own bank

Collect recurring and one-off payments by SEPA Direct Debit (CORE scheme) directly from Odoo. The module builds a standards compliant ISO 20022 pain.008 (CustomerDirectDebitInitiation) XML file that you upload to your bank's electronic-banking or EBICS channel - no third-party gateway, no per-transaction fees, your data never leaves your database.

Its core job is to get the two things creditors most often get wrong right every time: a clean mandate lifecycle and the correct sequence type on each collection.

Mandate management

A dedicated mandate record holds the debtor, IBAN/BIC, signature date and scheme. Each mandate moves through a clear lifecycle - Draft → Active → Closed - and tracks how many collections have been filed against it.

Automatic FRST / RCUR

The first collection on a recurrent mandate is sent as FRST and every later one as RCUR - the sequence type is derived from the mandate's collection history, never guessed by hand. One-off mandates emit OOFF and a final collection emits FNAL.

What it does

pain.008 CORE file generator

Builds a complete CstmrDrctDbtInitn message: group header with the total number of transactions and control sum, one or more PmtInf blocks, and a DrctDbtTxInf per collection with the mandate-related information. The local instrument is always CORE and the charge bearer SLEV.

Automatic PmtInf split

A single batch may mix FRST and RCUR collections for the same due date; the generator automatically splits them into the separate PmtInf blocks the EPC rulebook requires, ordered first then recurrent.

IBAN, BIC and Creditor Identifier validation

Real ISO 13616 / ISO 7064 MOD-97 validation of every debtor and creditor IBAN, ISO 9362 BIC structure checking with IBAN-country cross-check, and a full SEPA Creditor Identifier check-digit verification - so the file clears the bank's validation on the first upload.

Two schema versions

Emit pain.008.001.02 (accepted by virtually every bank) or pain.008.001.08 (the ISO 20022 2019 maintenance version for the November 2023 SEPA migration) from the same data.

Timing & pre-notification checks

Built-in helpers for the harmonised CORE D-1 presentation lead time, the 14-day pre-notification window, the debtor's 8-week refund right, and the 36-month mandate-lapse rule - surfaced as warnings before you send.

Build collections from invoices

A wizard turns selected posted customer invoices into a ready collection batch, matching each invoice's partner to an active mandate and using the residual amount due.

Sequence types at a glance

CodeMeaningWhen it is used
FRSTFirst The first collection of a recurrent mandate.
RCURRecurrent Every subsequent recurrent collection.
FNALFinal The last collection of a recurrent series; closes the mandate.
OOFFOne-off A single-use collection; the mandate is closed after use.

Standards & boundary

Implements the EPC SEPA Direct Debit CORE Rulebook and the ISO 20022 pain.008 Customer Direct Debit Initiation message. The module is a pure file generator: it produces the pain.008 XML for you to submit through your own bank channel under your own agreement. It transmits nothing to any external service and is not a payment institution.

Compatible with Odoo 18 and Odoo 19, Community and Enterprise.

Screenshots

Collection Batches

Collection Batches

Build From Invoices

Build From Invoices

Settings

Settings

Mandates

Mandates

Update date: 2026-07-02