order cancel replace request resulting in an immediate fill

Hello, if an Order modification (35=G) results in an immediate fill (see eg below), is it required to send an ack, followed by a fill?

Do we need to send step 4 here or is it optional as tag 11 in step 5 will refer to tag 11 in step 3.

For e.g.

  1. New Order - 11=x
  2. New order ack - 11=x, 150=0, 39=0
  3. Order modification - 11=y, 41=x
  4. Order mod ack - 11=y, 41=x, 150=5, 39=0
  5. Trade - 11=y, 41=x, 150=F, 39=2

The FIX legacy workflows expect explicit acknowledgements of order request messages. FIX Latest supports less verbose workflows but your counterparty needs to agree to use them and to what extent. For example, a new IOC that is partially filled upon entry only requires a single ExecutionReport(35=8) message in FIX Latest to confirm a) the receipt, b) the partial execution, and c) the cancellation of the order. A FIX 4.2 workflow requires three separate ExecutionReport(35=8) messages.

Please see Order State Changes for detailed examples of (legacy) workflows. Optimized workflows for high performance are described in FIX Extension Pack 188.

Many thanks and yes I was referring to FIX latest.