Proper Way to Use Different Delete Messages

Imported from previous forum

We are implementing FIX Protocol and we are looking at the different types of reject messages and need some guidance on when to use each one.

In Message Type Q, it has a lot of information in it but it seems to be a duplicate of the Execution Report with a ExecType = Reject. When would you use each one?

Additionally, I have seen it written that a Reject Message (3) can also be used instead of a Q.

Are there any definitive reasons as to why we would use one message type over another and when they should be used? What is the business norm?

Here’s our current plan:

  1. If we are missing required tags, the tags don’t have values, or the values are not as expected, then we are planning to reject with a Q.

  2. If we can receive the message but for some reason can’t process it (for example, the CUSIP isn’t valid), then we are going to send an execution report with the execution type of reject.

We do not plan on using the Business Reject message (3)

Any thoughts?