Payments Initiation

CustomerDirectDebitInitiationV08

painarea
008message
001variant
08version

Payments Initiation

SEPA Direct Debit collection instruction. Carries the mandate reference and sequence type that drive R-transaction handling.

Start with the payment story

Schema versions

SWIFT and ISO publish successive XSD revisions of the same business message (e.g. pacs.008.001.08 → .10 → .13; same pattern for camt and pain). Markets pin one via a usage guideline (EPC SEPA, CBPR+, Swiss SPS…) and may add a country suffix (pacs.008.001.08.ch.02) — the Document xmlns must match that XSD.

ISO catalogue (XSD) ↗SWIFT / CBPR+ ↗SWIFT & versioning glossary →

EPC SEPA Direct Debit initiation on the current ISO catalogue revision.

Markets / railsSEPA SCT

Facts

Root element
CstmrDrctDbtInitn
Direction
Customer → bank
Namespace
urn:iso:std:iso:20022:tech:xsd:pain.008.001.08
Variant (flavour)
001
Version
08
direct debitsddmandatepain

Elements a validator will insist on

Not the full XSD — the paths whose absence causes the rejections you actually see in production.

  • CstmrDrctDbtInitn/GrpHdr/MsgId
  • CstmrDrctDbtInitn/PmtInf/PmtInfId
  • CstmrDrctDbtInitn/PmtInf/Cdtr
  • CstmrDrctDbtInitn/PmtInf/DrctDbtTxInf/DrctDbtTx/MndtRltdInf/MndtId

ISO 20022 payload· XML

pain.008 SEPA direct debit

SDD Core collection with mandate id and sequence type. Creditor initiates; debtor account is debited. Switch XML | JSON in the inspector without leaving this sample.

<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.001.08">
<CstmrDrctDbtInitn>
<GrpHdr>
<MsgId>PAIN8-20260812-001</MsgId>
<CreDtTm>2026-08-12T08:00:00</CreDtTm>
<NbOfTxs>1</NbOfTxs>
<CtrlSum>59.90</CtrlSum>
<InitgPty>
<Nm>Atelier Rousseau SARL</Nm>
</InitgPty>
</GrpHdr>
<PmtInf>
<PmtInfId>PMTINF-SDD-001</PmtInfId>
<PmtMtd>DD</PmtMtd>
<NbOfTxs>1</NbOfTxs>
<CtrlSum>59.90</CtrlSum>
<ReqdColltnDt>2026-08-15</ReqdColltnDt>
<Cdtr>
<Nm>Atelier Rousseau SARL</Nm>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN>FR7630006000011234567890189</IBAN>
</Id>
</CdtrAcct>
<CdtrAgt>
<FinInstnId>
<BICFI>DEMOFRPPXXX</BICFI>
</FinInstnId>
</CdtrAgt>
<CdtrSchmeId>
<Id>
<PrvtId>
<Othr>
<Id>FR12ZZZ123456</Id>
<SchmeNm>
<Prtry>SEPA</Prtry>
</SchmeNm>
</Othr>
</PrvtId>
</Id>
</CdtrSchmeId>
<DrctDbtTxInf>
<PmtId>
<EndToEndId>E2E-SDD-2026-0001</EndToEndId>
</PmtId>
<InstdAmt Ccy="EUR">59.90</InstdAmt>
<DrctDbtTx>
<MndtRltdInf>
<MndtId>MND-8842</MndtId>
<DtOfSgntr>2024-03-01</DtOfSgntr>
</MndtRltdInf>
</DrctDbtTx>
<DbtrAgt>
<FinInstnId>
<BICFI>COBADEFFXXX</BICFI>
</FinInstnId>
</DbtrAgt>
<Dbtr>
<Nm>Marie Lefebvre</Nm>
</Dbtr>
<DbtrAcct>
<Id>
<IBAN>DE89370400440532013000</IBAN>
</Id>
</DbtrAcct>
</DrctDbtTxInf>
</PmtInf>
</CstmrDrctDbtInitn>
</Document>
46 elementsdepth 8pain.008.001.081451 charsxml
Open in Try editor →

Edit in the XML / JSON tab, then run the check.