ZagTrader

Settlement fails: reading MT548 and sese.024 to fix them faster

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

A trade that has not settled says why in its status advice. The MT548, or sese.024 in ISO 20022, carries a status and a reason code. Read together, they tell you whether the problem is on your side, your counterparty’s or nobody’s yet, and what to do next. This guide is the triage table: find your status and reason, see who must act, and follow the link to the page with the fix.

Where the status and reason sit

In the MT548, each status is a STAT block in sequence A2. Field 25D gives the dimension and the code: :25D::IPRC// for instruction processing (PACK, REJT), :25D::MTCH// for matching (MACH, NMAT) and :25D::SETT// for settlement (PEND, PENF). The reason sits in a REAS block inside the STAT block: field 24B repeats the status as its qualifier and adds the reason, for example :24B::PEND//LACK or :24B::NMAT//DMON. Field 70D::REAS may add free text, often the counterparty’s value of the field that differs.

In the sese.024, the same three dimensions are separate elements: processing status (PrcgSts), matching status (MtchgSts) and settlement status (SttlmSts, with Pdg for pending and Flng for failing). Each carries its reason code in Rsn/Cd/Cd. One advice can report several dimensions at once, for example matched and pending.

Triage table

Common status and reason combinations
StatusReasonWhat it meansWho actsRead
REJTSAFE, DSEC, DDAT, SETRYour account servicer refused the instruction. It is not in the books and will not match or settle.You: correct the field and send a new instruction.Rejected instruction
NMATCMISNo counterparty instruction found.Your counterparty: ask them to instruct, and check you gave the right counterparty and place of settlement.Unmatched instruction
NMATDDAT, DQUA, DSEC, DMON, DTRD, DEPTBoth sides instructed, but one field differs: date, quantity, security, amount, trade date or place of settlement.Whichever side is wrong: compare against the trade confirmation.Unmatched instruction
PENDFUTU, CYCLMatched and waiting for the settlement date or the next settlement cycle. Nothing is wrong.Nobody yet.Settlement lifecycle
PENDLACKYour safekeeping account does not hold enough deliverable securities.You: cover the position, or recall lent securities.PEND LACK
PENDMONYNot enough cash, or credit, on your settlement account for a receipt against payment.You: fund the account or extend the credit line.MONY
PENDCLACThe delivering counterparty lacks the securities.Your counterparty. You chase and watch the failing date.CLAC
PENDPREA, BLOC, LINKHeld by you, blocked account, or waiting for a linked instruction.You: release the hold, lift the block or fix the linked instruction.PREA
PENFLACK, MONY, CLACFailing: settlement on the intended date is no longer possible. The instruction stays live.The side that is short. Penalties or buy-in rules may apply in the market.Failing settlement
CANPNoneYour cancellation is pending; the instruction is still live and can settle.Often the counterparty must cancel too.CANP
DENDVariesYour request, such as a cancellation, will not be carried out; the original instruction stays as it was.You: check whether it already settled.DEND

Work the statuses in order

  1. Processing first. Until the instruction is accepted (PACK), nothing else matters. A REJT means there is nothing in the market to match: fix and re-instruct.
  2. Matching next. An NMAT close to settlement date is the most urgent item on the list, because a trade cannot settle unmatched. Compare every matching field with the confirmation, not with your own instruction.
  3. Then settlement. A PEND with FUTU before settlement date is normal. Any other pending reason on or near settlement date needs an owner, and a PENF needs one today.
  4. Check whose side the reason is on. LACK and MONY are yours; CLAC and its cash mirror are the counterparty’s. Chasing the wrong side wastes the day.
  5. Close the loop. When the MT544 to MT547 (or sese.025) confirmation arrives, check the settled quantity and amount against the instruction, and look for partial settlement (PART).

Many breaks start before settlement

Most matching breaks start at allocation and confirmation: an average price rounded differently, a settlement date taken from a default cycle, an allocation to an account with out-of-date standing instructions. When the trade was agreed over FIX, see from FIX execution to settlement on the ZagTrader FIX Parser for which FIX field becomes which settlement field.

How ZagTrader uses these statuses

ZagTrader maps the MT548 status codes, from matched and pending to rejected, cancelled and denied, onto each settlement leg, and records every advice in the message’s audit trail. It reads settlement confirmations, settles the matching leg for the confirmed quantity and amount, and holds back any confirmation larger than what was instructed for an operator to review.

Questions

What is the difference between PEND and PENF?
PEND means settlement on the intended date is still possible. PENF means it is no longer possible: the instruction is failing, but stays live and settles once the cause is cleared, unless it is cancelled.
Who must act on LACK?
The account owner that receives the advice. LACK says your own safekeeping account does not hold enough deliverable securities. If the counterparty is short, you see CLAC instead.
Where is the reason code in sese.024?
Inside each status: MtchgSts/Umtchd/Rsn/Cd/Cd for unmatched, SttlmSts/Pdg/Rsn/Cd/Cd for pending and SttlmSts/Flng/Rsn/Cd/Cd for failing.
Can an MT548 carry more than one status?
Yes. Each status is its own STAT block, so one advice can say, for example, that the instruction is matched and pending for lack of securities.

Messages in this guide

All guides · Troubleshooting