Clearing & settlement

NextGenPSD2 XS2A Framework

Clearing leg: initiation to settlement

What happens after the API call succeeds. pain.001 becomes pacs.008, the CSM answers with pacs.002, and both sides get notified.

Why read this

Read this when a payment shows ACSP in the API but the beneficiary says nothing arrived. The answer is always in this leg.

Technical view of SEPA Credit Transfer, SWIFT / CBPR+

Messages · pain.001 → pacs.008 → pacs.002 → camt.054

iso20022clearingsepasettlement

Transaction flow

TPPProviderASPSPBankCSMClearingCreditorBankPSUUser01 pain.001 initiation received01 pain.00102 pacs.008 submitted02 pacs.00803 pacs.008 forwarded03 pacs.00804 pacs.002 — TxSts ACSC04 pacs.00205 pacs.002 relayed to the debtor bank05 pacs.00206 camt.054 credit notification06 camt.054
TPP: ProviderASPSP: BankCSM: ClearingCreditor: BankPSU: User
API hop Clearing hopClick a tag on an arrow (pacs.008, …) for info, usage and sample
Messages
01

pain.001 initiation received

Clearing layer

Whether it arrived as JSON or XML, the debtor bank normalises it into a pain.001 internally.

Messagepain.001Full detail →

The instruction a customer — or a PISP acting for one — sends to its bank to move money. In PSD2 this is what a bulk or file payment body actually contains.

tppaspsp

ISO 20022 payload· XML

pain.001 SEPA credit transfer

One payment information block, one transaction. NbOfTxs and CtrlSum must reconcile with the transactions actually present or the whole file is rejected at group level.

<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.09">
<CstmrCdtTrfInitn>
<GrpHdr>
<MsgId>MSG-20260812-0001</MsgId>
<CreDtTm>2026-08-12T09:14:22</CreDtTm>
<NbOfTxs>1</NbOfTxs>
<CtrlSum>1250.00</CtrlSum>
<InitgPty>
<Nm>Aggregateur SAS</Nm>
<Id>
<OrgId>
<Othr>
<Id>PSDFR-ACPR-91234</Id>
<SchmeNm>
<Cd>COID</Cd>
</SchmeNm>
</Othr>
</OrgId>
</Id>
</InitgPty>
</GrpHdr>
<PmtInf>
<PmtInfId>PMT-20260812-0001</PmtInfId>
<PmtMtd>TRF</PmtMtd>
<BtchBookg>false</BtchBookg>
<NbOfTxs>1</NbOfTxs>
<CtrlSum>1250.00</CtrlSum>
<PmtTpInf>
<SvcLvl>
<Cd>SEPA</Cd>
</SvcLvl>
</PmtTpInf>
<ReqdExctnDt>
<Dt>2026-08-13</Dt>
</ReqdExctnDt>
<Dbtr>
<Nm>Marie Lefebvre</Nm>
</Dbtr>
<DbtrAcct>
<Id>
<IBAN>FR7630006000011234567890189</IBAN>
</Id>
<Ccy>EUR</Ccy>
</DbtrAcct>
<DbtrAgt>
<FinInstnId>
<BICFI>DEMOFRPPXXX</BICFI>
</FinInstnId>
</DbtrAgt>
<ChrgBr>SLEV</ChrgBr>
<CdtTrfTxInf>
<PmtId>
<InstrId>INSTR-0001</InstrId>
<EndToEndId>E2E-2026-0842</EndToEndId>
</PmtId>
<Amt>
<InstdAmt Ccy="EUR">1250.00</InstdAmt>
</Amt>
<CdtrAgt>
<FinInstnId>
<BICFI>COBADEFFXXX</BICFI>
</FinInstnId>
</CdtrAgt>
<Cdtr>
<Nm>Atelier Rousseau SARL</Nm>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN>DE89370400440532013000</IBAN>
</Id>
</CdtrAcct>
<RmtInf>
<Ustrd>Facture 2026-0842</Ustrd>
</RmtInf>
</CdtTrfTxInf>
</PmtInf>
</CstmrCdtTrfInitn>
</Document>
52 elementsdepth 8pain.001.001.091805 charsxml