ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

pacs.008 — FI to FI Customer Credit Transfer

The interbank settlement message for a customer credit transfer. Direct successor to SWIFT MT103 on the CBPR+ network since 22 November 2025, and de facto standard across every European, UK and US RTGS.

Purpose and place in the flow

pacs.008 is the bank-to-bank message that carries the settlement of a customer credit transfer between the ordering bank and the beneficiary's bank. It functionally succeeds SWIFT MT103 and carries the same business payload — ordering party, beneficiary, amount, value date, charges — with the upsides of an XML syntax, UTF-8 encoding and unified semantics across clearing houses.

In a full flow, pacs.008 is generated by the ordering bank from the pain.001 instruction received from its customer, and routed via: SWIFTNet for cross-border (CBPR+), Eurosystem T2 or EBA Clearing EURO1 for high-value euros, EBA Clearing RT1 or TIPS for SEPA SCT Inst, BoE CHAPS for sterling, Fedwire Funds and CHIPS for US dollars. The pacs.008 is immutable end-to-end: each correspondent bank may add information but cannot alter what is already there (the gpi data carry-over principle).

XML structure

pacs.008 is wrapped in <Document> with the version namespace, then inside root element <FIToFICstmrCdtTrf>. Two main blocks structure the message:

  • GrpHdr (Group Header) — message metadata: MsgId unique identifier, CreDtTm datetime, NbOfTxs number of transactions in the message, SttlmInf (Settlement Information) with the settlement method SttlmMtd (INDA = via instructed agent, INGA = via instructing agent, COVE = cover payment, CLRG = clearing).
  • CdtTrfTxInf (Credit Transfer Transaction Information) — the transaction itself, repeatable 1..n depending on the profile (CBPR+ enforces NbOfTxs=1 so a single CdtTrfTxInf per message).

The content of CdtTrfTxInf follows the universal ISO 20022 payments model: identifiers (PmtId), type (PmtTpInf), amounts (IntrBkSttlmAmt, InstdAmt), involved agents (InstgAgt, InstdAgt, DbtrAgt, CdtrAgt, sometimes IntrmyAgt1/2/3), parties (Dbtr, Cdtr), accounts (DbtrAcct, CdtrAcct), remittance (RmtInf).

Key fields

  • GrpHdr/MsgId — unique identifier on the sender side, max 35 characters. Used to match against the inbound pacs.002.
  • GrpHdr/SttlmInf/SttlmMtd — settlement method code. INDA (Instructed Agent) is the most common in cross-border: the receiving bank is the instructed agent, settlement flows through its account at the sender or via a correspondent.
  • CdtTrfTxInf/PmtId/UETRmandatory in CBPR+. UUID v4 (RFC 4122), 36 characters including dashes, lowercase. The identifier that follows the payment end-to-end, the key for SWIFT gpi to trace each step (gpi Tracker).
  • CdtTrfTxInf/PmtId/EndToEndId — business reference passed to the beneficiary. The field the beneficiary uses to reconcile in their ERP — identical to the EndToEndId in the originating pain.001.
  • CdtTrfTxInf/IntrBkSttlmAmt — actually settled amount between banks, in the settlement currency. Ccy attribute mandatory (ISO 4217).
  • CdtTrfTxInf/IntrBkSttlmDt — interbank settlement date (ISO YYYY-MM-DD).
  • CdtTrfTxInf/InstdAmt — amount instructed by the customer (relevant in FX conversion). Without FX, equal to IntrBkSttlmAmt.
  • CdtTrfTxInf/ChrgBr — charge bearer. DEBT (ordering party, MT OUR), CRED (beneficiary, MT BEN), SHAR (shared, MT SHA), SLEV (per applicable rulebook, typical SEPA).
  • DbtrAgt / CdtrAgt / InstgAgt / InstdAgt — four agent roles. DbtrAgt and CdtrAgt are the customer's agents (ordering and receiving banks); InstgAgt and InstdAgt are the technical agents of the message itself (the banks that emit and receive the pacs.008). In a direct cross-border without correspondent, those four roles collapse to two BICs.
  • Cdtr/PstlAdr — beneficiary address. Since CBPR+ v10, the PstlAdr block must be structured (StrtNm, BldgNb, PstCd, TwnNm, Ctry) and no longer free text — a data-quality rule for AML compliance.
  • RmtInf/Strd/CdtrRefInf/Ref — structured creditor reference, typically the ISO 11649 Creditor Reference (format RF + check digits + 21 characters) for automatic accounting reconciliation.

Cross-border CBPR+ example

pacs.008 generated by BNP Paribas to route the cross-border EUR 12,500 transfer from ACME SARL to Hans Mueller GmbH, settling invoice INV2026-187 via an ISO 11649 Creditor Reference.

