ZagTrader

sese: Securities settlement

sese.024 Securities Settlement Transaction Status Advice

Written and maintained by ZagTrader. Last reviewed . How this page is sourced and checked

The sese.024 is the ISO 20022 status advice an account servicer (a custodian, CSD or T2S) sends to the account owner about a settlement instruction: whether it was accepted or rejected, whether it matched, and why it has not settled yet. It answers a sese.023 and is the ISO 20022 counterpart of the MT548. Operations teams read it to find out what is blocking a trade before the settlement date passes.

Message
SecuritiesSettlementTransactionStatusAdvice
Root element
SctiesSttlmTxStsAdvc
Common version
sese.024.001.12
MT equivalent
MT548

When sese.024 is used

Once the account servicer receives a sese.023, every change in the life of that instruction can produce a sese.024: accepted or rejected after validation, matched or unmatched against the counterparty, pending or failing settlement, cancelled. Some account servicers also send one on request or on a schedule, for example every morning for each instruction still open.

One sese.024 can report three status dimensions side by side: the processing status (PrcgSts), the matching status (MtchgSts) and the settlement status (SttlmSts). In the MT548 each of these is a separate STAT block with its own :25D: qualifier (IPRC, MTCH, SETT).

Each status can carry one or more reasons. A reason is a code from the ISO list for that status (Rsn/Cd/Cd, for example LACK), a proprietary code with its issuer (Rsn/Cd/Prtry), or the explicit statement that no reason is given (NoSpcfdRsn = NORE). Free text goes in AddtlRsnInf. Reading the reason, not just the status, is what tells operations whether to act or wait.

In T2S, T2S sends sese.024 messages to CSDs and directly connected participants as validation, matching and settlement take place; holds and releases (party hold, CSD hold) are reported the same way. Indirectly connected clients usually receive the same information from their CSD or custodian, as a sese.024 or translated into an MT548.

A status advice about a cancellation request is a different message (sese.027, the MX form of an MT548 with :23G:CAST). Settled instructions are confirmed in sese.025; a list of everything still pending is a statement of pending transactions (MT537).

Versions in common use

VersionWhere it is used
sese.024.001.12Used by T2S since release R2026.JUN (first business day 15 June 2026), replacing sese.024.001.10 (change request T2S-0809-SYS, ISO maintenance releases 2020 to 2024). Element paths on this page follow this version.
sese.024.001.14Latest version in the ISO 20022 model and the target of T2S release R2026.NOV (via sese.024.001.13; change requests T2S-0841-SYS and T2S-0859-SYS). Clearstream reports the deployment as postponed to business day 30 November 2026. It adds optional elements in TxDtls, such as the unique transaction identifier (UnqTxIdr).
sese.024.001.10The T2S version until R2026.JUN (ISO maintenance release 2019 basis).

sese.024 key elements

Paths are relative to Document/SctiesSttlmTxStsAdvc. Occurrence is from the base message (sese.024.001.12); market practice such as CBPR+ or a CSD’s rules can make an optional element mandatory or forbid it.

