Category 5: Securities markets
MT548 Settlement Status and Processing Advice
Written and maintained by ZagTrader. Last reviewed . How this page is sourced and checked
The MT548 is the status message a custodian or CSD participant sends to its client about a securities settlement instruction: whether the instruction was accepted or rejected, whether it has matched with the counterparty, and whether it is pending or failing settlement, each with a coded reason. The account servicer sends it to the account owner after an MT540, MT541, MT542 or MT543 (or a request to cancel one), every time the status changes, until settlement is confirmed by an MT544 to MT547.
- Message type
- MT548
- Category
- 5
- Structure
- 17 sequences, 83 fields listed
When MT548 is used
An account owner (a broker, investment manager, bank or global custodian) instructs its account servicer with an MT540 to MT543. From that moment the account servicer reports what happens to the instruction in MT548 messages: first whether it accepted the instruction, then whether the market matched it with the counterparty’s instruction, then, around the settlement date, whether settlement is pending or failing and why. Settlement itself is not reported in an MT548: it is confirmed by MT544, MT545, MT546 or MT547. Most account servicers send an MT548 on every change of status without being asked; the account owner can also request one with an MT549.
Field 23G says what the advice is about. INST reports on an instruction. CAST reports on a cancellation request, that is an MT540 to MT543 with 23G CANC, and carries 25D::CPRC. A subfunction can mark a COPY sent to a third party or a DUPL re-send.
The MT548 is tied to your instruction by references. The LINK sequence carries 20C::RELA with the 20C::SEME of the instruction (or of the cancellation request for CAST), usually with :13A::LINK//543 or the relevant message type next to it. Other LINK blocks can add the market infrastructure reference (MITI, for example the T2S or CSD transaction id) and the processor reference (PCTI). Optional sequence B repeats the key trade details (ISIN, quantity, amount, account, dates, direction and payment type), which helps when RELA cannot be found.
Each status sits in a STAT block (sequence A2). Field 25D gives a qualifier and a code: the qualifier says which dimension the status describes (IPRC instruction processing, MTCH matching, SETT settlement, CPRC cancellation, and a few more) and the code gives the status (PACK, NMAT, PEND and so on). Reasons sit in REAS blocks (sequence A2a) inside the STAT block: field 24B repeats the status code as its qualifier and adds the reason, for example :24B::PEND//LACK, and 70D::REAS can add free text.
A typical lifecycle for a delivery against payment: PACK (instruction accepted), NMAT with CMIS (no counterparty instruction yet), MACH (matched), PEND with FUTU (waiting for the settlement date), then either settlement confirmed by MT547 or a problem: PEND with LACK (your account is short of securities) while settlement on the intended date is still possible, and PENF (failing) once it is not. An unmatched instruction can show differences such as DDAT (settlement date) or DMON (amount); a rejected one comes as REJT with a reason like SAFE or DSEC. See the securities settlement lifecycle.
The MT548 does not report allegements. When a counterparty’s instruction is waiting for yours, the account servicer reports it in an MT578 Settlement Allegement. The MT537 Statement of Pending Transactions gives the same statuses for all open instructions at once.
MT548 format: sequences and fields
Sequence AGeneral InformationMandatory
Identifies the advice and what it reports on, and holds the linkages and the statuses.
| Tag | Qualifier | Name | Status | Format | Meaning |
|---|---|---|---|---|---|
| 16R | Start of block | M | GENL | Opens the General Information block. | |
| 20C | SEME | Sender's Message Reference | M | :4!c//16x | The account servicer’s reference for this status advice. |
| 23G | Function of the Message | M | 4!c[/4!c] | INST: status of an instruction. CAST: status of a cancellation request. Optional subfunction COPY (copy for a third party), DUPL (duplicate re-send) or CODU (copy of a duplicate). | |
| 98a | PREP | Preparation Date/Time | O | A: :4!c//8!n C: :4!c//8!n6!n E: :4!c//8!n6!n[,3n][/[N]2!n[2!n]] | When the advice was prepared. Use it to keep only the latest status when several advices for the same instruction arrive close together. |
| 16S | End of block | M | GENL | Closes the General Information block. |
Sequence A1LinkagesMandatory, repeatable
At least one LINK block. Each block holds one 20C reference; the qualifier is a choice. Only the commonly used qualifiers are listed.
| Tag | Qualifier | Name | Status | Format | Meaning |
|---|---|---|---|---|---|
| 16R | Start of block | M | LINK | Opens the Linkages block. | |
| 13a | LINK | Linked Message | O | A: :4!c//3!c B: :4!c/[8c]/30x | Message type of the linked message, for example :13A::LINK//541. |
| 20C | RELA | Related Reference | C | :4!c//16x | The 20C::SEME of the instruction (MT540 to MT543) this advice reports on, or of the cancellation request when 23G is CAST. This is the key to match the advice to your instruction. |
| 20C | MITI | Market Infrastructure Transaction Identification | O | :4!c//16x | The transaction id given by the market infrastructure, for example T2S or the CSD. Quote it when you investigate with the market. |
| 20C | PCTI | Processor Transaction Identification | O | :4!c//16x | Reference of a processor other than the account owner, the account servicer and the market infrastructure. |
| 20C | COMM | Common Reference | O | :4!c//16x | The common reference agreed by the trade counterparties. |
| 20C | TRRF | Deal Reference | O | :4!c//16x | The deal reference of the investment manager or broker. |
| 20C | POOL | Pool Reference | O | :4!c//16x | Reference of a group of instructions that belong together. |
| 16S | End of block | M | LINK | Closes the Linkages block. |
Sequence A2StatusMandatory, repeatable
One STAT block per status. 25D is mandatory in every block and its qualifier is a choice: one row per qualifier below, with the status codes it allows. Repeat the block to report several dimensions (for example matched and pending) in one advice.
| Tag | Qualifier | Name | Status | Format | Meaning |
|---|---|---|---|---|---|
| 16R | Start of block | M | STAT | Opens the Status block. | |
| 25D | IPRC | Instruction Processing Status | C | :4!c/[8c]/4!c | What the account servicer did with the instruction: PACK accepted, REJT rejected, REPR accepted but in repair, PPRC processing pending, CAND cancelled, CANP your cancellation pending, CGEN transaction generated by the account servicer or a third party, CPRC the counterparty asked to cancel and waits for your cancellation, MPRC the counterparty asked to modify. |
| 25D | MTCH | Matching Status | C | :4!c/[8c]/4!c | MACH matched with the counterparty’s instruction, or NMAT not matched. |
| 25D | INMH | Inferred Matching Status | C | :4!c/[8c]/4!c | Same codes as MTCH (MACH, NMAT), used when the account servicer derives the matching status indirectly instead of receiving it from a matching facility. |
| 25D | SETT | Settlement Status | C | :4!c/[8c]/4!c | PEND pending: settlement on the intended settlement date is still possible. PENF pending/failing: settlement on that date is no longer possible. |
| 25D | CPRC | Cancellation Processing Status | C | :4!c/[8c]/4!c | Used with 23G CAST to report on your cancellation request: PACK accepted, REJT rejected, CANP pending, CAND cancellation completed, DEND denied (will not be executed, for example because the instruction already settled). |
| 25D | TPRC | Processing Change Command Status | C | :4!c/[8c]/4!c | Status of a request to change an instruction, such as a hold or release sent with an MT530: PACK, REJT, MOPN modification pending, MODC modification completed, DEND denied. |
| 25D | CALL | Repo Call Request Status | C | :4!c/[8c]/4!c | Status of a repo call request: CACK acknowledged/accepted or DEND denied. |
| 25D | SPRC | Request for Statement/Status Advice Status | C | :4!c/[8c]/4!c | Only REJT: your MT549 request for a statement or status advice was rejected. |
| 16S | End of block | M | STAT | Closes the Status block. |
Sequence A2aReasonOptional, repeatable
Inside a STAT block. The 24B qualifier is the status code being explained (PEND, NMAT, REJT and so on); one row per qualifier, with frequent reason codes. A status can carry several REAS blocks.
| Tag | Qualifier | Name | Status | Format | Meaning |
|---|---|---|---|---|---|
| 16R | Start of block | M | REAS | Opens the Reason block. | |
| 24B | PEND | Pending Reason | C | :4!c/[8c]/4!c | Why settlement is pending. Your side: LACK not enough securities, MONY not enough cash or credit, PREA your instruction on hold, BLOC account blocked, YCOL collateral shortage, LALO securities on loan. Counterparty side: CLAC they lack securities, CMON they lack cash, PRCY their instruction on hold, BOTH both on hold. Neutral: FUTU awaiting settlement date, CYCL awaiting next settlement cycle, LINK waiting for a linked instruction, CSDH or CVAL held by the CSD, PART settling in partials. |
| 24B | PENF | Pending/Failing Reason | C | :4!c/[8c]/4!c | Why settlement is failing. Mostly the same codes as PEND (LACK, CLAC, MONY, CMON, PREA, PRCY), plus codes only seen on fails such as BYIY (buy-in started) and MLAT (cash or securities arrived too late), and CLAT (counterparty too late). |
| 24B | NMAT | Unmatched Reason | C | :4!c/[8c]/4!c | Why the instruction has not matched: CMIS no counterparty instruction found, or a disagreement on a matching field: DDAT settlement date, DTRD trade date, DQUA quantity, DMON amount, NCRR amount currency, DSEC security, DELN direction, DDEA price, DEPT place of settlement, ICAG counterparty agent, ICUS custodian, IEXE buyer or seller, SETR transaction type, SAFE safekeeping account, ACRU accrued interest. Also CPCA counterparty cancelled, CLAT counterparty too late for matching, PODU possible duplicate, NMAS matching not started. |
| 24B | REJT | Rejection Reason | C | :4!c/[8c]/4!c | Why the instruction or request was rejected: SAFE unknown or invalid safekeeping account, DSEC unknown security, DDAT invalid settlement date, DQUA invalid quantity, DMON invalid amount, DEPT invalid place of settlement, ICAG invalid agent, SETR invalid transaction type, LATE after the market deadline, ADEA after the account servicer’s deadline, REFE duplicate reference, NRGN instruction to cancel not found. |
| 24B | REPR | Repair Reason | C | :4!c/[8c]/4!c | Which data is being repaired: the same kind of codes as for rejection, for example DDAT, DSEC, ICAG or SAFE. |
| 24B | PACK | Acknowledgement Reason | C | :4!c/[8c]/4!c | Rare: ADEA accepted after the account servicer’s deadline (best effort), SMPG accepted although it does not follow market practice, or NARR. |
| 24B | PPRC | Pending Processing Reason | C | :4!c/[8c]/4!c | Why the account servicer has not passed the instruction on yet, for example LACK, MONY, BLOC or DOCY (documents awaited from you). |
| 24B | CAND | Cancellation Reason | C | :4!c/[8c]/4!c | Who or what cancelled: CANI at your request, CANS by the settlement system, CSUB by the agent, CTHP by a third party, EXPI expired, CANZ replaced to allow partial settlement, CANT replaced after a transformation. |
| 24B | CANP | Pending Cancellation Reason | C | :4!c/[8c]/4!c | Why a cancellation is still pending, for example CONF awaiting the counterparty’s cancellation (bilateral cancellation of a matched instruction). |
| 24B | DEND | Denied Reason | C | :4!c/[8c]/4!c | Why a cancellation or change was denied: DSET already settled, DCAN already cancelled, DPRG settlement in progress, LATE after the deadline. |
| 24B | CGEN | Generated Reason | C | :4!c/[8c]/4!c | Why a transaction was generated for you: CLAI market claim, TRAN transformation after a corporate action, SPLI split to allow settlement, THRD generated by a third party such as a CCP. |
| 70D | REAS | Reason Narrative | O | :4!c//6*35x | Free text that explains the reason. Expected when the reason code is NARR. |
| 16S | End of block | M | REAS | Closes the Reason block. |
Sequence BSettlement Transaction DetailsOptional
Optional, but when present the security, quantity, account, transaction type, direction, payment type and settlement date are mandatory. Many account servicers send it so the advice can be read on its own.
| Tag | Qualifier | Name | Status | Format | Meaning |
|---|---|---|---|---|---|
| 16R | Start of block | M | SETTRAN | Opens the Settlement Transaction Details block. | |
| 94a | SAFE | Place of SafekeepingRepeatable | O | B: :4!c/[8c]/4!c[/30x] C: :4!c//2!a F: :4!c//4!c/4!a2!a2!c[3!c] L: :4!c//18!c2!n | Where the securities are held. |
| 35B | Identification of the Financial Instrument | M | [ISIN1!e12!c] [4*35x] | The security of the instruction: ISIN and the ISIN, optionally with a description. | |
| 36B | SETT | Quantity of Financial Instrument to be SettledRepeatable | M | :4!c//4!c/15d | The quantity of the instruction: UNIT for shares and units, FAMT for face amount. Recent releases also allow option D (:4!c//4!c/30d) with DITU for digital token units. |
| 19A | SETT | Settlement Amount | O | :4!c//[N]3!a15d | The cash amount of an against payment instruction. |
| 95a | ACOW | Account Owner | O | P: :4!c//4!a2!a2!c[3!c] R: :4!c/8c/34x | Owner of the safekeeping account, when it is not the receiver of the advice. |
| 97a | SAFE | Safekeeping Account | M | A: :4!c//35x B: :4!c/[8c]/4!c/35x | The securities account of the instruction. Recent releases allow a blockchain address or wallet (97D::BCAW, :4!c/[8c]/140x) in its place. |
| 22F | SETR | Type of Settlement Transaction Indicator | M | :4!c/[8c]/4!c | Transaction type from the instruction, for example TRAD. |
| 22H | REDE | Receive/Deliver Indicator | M | :4!c//4!c | RECE for a receipt, DELI for a delivery. |
| 22H | PAYM | Payment Indicator | M | :4!c//4!c | APMT against payment or FREE free of payment. With REDE this tells you which of the MT540 to MT543 the advice relates to. |
| 22F | STCO | Settlement Transaction Condition IndicatorRepeatable | O | :4!c/[8c]/4!c | Conditions from the instruction, for example NPAR (no partial settlement). |
| 98a | SETT | Settlement Date/Time | M | A: :4!c//8!n B: :4!c/[8c]/4!c C: :4!c//8!n6!n | The intended settlement date of the instruction. |
| 98a | TRAD | Trade Date/Time | O | A: :4!c//8!n B: :4!c/[8c]/4!c C: :4!c//8!n6!n E: :4!c//8!n6!n[,3n][/[N]2!n[2!n]] | The trade date. |
| 98a | ASTS | Acknowledged Status Timestamp | O | C: :4!c//8!n6!n E: :4!c//8!n6!n[,3n][/[N]2!n[2!n]] | When the instruction was acknowledged (accepted) by the account servicer or the market. |
| 98a | MTCH | Matched Status Timestamp | O | C: :4!c//8!n6!n E: :4!c//8!n6!n[,3n][/[N]2!n[2!n]] | When the instruction matched. Useful to check late matching, which can lead to penalties. |
| 98a | EXSE | Expected Settlement Date/Time | O | A: :4!c//8!n C: :4!c//8!n6!n | When the account servicer now expects the instruction to settle, useful on failing trades. |
| 98a | ADEL | Late Delivery Date/Time | O | A: :4!c//8!n C: :4!c//8!n6!n | Date and time of a late delivery. |
| 70E | SPRO | Settlement Instruction Processing Narrative | O | :4!c//10*35x | Free text about the processing of the instruction. |
| 16S | End of block | M | SETTRAN | Closes the Settlement Transaction Details block. |
Sequence B1Settlement PartiesOptional, repeatable
The settlement chain from the instruction. Only the commonly used qualifiers are listed.
| Tag | Qualifier | Name | Status | Format | Meaning |
|---|---|---|---|---|---|
| 16R | Start of block | M | SETPRTY | Opens the Settlement Parties block. | |
| 95a | PSET | Place of Settlement | O | C: :4!c//2!a P: :4!c//4!a2!a2!c[3!c] Q: :4!c//4*35x | The CSD or ICSD where the instruction settles. |
| 95a | DEAG | Delivering Agent | O | P: :4!c//4!a2!a2!c[3!c] Q: :4!c//4*35x R: :4!c/8c/34x | The delivering participant (the counterparty on a receipt). |
| 95a | REAG | Receiving Agent | O | P: :4!c//4!a2!a2!c[3!c] Q: :4!c//4*35x R: :4!c/8c/34x | The receiving participant (the counterparty on a delivery). |
| 97a | SAFE | Safekeeping Account | C | A: :4!c//35x B: :4!c/[8c]/4!c/35x | Account of the party in this block. |
| 20C | PROC | Processing Reference | O | :4!c//16x | A reference this party gave the transaction. |
| 16S | End of block | M | SETPRTY | Closes the Settlement Parties block. |
Sequence CPenaltiesOptional
Added to the MT548 for reporting cash penalties that a CSD calculates on instructions that matched late or failed to settle (in the EU, the CSDR settlement discipline regime). Penalties are also reported in the MT537. Sequences C to C1a1B1a1 are shown at field level only; their qualifiers and codes follow your CSD’s or custodian’s penalty guide.
| Tag | Qualifier | Name | Status | Format | Meaning |
|---|---|---|---|---|---|
| 16R | Start of block | M | PENA | Opens the Penalties block. | |
| 69a | Period | O | A: :4!c//8!n/8!n B: :4!c//8!n6!n/8!n6!n | The period the penalty report covers. | |
| 22F | Indicator | M | :4!c/[8c]/4!c | Coded indicator that qualifies the penalty report. | |
| 95a | Party | O | P: :4!c//4!a2!a2!c[3!c] L: :4!c//18!c2!n | A party for the whole penalty report, by BIC or LEI. | |
| 16S | End of block | M | PENA | Closes the Penalties block. |
Sequence C1Penalties per Currency for a PartyOptional
Groups the penalties of one party in one currency.
| Tag | Qualifier | Name | Status | Format | Meaning |
|---|---|---|---|---|---|
| 16R | Start of block | M | PENACUR | Opens the Penalties per Currency for a Party block. | |
| 11A | Currency | O | :4!c//3!a | Currency of the penalties in this group. | |
| 98a | Date/Time | O | A: :4!c//8!n C: :4!c//8!n6!n | A date that applies to the penalties in this group. | |
| 95a | PartyRepeatable | M | P: :4!c//4!a2!a2!c[3!c] Q: :4!c//4*35x R: :4!c/8c/34x | The party whose penalties are reported. | |
| 22F | Indicator | M | :4!c/[8c]/4!c | Coded indicator for this group of penalties. | |
| 16S | End of block | M | PENACUR | Closes the Penalties per Currency for a Party block. |
Sequence C1aPenalties per CounterpartyOptional
Groups the penalties per counterparty, with an amount for the group.
| Tag | Qualifier | Name | Status | Format | Meaning |
|---|---|---|---|---|---|
| 16R | Start of block | M | PENACOUNT | Opens the Penalties per Counterparty block. | |
| 95a | PartyRepeatable | M | P: :4!c//4!a2!a2!c[3!c] Q: :4!c//4*35x R: :4!c/8c/34x | The counterparty the penalties relate to. | |
| 22F | Indicator | M | :4!c/[8c]/4!c | Coded indicator for this counterparty group. | |
| 19A | Amount | M | :4!c//[N]3!a15d | Amount for this counterparty group. | |
| 16S | End of block | M | PENACOUNT | Closes the Penalties per Counterparty block. |
Sequence C1a1Penalty DetailsOptional, repeatable
One block per penalty.
| Tag | Qualifier | Name | Status | Format | Meaning |
|---|---|---|---|---|---|
| 16R | Start of block | M | PENDET | Opens the Penalty Details block. | |
| 20C | ReferenceRepeatable | M | :4!c//16x | References that identify the penalty. | |
| 22H | IndicatorRepeatable | M | :4!c//4!c | Coded indicators that describe the penalty. | |
| 25D | Status | O | :4!c/[8c]/4!c | Status of the penalty. | |
| 24B | Reason | O | :4!c/[8c]/4!c | Reason for the penalty status. | |
| 19A | Amount | M | :4!c//[N]3!a15d | Amount of the penalty. | |
| 99A | Number Count | M | :4!c//[N]3!n | A count that belongs to the penalty. | |
| 16S | End of block | M | PENDET | Closes the Penalty Details block. |
Sequence C1a1ACalculation DetailsOptional, repeatable
How the penalty was calculated, per calculation date.
| Tag | Qualifier | Name | Status | Format | Meaning |
|---|---|---|---|---|---|
| 16R | Start of block | M | CALDET | Opens the Calculation Details block. | |
| 98a | Date/Time | M | A: :4!c//8!n C: :4!c//8!n6!n E: :4!c//8!n6!n[,3n][/[N]2!n[2!n]] | The date the calculation applies to. | |
| 19A | Amount | O | :4!c//[N]3!a15d | Amounts used in or produced by the calculation. | |
| 16S | End of block | M | CALDET | Closes the Calculation Details block. |
Sequence C1a1A1Financial Instrument AttributesOptional
The security and its attributes used in the calculation.
| Tag | Qualifier | Name | Status | Format | Meaning |
|---|---|---|---|---|---|
| 16R | Start of block | M | FIA | Opens the Financial Instrument Attributes block. | |
| 35B | Identification of the Financial Instrument | M | [ISIN1!e12!c] [4*35x] | The security the penalty was calculated on. | |
| 90a | Price | O | A: :4!c//4!c/[N]15d B: :4!c//4!c/3!a15d | Price used in the calculation. | |
| 16S | End of block | M | FIA | Closes the Financial Instrument Attributes block. |
Sequence C1a1BRelated TransactionOptional
The settlement instruction the penalty relates to.
| Tag | Qualifier | Name | Status | Format | Meaning |
|---|---|---|---|---|---|
| 16R | Start of block | M | RELTRAN | Opens the Related Transaction block. | |
| 20C | ReferenceRepeatable | M | :4!c//16x | References of the related instruction, so the penalty can be tied back to your MT540 to MT543. | |
| 16S | End of block | M | RELTRAN | Closes the Related Transaction block. |
Sequence C1a1B1Transaction DetailsOptional
Key details of the related instruction. A few fields shown.
| Tag | Qualifier | Name | Status | Format | Meaning |
|---|---|---|---|---|---|
| 16R | Start of block | M | TRAN | Opens the Transaction Details block. | |
| 22a | IndicatorRepeatable | M | F: :4!c/[8c]/4!c H: :4!c//4!c | Indicators of the related instruction, such as its direction and payment type. | |
| 98a | Date/TimeRepeatable | M | A: :4!c//8!n B: :4!c/[8c]/4!c C: :4!c//8!n6!n E: :4!c//8!n6!n[,3n][/[N]2!n[2!n]] | Dates of the related instruction, such as its intended settlement date. | |
| 36B | Quantity of Financial InstrumentRepeatable | M | :4!c//4!c/15d | Quantity of the related instruction. | |
| 19A | Amount | O | :4!c//[N]3!a15d | Amount of the related instruction. | |
| 16S | End of block | M | TRAN | Closes the Transaction Details block. |
Sequence C1a1B1aStatusOptional, repeatable
Status of the related instruction.
| Tag | Qualifier | Name | Status | Format | Meaning |
|---|---|---|---|---|---|
| 16R | Start of block | M | STAT | Opens the Status block. | |
| 25D | Status | M | :4!c/[8c]/4!c | Status of the related instruction, in the same form as in sequence A2. | |
| 16S | End of block | M | STAT | Closes the Status block. |
Sequence C1a1B1a1ReasonOptional, repeatable
Reason for the status of the related instruction.
| Tag | Qualifier | Name | Status | Format | Meaning |
|---|---|---|---|---|---|
| 16R | Start of block | M | REAS | Opens the Reason block. | |
| 24B | Reason | M | :4!c/[8c]/4!c | Reason code, in the same form as in sequence A2a. | |
| 70D | Narrative | O | :4!c//6*35x | Free text about the reason. | |
| 16S | End of block | M | REAS | Closes the Reason block. |
Sequence DAdditional InformationOptional, repeatable
Other parties related to the advice.
| Tag | Qualifier | Name | Status | Format | Meaning |
|---|---|---|---|---|---|
| 16R | Start of block | M | ADDINFO | Opens the Additional Information block. | |
| 95a | MEOR | Originator of Message | O | P: :4!c//4!a2!a2!c[3!c] Q: :4!c//4*35x R: :4!c/8c/34x | The party that originated the instruction, when sent through a service bureau or platform. |
| 95a | MERE | Recipient of Message | O | P: :4!c//4!a2!a2!c[3!c] Q: :4!c//4*35x R: :4!c/8c/34x | The party the advice is ultimately meant for. |
| 95a | INVE | Investor | O | C: :4!c//2!a P: :4!c//4!a2!a2!c[3!c] Q: :4!c//4*35x R: :4!c/8c/34x | The investor, where the market requires it. |
| 16S | End of block | M | ADDINFO | Closes the Additional Information block. |
Format notation: n digits, a upper-case letters, c upper-case letters and digits, x any character of the Swift character set, d a decimal number with a comma, ! fixed length, [ ] optional, 4*35x up to 4 lines of 35 characters. M mandatory, O optional, C conditional (a rule decides).
Rules worth knowing
- The 24B qualifier is the status code it explains, in the same STAT block:
:25D::SETT//PENDis explained by:24B::PEND//...,:25D::MTCH//NMATby:24B::NMAT//...,:25D::IPRC//REJTby:24B::REJT//...and:25D::CPRC//DENDby:24B::DEND//.... - The reason code must come from the list allowed for that qualifier: LACK is valid under PEND, PENF and PPRC but not under NMAT; DDAT is valid under NMAT, REJT and REPR but not under PEND.
- When the middle part of 25D or 24B holds a data source scheme, for example
:24B::PEND/ABCD/X123, the code comes from that issuer’s proprietary list, not from the standard list. Ask the account servicer for its code table. - PEND or PENF depends on time, not on the reason: the same LACK is reported under PEND while settlement on the intended date is still possible and under PENF once it is not. Expect the switch at the market’s end of day on the settlement date.
- One advice can hold several STAT blocks (for example MTCH//MACH and SETT//PEND) and a status can carry several REAS blocks. Statuses for different dimensions are independent: keep the latest status per qualifier rather than overwriting the whole instruction status.
- There is no "settled" status in the MT548. Settlement is confirmed with an MT544, MT545, MT546 or MT547; a partially settled instruction keeps receiving MT548 advices for the open quantity.
- Sequence B is optional. When present, 35B, 36B::SETT, 97a::SAFE, 22F::SETR, 22H::REDE, 22H::PAYM and 98a::SETT are mandatory in it.
- With reason code NARR, put the explanation in 70D::REAS in the same REAS block.
MT548 example
ZAGTAEADXXX sold 10,000 shares of a test equity and sent its custodian CUSTAEADXXX an MT543 Deliver Against Payment with the reference ZT2610200123, to settle on 22 October 2026. On the morning of the settlement date the custodian reports that the instruction is matched but pending, because the safekeeping account does not hold enough shares (LACK). Settlement on the day is still possible, so the status is PEND, not PENF.
{1:F01CUSTAEADAXXX0000000000}{2:I548ZAGTAEADXXXXN}{4:
:16R:GENL
:20C::SEME//CA548-0004711
:23G:INST
:98C::PREP//20261022093015
:16R:LINK
:13A::LINK//543
:20C::RELA//ZT2610200123
:16S:LINK
:16R:STAT
:25D::MTCH//MACH
:16S:STAT
:16R:STAT
:25D::SETT//PEND
:16R:REAS
:24B::PEND//LACK
:70D::REAS//AVAILABLE BALANCE 6000 UNITS
REQUIRED 10000 UNITS
:16S:REAS
:16S:STAT
:16S:GENL
:16R:SETTRAN
:35B:ISIN AEZAGT000016
ZAGTRADER TEST HOLDING PJSC
:36B::SETT//UNIT/10000,
:19A::SETT//AED254500,
:97A::SAFE//ZAG-SAFE-0001
:22F::SETR//TRAD
:22H::REDE//DELI
:22H::PAYM//APMT
:98A::SETT//20261022
:98A::TRAD//20261020
:16R:SETPRTY
:95P::REAG//BRKRAEADXXX
:16S:SETPRTY
:16R:SETPRTY
:95P::PSET//CSDXAEADXXX
:16S:SETPRTY
:16S:SETTRAN
-}Decode this example in the parserLine by line
| Line | What it says |
|---|---|
| {1:F01CUSTAEADAXXX0000000000}{2:I548ZAGTAEADXXXXN}{4: | Basic header: sender CUSTAEADXXX (the account servicer). Application header: input MT548 to ZAGTAEADXXX (the account owner), normal priority. |
| :16R:GENL | |
| :20C::SEME//CA548-0004711 | The custodian’s reference for this advice. |
| :23G:INST | Status of an instruction (not of a cancellation request). |
| :98C::PREP//20261022093015 | Prepared on the settlement date at 09:30:15. |
| :16R:LINK | |
| :13A::LINK//543 | The linked instruction is an MT543. |
| :20C::RELA//ZT2610200123 | The 20C::SEME of the MT543: this is how you find the instruction. |
| :16S:LINK | |
| :16R:STAT | First status block: matching. |
| :25D::MTCH//MACH | Matched with the buyer’s instruction. |
| :16S:STAT | |
| :16R:STAT | Second status block: settlement. |
| :25D::SETT//PEND | Pending: settlement today is still possible. |
| :16R:REAS | |
| :24B::PEND//LACK | Reason: lack of securities in your account. The 24B qualifier repeats the status code PEND. |
| :70D::REAS//AVAILABLE BALANCE 6000 UNITS | Optional narrative from the custodian. |
| REQUIRED 10000 UNITS | |
| :16S:REAS | |
| :16S:STAT | |
| :16S:GENL | |
| :16R:SETTRAN | Optional trade details, repeated from the instruction. |
| :35B:ISIN AEZAGT000016 | The security (test ISIN). |
| ZAGTRADER TEST HOLDING PJSC | |
| :36B::SETT//UNIT/10000, | Quantity instructed. |
| :19A::SETT//AED254500, | Settlement amount instructed: AED 254,500.00. |
| :97A::SAFE//ZAG-SAFE-0001 | Safekeeping account. |
| :22F::SETR//TRAD | Settlement of a trade. |
| :22H::REDE//DELI | A delivery. |
| :22H::PAYM//APMT | Against payment. DELI plus APMT means the instruction was an MT543. |
| :98A::SETT//20261022 | Intended settlement date. |
| :98A::TRAD//20261020 | Trade date. |
| :16R:SETPRTY | |
| :95P::REAG//BRKRAEADXXX | Receiving agent: the buyer’s participant. |
| :16S:SETPRTY | |
| :16R:SETPRTY | |
| :95P::PSET//CSDXAEADXXX | Place of settlement: the local CSD. |
| :16S:SETPRTY | |
| :16S:SETTRAN | |
| -} | End of block 4. |
If the shares do not arrive before the end of the settlement day, the next advice will carry :25D::SETT//PENF with :24B::PENF//LACK. If 6,000 shares settle as a partial, the custodian confirms them with an MT547 carrying 22F::PARS//PAIN and keeps reporting the remaining 4,000 here.
An unmatched variant of the same advice would carry :25D::MTCH//NMAT with :24B::NMAT//DDAT if the buyer instructed a different settlement date, or :24B::NMAT//CMIS if no buyer instruction was found yet.
All BICs, references, accounts and the ISIN are made up; the ISIN has a valid check digit.
Common errors and rejects
Instruction rejected (IPRC//REJT)
The account servicer did not accept the instruction, so nothing reaches the market. The 24B::REJT reason names the field: SAFE (account), DSEC (security), DDAT (settlement date), ICAG (counterparty agent), LATE or ADEA (deadline). Correct the data and send a new instruction with a new SEME; do not cancel a rejected instruction.
How to fix itInstruction unmatched (MTCH//NMAT)
The market has no matching counterparty instruction (CMIS) or the two differ on a matching field (DDAT, DQUA, DMON, DSEC, DEPT, ICAG). Compare your instruction with the trade confirmation and call the counterparty before the settlement date.
How to fix itPending for lack of securities (PEND//LACK)
Your account does not hold enough securities to deliver. Check for receipts that have not settled yet (LAAW or a linked receipt), securities on loan (LALO) or blocked (SBLO), and decide whether to borrow, partial-settle or move the settlement date.
How to fix itFailing settlement (SETT//PENF)
The settlement date has passed, or settlement on that date is no longer possible. Look at the reason: on your side LACK or MONY, on the counterparty side CLAC or CMON. Failing trades can attract penalties and buy-ins in many markets, so chase the cause the same day.
How to fix itThe advice cannot be tied to an instruction
RELA is missing, NONREF, or not one of your references (for example a transaction generated for you, reported as CGEN). Match on sequence B (ISIN, quantity, settlement date, REDE and PAYM) and on MITI, and ask the account servicer to quote your SEME.
Statuses arrive out of order
Advices for different dimensions are independent, and two advices can cross. Keep the latest status per 25D qualifier using 98a::PREP, so an old NMAT does not overwrite a newer MACH.
MT548 in ISO 20022
The ISO 20022 equivalent is sese.024 Securities Settlement Transaction Status Advice. Each 25D qualifier has its own element: IPRC becomes PrcgSts (for example PrcgSts/AckdAccptd for PACK or PrcgSts/Rjctd for REJT), MTCH becomes MtchgSts (Mtchd or Umtchd), INMH becomes IfrrdMtchgSts, and SETT becomes SttlmSts with Pdg for PEND and Flng for PENF. Reason codes keep their four-letter values, for example SttlmSts/Pdg/Rsn/Cd/Cd = LACK or MtchgSts/Umtchd/Rsn/Cd/Cd = DDAT. The 20C::RELA reference becomes TxId/AcctOwnrTxId.
The status of a cancellation request (23G CAST, 25D::CPRC) has its own ISO 20022 message, sese.027 Securities Transaction Cancellation Request Status Advice. Settlement confirmations move to sese.025.
Securities messages were not part of the November 2025 payments deadline. The MT548 remains in use on FIN, while T2S and its directly connected participants receive sese.024. Many custodians receive sese.024 from the market and send MT548 to clients, so a status or reason that looks odd may be a translation issue: compare the code with the original sese.024 when in doubt.
MT548 questions
- What is an MT548 message?
- A Settlement Status and Processing Advice: the message in which a custodian or CSD participant tells its client what is happening to a settlement instruction. It reports acceptance or rejection, matching, and pending or failing settlement, each with a reason code.
- What is the difference between PEND and PENF in an MT548?
- PEND means settlement is pending but can still happen on the intended settlement date. PENF means it is failing: settlement on that date is no longer possible. The reason code, for example LACK, can be the same in both.
- What does NMAT mean and how do I fix it?
- NMAT means your instruction has not matched the counterparty’s. The 24B::NMAT reason tells you why: CMIS (no counterparty instruction) or a difference such as DDAT or DQUA. Agree the details with the counterparty, then one side corrects its instruction. See unmatched instructions.
- How do I link an MT548 to my MT543?
- Use 20C::RELA in the linkage sequence: it carries the 20C::SEME of your MT543 (or other MT540 to MT543).
:13A::LINK//543tells you the message type. Sequence B, when present, repeats the trade details as a fallback.
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:
- From FIX execution to settlement: which FIX field becomes which settlement field, and where breaks start
- Allocation Instruction (35=J): how a block trade is split across accounts
- Confirmation (35=AK): the confirmed economics per allocation
- Settlement Instructions (35=T): standing settlement instructions over FIX
All MT messages · Category 5 messages · ISO 20022 messages · Codes · Troubleshooting