xml pacs-008-cbpr-plus.xml
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.008.001.10">
  <FIToFICstmrCdtTrf>
    <GrpHdr>
      <MsgId>BNPP-CBPR-20260514-001</MsgId>
      <CreDtTm>2026-05-14T10:30:00+01:00</CreDtTm>
      <NbOfTxs>1</NbOfTxs>
      <SttlmInf>
        <SttlmMtd>INDA</SttlmMtd>
      </SttlmInf>
    </GrpHdr>
    <CdtTrfTxInf>
      <PmtId>
        <InstrId>BNPP-INSTR-2026001</InstrId>
        <EndToEndId>INV2026-187</EndToEndId>
        <TxId>BNPP-TXID-2026001</TxId>
        <UETR>1a2b3c4d-5e6f-7890-abcd-ef1234567890</UETR>
      </PmtId>
      <PmtTpInf>
        <SvcLvl><Cd>G002</Cd></SvcLvl>
      </PmtTpInf>
      <IntrBkSttlmAmt Ccy="EUR">12500.00</IntrBkSttlmAmt>
      <IntrBkSttlmDt>2026-05-15</IntrBkSttlmDt>
      <InstdAmt Ccy="EUR">12500.00</InstdAmt>
      <ChrgBr>DEBT</ChrgBr>
      <InstgAgt>
        <FinInstnId><BICFI>BNPAFRPP</BICFI></FinInstnId>
      </InstgAgt>
      <InstdAgt>
        <FinInstnId><BICFI>DEUTDEFF</BICFI></FinInstnId>
      </InstdAgt>
      <Dbtr>
        <Nm>ACME SARL</Nm>
        <PstlAdr>
          <StrtNm>12 rue de la Soie</StrtNm>
          <TwnNm>Lyon</TwnNm>
          <PstCd>69001</PstCd>
          <Ctry>FR</Ctry>
        </PstlAdr>
      </Dbtr>
      <DbtrAcct>
        <Id><IBAN>FR7630006000011234567890189</IBAN></Id>
      </DbtrAcct>
      <DbtrAgt>
        <FinInstnId><BICFI>BNPAFRPP</BICFI></FinInstnId>
      </DbtrAgt>
      <CdtrAgt>
        <FinInstnId><BICFI>DEUTDEFF</BICFI></FinInstnId>
      </CdtrAgt>
      <Cdtr>
        <Nm>Hans Mueller GmbH</Nm>
        <PstlAdr>
          <StrtNm>Hauptstrasse 12</StrtNm>
          <TwnNm>Frankfurt</TwnNm>
          <PstCd>60313</PstCd>
          <Ctry>DE</Ctry>
        </PstlAdr>
      </Cdtr>
      <CdtrAcct>
        <Id><IBAN>DE89370400440532013000</IBAN></Id>
      </CdtrAcct>
      <RmtInf>
        <Strd>
          <CdtrRefInf>
            <Tp><CdOrPrtry><Cd>SCOR</Cd></CdOrPrtry></Tp>
            <Ref>RF18INV2026187</Ref>
          </CdtrRefInf>
        </Strd>
      </RmtInf>
    </CdtTrfTxInf>
  </FIToFICstmrCdtTrf>
</Document>

Versions

VersionPublishedUsage
pacs.008.001.022009Historical SEPA SCT version. Still accepted for domestic SCT until November 2025.
pacs.008.001.082019Eurosystem T2 version (go-live March 2023).
pacs.008.001.102022CBPR+ version (go-live March 2023, end of coexistence November 2025). Introduces mandatory UETR, structured addresses, HVPS+ alignment.
pacs.008.001.112023Minor update published late 2023, progressively adopted.

Common pitfalls

  • Ill-formed UETR — strict UUID v4 (RFC 4122), 36 characters, lowercase, dashes. A hand-crafted value ("ABCDEF...") or a v1 UUID (clock-based) is rejected by SWIFTNet gateways.
  • BICFI vs BIC — the BICFI element strictly expects 8 or 11 characters. No implicit XXX. BNPAFRPP is valid, BNPAFRPPXXX is valid, but BNPAFRPP3 or BNPAFRPPXX is not.
  • Unstructured address — since CBPR+ Phase 3 (November 2025), free-text addresses (AdrLine) are replaced by the structured sub-elements (StrtNm, BldgNb, PstCd, TwnNm, Ctry). A message that mixes both is rejected.
  • Inconsistent SttlmMtdINDA implies banks settle via the instructed agent's nostro. COVE indicates a cover payment paired with a separate pacs.009. The choice must match the actual chain of correspondents.
  • IntrBkSttlmAmt vs InstdAmt mismatch without FX — if InstdAmt differs from IntrBkSttlmAmt without an XchgRate block, the message is rejected.
  • EndToEndId not carried verbatim — the EndToEndId from the customer's pain.001 must be copied verbatim into pacs.008 and stay unchanged along the chain. It's the identifier the beneficiary uses for reconciliation: altering it breaks the rapprochement.
  • Wrong ChrgBr — under SEPA SCT, SLEV. Under plain CBPR+, DEBT or SHAR. CRED is rare and technically discouraged. A wrong code triggers either a reject or unexpected charges to the beneficiary.

Mapping to MT103

pacs.008 is the direct equivalent of MT103 on the SWIFT network since November 2025. See the MT103 page for the full MT tag ↔ XML element correspondence table. Key reminders:

  • MT :32A:IntrBkSttlmDt + IntrBkSttlmAmt.
  • MT :33B:InstdAmt.
  • MT :50a:Dbtr + DbtrAcct.
  • MT :59a:Cdtr + CdtrAcct.
  • MT :70:RmtInf/Ustrd or Strd.
  • MT :71A:ChrgBr.
  • MT Block 3 :121:PmtId/UETR.
  • pacs.002 — FI to FI Payment Status Report. Confirms or rejects the settlement, transaction by transaction.
  • pacs.004 — Payment Return. Return of funds in case of a business rejection (closed account, unknown beneficiary…).
  • pacs.009 — Financial Institution Credit Transfer. The pure FI-to-FI counterpart with no customer involvement (MT202 equivalent).
  • camt.056 — FI to FI Payment Cancellation Request. Post-settlement cancellation request.
  • camt.029 — Resolution of Investigation. Reply to a cancellation request.
  • pain.001 — corporate-to-bank message whose transactions each generate a pacs.008.
  • MT103 — legacy ancestor on the SWIFT FIN network, retired for cross-border since November 2025.