ElementOccursMeaning
TxIdTransaction Identification[1..1]Identifies the instruction the status is about.
AcctOwnrTxIdAccount Owner Transaction Identification[1..1]Your own reference from the instruction (TxId of the sese.023). Match status advices to instructions on this field.
AcctSvcrTxIdAccount Servicer Transaction Identification[0..1]The custodian’s or CSD’s reference for the instruction. Quote it when you call them.
MktInfrstrctrTxIdMarket Infrastructure Transaction Identification[0..1]The reference given by the market infrastructure (for example the T2S reference). Same as :20C::MITI in the MT548.
CtrPtyMktInfrstrctrTxIdCounterparty Market Infrastructure Transaction Identification[0..1]The infrastructure reference of the counterparty’s matched instruction.
CmonIdCommon Identification[0..1]The common reference both parties put in their instructions, if any.
PrcgStsProcessing Status[0..1]Where the instruction stands in the account servicer’s processing. A choice: exactly one of the statuses below.
AckdAccptdAcknowledged Accepted[0..1]The instruction passed validation and is accepted. MT548 :25D::IPRC//PACK.
PdgPrcgPending Processing[0..1]Received but not yet fully processed, for example waiting for a manual check. MT548 :25D::IPRC//PPRC.
RjctdRejected[0..1]The instruction will not be processed. MT548 :25D::IPRC//REJT. Fix and send a new instruction.
CdRejection Reason Code[0..1]Why it was rejected, for example SAFE (safekeeping account), DSEC (security), DDAT (settlement date), SETR (transaction type), LATE (deadline missed).
RprRepair[0..1]Accepted but held for repair by the account servicer. MT548 :25D::IPRC//REPR.
CancCancelled[0..1]The instruction has been cancelled. MT548 :25D::IPRC//CAND.
PdgCxlPending Cancellation[0..1]Your cancellation request is waiting, for example for the counterparty to cancel too. MT548 :25D::IPRC//CANP.
CxlReqdCancellation Requested[0..1]The counterparty has asked to cancel the matched transaction and is waiting for your cancellation. MT548 :25D::IPRC//CPRC.
ModReqdModification Requested[0..1]The counterparty has asked to modify the transaction. MT548 :25D::IPRC//MPRC.
PrtryProprietary[0..1]A status and reason defined by the account servicer, with the issuer named.
IfrrdMtchgStsInferred Matching Status[0..1]A matching status the account servicer derives itself rather than receives from the market. MT548 qualifier :25D::INMH.
MtchgStsMatching Status[0..1]Whether the instruction has matched the counterparty’s instruction. MT548 qualifier :25D::MTCH.
MtchdMatched[0..1]Matched (MACH). There is no ISO reason code list here, only an optional proprietary reason, so it is often sent as an empty <Mtchd/>.
UmtchdUnmatched[0..1]Not matched (NMAT). The reasons say which field differs or that no counterparty instruction was found.
CdUnmatched Reason Code[0..1]For example CMIS (no matching instruction found), DDAT (settlement date), DQUA (quantity), DSEC (security), DMON (amount), DEPT (place of settlement), ICAG (agent), DELN (direction), NMAS (no matching started).
AddtlRsnInfAdditional Reason Information[0..1]Free text, often the counterparty’s value of the field that differs. MT548 :70D::REAS.
SttlmStsSettlement Status[0..1]Whether a matched instruction can still settle on time. MT548 qualifier :25D::SETT.
PdgPending[0..1]Not settled yet, but settlement on the intended date is still possible (PEND).
CdPending Reason Code[0..1]What it is waiting for: FUTU (settlement date not reached), LACK (your securities), MONY (your cash), CLAC or CMON (counterparty short), PREA (your instruction on hold), PRCY (counterparty on hold), LINK (linked instruction), CSDH (CSD hold).
PrtryProprietary Pending Reason[0..1]A reason defined by the account servicer or market, with Id and Issr (for example a CSD-specific code).
FlngFailing[0..1]Settlement on the intended date is no longer possible (PENF). Same reason codes as pending, plus a few that only make sense after the date, such as CYCL.
CdFailing Reason Code[0..1]Why the instruction failed, for example LACK, CLAC, MONY, CMON or BLOC.
PrtryProprietary[0..1]A settlement status defined by the account servicer.
TxDtlsTransaction Details[0..1]A copy of the main data of the instruction, so the reader can identify the trade without looking it up.
SfkpgAcctSafekeeping Account[0..1]The securities account concerned.
FinInstrmIdFinancial Instrument Identification[1..1]The security (ISIN).
SttlmQtySettlement Quantity[1..1]The instructed quantity.
PrtlyRlsdQtyPartially Released Quantity[0..1]The part of an instruction on hold that has been released for settlement.
SttlmAmtSettlement Amount[0..1]The cash amount and direction (CdtDbtInd) of an against-payment instruction.
XpctdSttlmDtExpected Settlement Date[0..1]When the account servicer now expects settlement. MT548 :98a::EXSE.
SttlmDtSettlement Date[1..1]The intended settlement date of the instruction.
SctiesMvmntTpSecurities Movement Type[1..1]RECE or DELI, as instructed.
PmtPayment[1..1]FREE or APMT, as instructed.
SttlmParamsSettlement Parameters[1..1]At least the securities transaction type (SctiesTxTp, for example TRAD).
RcvgSttlmPtiesReceiving Settlement Parties[0..1]The receiving chain as instructed or as matched.
DlvrgSttlmPtiesDelivering Settlement Parties[0..1]The delivering chain as instructed or as matched.

