ZagTrader

From FIX Execution to Settlement: Allocations, Confirmations and MT54x

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

A fill on a FIX session is the start of a trade, not the end. Before cash and securities move, the order is allocated to accounts, confirmed with economics both sides agree, and turned into settlement instructions for each account’s custodian. FIX covers the first steps; ISO 15022 messages (MT540 to MT548) or their ISO 20022 equivalents usually cover the rest. This guide follows a block trade across that boundary and shows which FIX field becomes which settlement field.

The path from fill to settled trade

StepFIXSwift MT (ISO 15022)
1. ExecutionExecution Report (35=8) fills: LastQty (32), LastPx (31) and the running AvgPx (6)Client advice of execution: MT513
2. AllocationAllocation Instruction (35=J) from the investment manager, answered by Allocation Ack (35=P) or Allocation Report (35=AS)Trade allocation instruction: MT514
3. ConfirmationConfirmation (35=AK) per allocation, answered by Confirmation Ack (35=AU)Confirmation MT515, affirmation MT517
4. Settlement detailsStanding instructions in Settlement Instructions (35=T), or SettlInstMode (160) on the allocationThe settlement parties of sequence E1 in the instruction
5. Settlement instructionNot covered by FIXTo the custodian: MT540 to MT543; ISO 20022 sese.023
6. Status and matchingNot covered by FIXMT548; ISO 20022 sese.024
7. SettledNot covered by FIXMT544 to MT547; ISO 20022 sese.025

Many firms run steps 2 and 3 over FIX and steps 5 to 7 over Swift, so the same trade crosses two standards and often two teams. Breaks found at step 6 usually started at step 2 or 3.

What carries over into the settlement instruction

The custodian’s settlement instruction must copy the agreed trade exactly, because the depository matches it against the counterparty’s instruction field by field. These are the fields that carry over.

FIX fieldSettlement instruction (MT541 / MT543)Note
Side (54)Message typeA buy settled against payment is an MT541 (receive against payment); a sell is an MT543 (deliver against payment).
SettlDeliveryType (172)Message type0 (Versus) is against payment; 1 (Free) means MT540 or MT542, receive or deliver free.
TradeDate (75):98A::TRAD//Trade date. A matching field in many markets.
SettlDate (64):98A::SETT//Intended settlement date. If the two sides use different cycles, the instruction does not match.
SecurityID (48) with 22=4:35B:ISINThe ISIN of the security.
AllocQty (80):36B::SETT//UNIT/ or FAMT/The allocated quantity: units for shares, face amount for bonds.
AvgPx (6):90B::DEAL//ACTU/ or :90A::DEAL//PRCT/Deal price: amount per unit for shares, percentage for bonds.
NetMoney (118):19A::SETT//Settlement amount, compared within a tolerance.
AllocAccount (79):97A::SAFE//The safekeeping account of the allocated client at the custodian.
Commission (12), AccruedInterestAmt (159):19A:: amounts such as ACRUCommission and accrued interest, when the instruction carries them.

The settlement parties (place of settlement, delivering and receiving agents) do not come from the order. They come from standing settlement instructions, which FIX can carry in Settlement Instructions (35=T) and the MT carries in sequence E1 (PSET, DEAG, REAG and the parties beyond them).

Where settlement breaks start

  • Average price and rounding. A block filled at several prices is allocated at an average price. If broker and manager round AvgPx (6) or the net amount differently, the instructions do not match and the custodian reports NMAT with reason DMON.
  • Settlement date. A SettlDate (64) or SettlType (63) that differs from the counterparty’s gives an unmatched instruction with reason DDAT.
  • Quantity. Allocations AllocQty (80) must add up to the block Quantity (53); a different split on the two sides gives DQUA. A rejected allocation carries AllocStatus (87) and AllocRejCode (88).
  • Accounts and standing instructions. An allocation to an account whose standing instructions are missing or out of date fails later at the depository. A Confirmation (35=AK) with ConfirmStatus (665) = 3 (missing settlement instructions) is the early warning.
  • Security. The wrong ISIN, or a different identifier on each side, gives DSEC.

Read the full list of status and reason codes on the settlement status codes pages, and how to work an unmatched instruction in why is my settlement instruction unmatched.

Both halves on one platform

In ZagTrader the order, the FIX fills and the settlement leg live in one system. Receive and deliver against payment instructions (MT541, MT543) are generated per trade leg from the settlement grid, with cancellation and cancel-replace handled by rule so a withdrawn instruction is never sent twice. Settlement confirmations settle the matching leg for the confirmed quantity and amount, and any confirmation larger than what was instructed is held for an operator to review. MT548 status codes, from matched and pending to rejected, cancelled and denied, are mapped onto each settlement leg and recorded in the message’s audit trail.

In Saudi Arabia, ZagTrader also links Muqassa trade and settlement-instruction feeds to every order, so operations see trade by trade how far settlement has gone.

Questions

Does FIX cover settlement?
Partly. FIX has messages for allocations (Allocation Instruction (35=J)), confirmations (Confirmation (35=AK)) and standing settlement instructions (Settlement Instructions (35=T)), and clearing houses use trade capture reports (Trade Capture Report (35=AE)) and FIXML for trade feeds. Instructions to custodians and depositories, their status and the settlement confirmation usually travel as ISO 15022 MT540 to MT548 or ISO 20022 sese messages.
Which settlement message matches a FIX buy?
For a buy settled against payment, the buyer’s instruction to its custodian is an MT541, receive against payment. The seller sends an MT543, deliver against payment. Transfers without cash use MT540 and MT542.
What are the ISO 20022 equivalents?
sese.023 for the settlement instruction, sese.024 for its status and sese.025 for the confirmation. The trade data that comes from FIX is the same.
Where do I decode the MT541 or MT548 I received?
Paste it into the free MT/MX Parser. It shows every field, the sequences and the status and reason codes in plain English.

Reference

See also

More guides