Failed trade handling testing verifies that a trading system detects a trade that cannot proceed as expected, records the correct exception and manages it safely through investigation, repair, resubmission or escalation. It checks that the trade’s status, related cash and securities positions, downstream messages and audit records remain consistent throughout the exception workflow.
What failed trade handling testing covers
A trade can fail at several points between execution and settlement. Examples include a counterparty rejecting a confirmation, a mismatch in trade details, invalid standing settlement instructions (SSIs), insufficient cash or securities, or a downstream system rejecting a booking or settlement message. The applicable failure conditions depend on the instruments, markets and systems in scope.
Testing checks that the system identifies the failure and presents enough information for an operator or automated process to act. This can include a reason code, affected trade, current status, timestamps and the next permitted action. A generic error with no traceable link to the trade can make investigation and recovery unsafe.
The scope often spans a front-to-back trade lifecycle: trade capture, confirmation, settlement instruction, settlement processing, exception queues and reconciliation. Integration testing matters because a failure may originate in one system and be handled in another. A booking service might accept a trade while a settlement service rejects its instruction, for example.
How to test failure and recovery paths
Start with defined failure conditions and expected outcomes. For each scenario, establish the trade’s initial state, the component that introduces the failure, the expected exception status and the permitted recovery actions. Use controlled test data and a test environment that can produce the relevant response from a counterparty or dependent service.
Exercise both the initial failure and the recovery path. Check that the system:
- records the failure reason and associates it with the correct trade;
- applies the right status and prevents invalid lifecycle transitions;
- routes the exception to the expected queue or role;
- accepts a correction only when the relevant data is valid;
- retries or resubmits according to configured rules; and
- updates downstream systems and reconciliation records consistently.
Include duplicate and delayed-message cases. If a system times out after sending a settlement instruction, it may be unclear whether the receiving system processed it. A retry must not create a second instruction or duplicate accounting entry. Verify idempotency, message identifiers and the final state across the sending and receiving systems.
Practical example: settlement instruction mismatch
Assume a booked securities trade has an incorrect settlement account. The settlement service rejects the instruction and returns a defined error. The expected result is that the trade enters an exception state, the rejection reason is visible to the authorised operations role, and no settlement is recorded as complete.
After correcting the settlement account, an operator resubmits the instruction. Verify that the receiving service accepts one instruction, the trade progresses to the expected settlement state, and cash and securities records reflect the outcome once. Also check that the original rejection, correction, user action and resubmission remain available in the audit history. Exact status names and accounting effects vary by system and product, so tests should assert the agreed business rules rather than assume a universal status model.
Distinguish a trade failure from an order rejection
An order rejection usually prevents an order from being accepted or executed. Failed trade handling testing generally focuses on a trade that has been executed or booked and then encounters an exception during confirmation, processing or settlement. The boundary depends on the platform, so define it in the test scope. For related coverage, see Front-to-back trade lifecycle testing and Securities settlement workflow testing.
Testers should also confirm that failure handling does not conceal the original event. A repaired trade needs a traceable history, while a cancelled or abandoned trade should not appear as successfully settled. Use Trade cancellation and amendment testing for workflows that change or remove a trade after capture.
Frequently asked questions
Should every failed trade be retried automatically?
No. Retry behaviour should follow the failure type and business rules. A transient service error may permit a controlled retry, while invalid trade data or a counterparty rejection may require investigation and correction first.
What test evidence is useful for a failed trade scenario?
Useful evidence includes the initiating trade data, the failure response, status history, relevant message identifiers, user or service actions, downstream records and the final reconciliation result. Together, these show how the exception was detected and resolved.
How can testers check that an exception was routed correctly?
Assert that the exception appears in the intended queue or workflow, includes the required reason and trade reference, and is accessible only to the roles permitted to investigate or approve the next action.