Rules worth knowing

  • PrcgSts, MtchgSts and SttlmSts are each a choice: one status per dimension per message. To report two settlement reasons, repeat Rsn inside the one status, not the status itself.
  • Reason code lists depend on the status. In sese.024.001.12, for example, CYCL is in the failing reason list but not in the pending one, and Mtchd has no ISO reason list at all. A code that is valid in an MT548 under one qualifier can be invalid in the MX under another status.
  • The MT548 code NARR (see narrative) has no MX code: the text goes in AddtlRsnInf. Where the MT548 has no reason sequence, the MX uses NoSpcfdRsn with NORE.
  • Partial release of an instruction on hold has its own pending and failing reason code, PREL, which T2S introduced through change request T2S-0823-SYS (part of release R2026.JUN). The quantity released can be shown in TxDtls/PrtlyRlsdQty.
  • The Document carries no message reference of its own. The ID of the advice itself is in the business application header; the instruction is identified by TxId/AcctOwnrTxId.

sese.024 XML example

The custodian CUSTAEADXXX reports on the morning of 22 October 2026 on the delivery instructed in the sese.023 example: 10,000 shares of AEZAGT000016 to BANKAEADXXX at CSDXAEADXXX against AED 254,500.00. The instruction is accepted and matched, but pending because only 6,000 shares are in the account (lack of securities). In MT terms this is an MT548 with three STAT blocks: IPRC//PACK, MTCH//MACH and SETT//PEND with reason LACK.

<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:sese.024.001.12">
  <SctiesSttlmTxStsAdvc>
    <TxId>
      <AcctOwnrTxId>ZTDEL2610200001</AcctOwnrTxId>
      <AcctSvcrTxId>CUST2610-778812</AcctSvcrTxId>
      <MktInfrstrctrTxId>CSDX261021004417</MktInfrstrctrTxId>
    </TxId>
    <PrcgSts>
      <AckdAccptd>
        <NoSpcfdRsn>NORE</NoSpcfdRsn>
      </AckdAccptd>
    </PrcgSts>
    <MtchgSts>
      <Mtchd/>
    </MtchgSts>
    <SttlmSts>
      <Pdg>
        <Rsn>
          <Cd>
            <Cd>LACK</Cd>
          </Cd>
          <AddtlRsnInf>6000 UNITS AVAILABLE, 10000 REQUIRED</AddtlRsnInf>
        </Rsn>
      </Pdg>
    </SttlmSts>
    <TxDtls>
      <SfkpgAcct>
        <Id>ZAG-SAFE-0001</Id>
      </SfkpgAcct>
      <FinInstrmId>
        <ISIN>AEZAGT000016</ISIN>
      </FinInstrmId>
      <SttlmQty>
        <Qty>
          <Unit>10000</Unit>
        </Qty>
      </SttlmQty>
      <SttlmAmt>
        <Amt Ccy="AED">254500.00</Amt>
        <CdtDbtInd>CRDT</CdtDbtInd>
      </SttlmAmt>
      <SttlmDt>
        <Dt>
          <Dt>2026-10-22</Dt>
        </Dt>
      </SttlmDt>
      <TradDt>
        <Dt>
          <Dt>2026-10-20</Dt>
        </Dt>
      </TradDt>
      <SctiesMvmntTp>DELI</SctiesMvmntTp>
      <Pmt>APMT</Pmt>
      <SttlmParams>
        <SctiesTxTp>
          <Cd>TRAD</Cd>
        </SctiesTxTp>
      </SttlmParams>
      <RcvgSttlmPties>
        <Dpstry>
          <Id>
            <AnyBIC>CSDXAEADXXX</AnyBIC>
          </Id>
        </Dpstry>
        <Pty1>
          <Id>
            <AnyBIC>BANKAEADXXX</AnyBIC>
          </Id>
        </Pty1>
      </RcvgSttlmPties>
    </TxDtls>
  </SctiesSttlmTxStsAdvc>
</Document>
Decode this example in the parser

AcctOwnrTxId is the TxId of the original sese.023, so the advice can be matched to the instruction automatically.

Three statuses in one message: accepted (AckdAccptd, no reason), matched (Mtchd), pending with LACK. The MT548 needs three :25D: lines in three STAT blocks to say the same.

Pending, not failing: settlement on 22 October is still possible if the shares arrive. If the date passes without settlement the next advice moves to Flng (PENF). Because the instruction allows partial settlement, the 6,000 shares available can settle first; see the sese.025 example.

The BICs, references, accounts and ISIN are made up.

sese.024 and its MT equivalent

The MT equivalent is the MT548 Settlement Status and Processing Advice with :23G:INST (status of an instruction). An MT548 with :23G:CAST (status of a cancellation request) corresponds to sese.027 instead. The MT548 puts each status in its own repeating STAT block (:25D: with a qualifier) and each reason in a REAS sub-block (:24B: with the same qualifier as the status, plus optional :70D::REAS narrative). The sese.024 groups them by dimension under PrcgSts, MtchgSts and SttlmSts.

Securities messages were not part of Swift’s November 2025 ISO 20022 deadline for payments; MT548 remains in use on FIN, while T2S and its directly connected participants receive sese.024. Many custodians therefore generate both from the same status events. See ISO 20022 migration: securities versus payments.

ISO 20022 elementMT fieldNote
AppHdr/BizMsgIdr (business application header):20C::SEME//The advice’s own reference is not in the Document.
TxId/AcctOwnrTxId:20C::RELA// (sequence A1)Reference of the instruction being reported on.
TxId/MktInfrstrctrTxId:20C::MITI// (sequence A1)
TxId/CmonId:20C::COMM// (sequence A1)
PrcgSts/AckdAccptd:25D::IPRC//PACK
PrcgSts/PdgPrcg:25D::IPRC//PPRC
PrcgSts/Rjctd:25D::IPRC//REJT
PrcgSts/Rpr:25D::IPRC//REPR
PrcgSts/Canc:25D::IPRC//CAND
PrcgSts/PdgCxl:25D::IPRC//CANP
PrcgSts/CxlReqd:25D::IPRC//CPRC
PrcgSts/ModReqd:25D::IPRC//MPRC
MtchgSts/Mtchd:25D::MTCH//MACH
MtchgSts/Umtchd:25D::MTCH//NMAT
IfrrdMtchgSts/Mtchd or Umtchd:25D::INMH//MACH or NMAT
SttlmSts/Pdg:25D::SETT//PEND
SttlmSts/Flng:25D::SETT//PENF
<status>/Rsn/Cd/Cd:24B::<status code>//<reason>For example SttlmSts/Pdg/Rsn/Cd/Cd = LACK is :24B::PEND//LACK.
<status>/Rsn/Cd/Prtry (Id, Issr):24B::<status code>/<issuer>/<reason>Reason with a data source scheme.
<status>/Rsn/AddtlRsnInf:70D::REAS//
<status>/NoSpcfdRsn = NORENo REAS sequence
TxDtls/FinInstrmId:35B: (sequence B)
TxDtls/SttlmQty:36B::SETT// (sequence B)
TxDtls/SttlmAmt:19A::SETT// (sequence B)
TxDtls/SfkpgAcct:97A::SAFE// (sequence B)
TxDtls/SctiesMvmntTp and TxDtls/Pmt:22H::REDE//RECE or DELI and :22H::PAYM//FREE or APMT
TxDtls/SttlmParams/SctiesTxTp:22F::SETR//
TxDtls/SttlmDt and TxDtls/XpctdSttlmDt:98a::SETT// and :98a::EXSE//
TxDtls/RcvgSttlmPties and DlvrgSttlmPtiesSequence B1 SETPRTY: :95a::REAG, DEAG, BUYR, SELL, PSET

Common errors and rejects

  1. Rejected (REJT): instruction never entered processing

    Read PrcgSts/Rjctd/Rsn. Common codes: SAFE (account unknown or not allowed), DSEC (ISIN), DDAT (date), DQUA (quantity), SETR (transaction type), LATE or ADEA (deadline). A rejected instruction is dead: correct it and send a new one with a new reference.

    How to fix it
  2. Unmatched (NMAT) close to settlement date

    The reason code names the differing field. CMIS means the counterparty has not instructed: ask your broker or the counterparty to instruct. Field mismatches (DDAT, DQUA, DMON, ICAG) need one side to cancel and re-instruct.

    How to fix it
  3. Pending with LACK on the delivery side

    Your account does not hold enough securities. Check incoming receipts that should settle first, recalls of lent securities and blocked positions (SBLO). If the instruction allows partial settlement, the available part may settle.

    How to fix it
  4. Failing (PENF) after the settlement date

    The trade missed its intended date. Find the reason (for example LACK, CLAC, MONY), agree a fix with the counterparty and watch for buy-in rules and settlement fail penalties where your market applies them.

    How to fix it
  5. Instruction on hold (PREA, PRCY, CSDH)

    Matched but not settling because an instruction is on hold: PREA yours, PRCY the counterparty’s, CSDH a hold set by the CSD. Release your own hold or ask the counterparty or CSD to release theirs before the cut-off.

    How to fix it
  6. Reason code not accepted when translating from MT548

    A converter that copies every :24B: code into the MX can produce an invalid sese.024: reason lists are specific to each status in the MX, and NARR does not exist. Map narrative to AddtlRsnInf and check each code against the list for that status in the version you send.

sese.024 questions

What is the difference between sese.024 and MT548?
They report the same thing. The MT548 uses one STAT block per status (:25D::IPRC, MTCH, SETT) and :24B: for reasons. The sese.024 groups the statuses under PrcgSts, MtchgSts and SttlmSts, uses code lists specific to each status, and puts the instruction’s reference in TxId/AcctOwnrTxId.
What is the difference between pending and failing in sese.024?
SttlmSts/Pdg (PEND) means the instruction has not settled but can still settle on its intended date. SttlmSts/Flng (PENF) means settlement on that date is no longer possible. The reason codes in both say what is missing.
Where is the reason code in a sese.024?
Under the status it explains: for example SttlmSts/Pdg/Rsn/Cd/Cd for a pending reason, MtchgSts/Umtchd/Rsn/Cd/Cd for an unmatched reason, PrcgSts/Rjctd/Rsn/Cd/Cd for a rejection. A market-specific code sits in Rsn/Cd/Prtry with its issuer, and text in Rsn/AddtlRsnInf.
Which sese.024 version does T2S send?
sese.024.001.12 since release R2026.JUN (business day 15 June 2026), replacing sese.024.001.10. Release R2026.NOV moves T2S to sese.024.001.14; Clearstream reports that deployment for business day 30 November 2026.
Does a sese.024 report a cancellation request?
It reports the effect on the instruction, for example cancelled (PrcgSts/Canc) or cancellation pending (PrcgSts/PdgCxl). The status of the cancellation request message itself is a sese.027, the MX form of an MT548 with :23G:CAST.

The trading side of the trade: FIX

Before a settlement instruction is sent, the trade is usually executed, allocated and confirmed over FIX, and the instruction must copy what was agreed there. Read those messages on the free ZagTrader FIX Parser:

All ISO 20022 messages · MT messages · MT to ISO 20022 migration