{
  "test_id": "ORCL.R2R.CM.BS.EXCEPTION",
  "scenario_name": "Bank Statement Exceptions",
  "application": "Oracle Fusion Cloud",
  "product": "Financials",
  "module": "Cash Management",
  "process": "Bank Statements",
  "business_flow": "Record-to-Report / Cash Management",
  "scenario_type": "Negative / Exception Handling",
  "priority": "High",
  "automation_status": "SyntraFlow Ready",
  "library": "Syntra Standard",
  "canonical_url": "https://www.syntraflow.cloud/oracle-erp-testing-tool/test-library/financials/cash-management/bank-statements/bank-statement-exceptions/",
  "objective": {
    "intro": "The objective of this test is to validate identification and handling of bank statement import, parsing, validation and processing exceptions in Oracle Fusion Cash Management — confirming that each exception condition is correctly detected, correctly classified and never silently passes as successful.",
    "confirms": [
      "file/import exceptions are correctly detected — corrupted file, unsupported file, missing file data, duplicate file",
      "statement-level exceptions are correctly detected — duplicate statement, invalid statement number, unknown bank account, invalid date, invalid currency",
      "balance exceptions are correctly detected — opening balance mismatch, closing balance mismatch, statement totals mismatch",
      "transaction-level exceptions are correctly detected — missing amount, invalid transaction code, missing reference, invalid transaction date, malformed line",
      "configuration exceptions are correctly detected — inactive bank account, missing format configuration, invalid mapping, missing integration configuration",
      "each exception is raised at the correct lifecycle stage (import, parsing, validation or processing)",
      "statement or transaction status correctly reflects the unresolved exception rather than silently succeeding",
      "evidence captured for each exception is sufficient to support root-cause triage"
    ],
    "scope_note": "This scenario validates that exception conditions are correctly detected and classified — it does not attempt to resolve the underlying data, configuration or integration issue. Correction and reprocessing are covered by the separate Reprocess Bank Statement scenario."
  },
  "preconditions": [
    "Oracle Fusion Cash Management is configured and available.",
    "The test user has permission to view, import, validate and process bank statements.",
    "The ability exists to reproduce or observe exception conditions at each lifecycle stage — import, parsing, validation and processing.",
    "At least one configured, active bank account is available to exercise valid conditions.",
    "At least one bank account or configuration element can be placed in an invalid, inactive or unmapped state to exercise exception conditions.",
    "Configured bank statement formats are available to exercise both valid and invalid file and transaction conditions."
  ],
  "test_data": [
    {
      "field": "Exception Category",
      "example": "${EXCEPTION_CATEGORY} — File/Import, Statement, Balance, Transaction or Configuration"
    },
    {
      "field": "Bank Account",
      "example": "${BANK_ACCOUNT}"
    },
    {
      "field": "Statement Reference",
      "example": "${STATEMENT_REFERENCE} — e.g. STMT-2026-0842"
    },
    {
      "field": "Expected Exception Type",
      "example": "${EXPECTED_EXCEPTION_TYPE} — e.g. Duplicate Statement, Invalid Transaction Code"
    }
  ],
  "business_steps": [
    {
      "step_number": 1,
      "step_name": "Sign in to Oracle Fusion",
      "action": "Sign in to the Oracle Fusion environment using an authorised Cash Management test user.",
      "test_data": "",
      "expected_result": "Oracle Fusion home page is displayed successfully and the user session is established.",
      "validation_type": "action"
    },
    {
      "step_number": 2,
      "step_name": "Navigate to Cash Management",
      "action": "Navigate to the Cash Management work area.",
      "test_data": "",
      "expected_result": "The Cash Management work area opens successfully.",
      "validation_type": "action"
    },
    {
      "step_number": 3,
      "step_name": "Open Bank Statements",
      "action": "Open the Bank Statements task within Cash Management.",
      "test_data": "",
      "expected_result": "The Bank Statements work area is displayed.",
      "validation_type": "action"
    },
    {
      "step_number": 4,
      "step_name": "Trigger the Exception Condition",
      "action": "Import, parse, validate or process a statement carrying the relevant file, statement, balance, transaction or configuration issue.",
      "test_data": "${EXCEPTION_CATEGORY} / ${EXPECTED_EXCEPTION_TYPE}",
      "expected_result": "Oracle Fusion processes the submission and returns a result at the correct lifecycle stage.",
      "validation_type": "action",
      "note": "This single business step replaces multiple technical actions such as preparing the invalid condition, submitting the import, parse, validation or processing action and capturing the raw response."
    },
    {
      "step_number": 5,
      "step_name": "Observe the Resulting Exception",
      "action": "Observe whether Oracle Fusion raises the expected exception, error or validation message.",
      "test_data": "",
      "expected_result": "An exception, error or validation message is displayed or logged at the correct lifecycle stage.",
      "validation_type": "action"
    },
    {
      "step_number": 6,
      "step_name": "Review the Exception Category and Message",
      "action": "Review the exception category and the specific message text returned by Oracle Fusion.",
      "test_data": "",
      "expected_result": "The exception category and message identify the affected file, statement, balance or transaction line.",
      "validation_type": "action"
    },
    {
      "step_number": 7,
      "step_name": "Verify the Exception Maps to the Expected Classification",
      "action": "Confirm the raised exception maps to the expected exception category — File/Import, Statement, Balance, Transaction or Configuration.",
      "test_data": "${EXPECTED_EXCEPTION_TYPE}",
      "expected_result": "The exception category matches the condition that was deliberately triggered.",
      "validation_type": "action"
    },
    {
      "step_number": 8,
      "step_name": "Review Evidence Captured for the Exception",
      "action": "Review the evidence captured for the exception, including the file, statement or transaction context.",
      "test_data": "",
      "expected_result": "Captured evidence is sufficient to identify the affected record and support root-cause triage.",
      "validation_type": "action"
    },
    {
      "step_number": 9,
      "step_name": "Determine Likely Root-Cause Category",
      "action": "Review the evidence to determine the likely root-cause category for the exception.",
      "test_data": "",
      "expected_result": "A likely category is proposed against the available evidence.",
      "validation_type": "action",
      "note": "Where enabled, Jarvis Failure Intelligence proposes a likely category — for example DATA_ERROR, CONFIGURATION_ERROR, INTEGRATION_ERROR, AUTOMATION_ERROR, APPLICATION_ERROR, ENVIRONMENT_ERROR or EXPECTED_VALIDATION — based on the captured evidence. See the classification example below."
    },
    {
      "step_number": 10,
      "step_name": "Record Recommended Corrective Action",
      "action": "Record the recommended corrective action associated with the proposed classification.",
      "test_data": "",
      "expected_result": "A recommended corrective action is available for the exception, for example correcting test data or configuration and rerunning.",
      "validation_type": "action"
    },
    {
      "step_number": 11,
      "step_name": "Confirm the Exception Does Not Silently Pass",
      "action": "Confirm that the exception is not silently ignored, suppressed or overwritten by a later step.",
      "test_data": "",
      "expected_result": "The exception remains visible and is not silently dropped by any subsequent processing.",
      "validation_type": "business_assertion"
    },
    {
      "step_number": 12,
      "step_name": "Confirm Statement Status Correctly Reflects the Exception",
      "action": "Confirm the resulting statement or transaction status correctly reflects the unresolved exception.",
      "test_data": "",
      "expected_result": "Statement or transaction status is held, exception or another status appropriate to an unresolved exception — never a status implying silent success.",
      "validation_type": "business_assertion",
      "note": "This is the main business assertion for the scenario — the test does not stop merely because an exception message was displayed."
    }
  ],
  "expected_results": [
    "Each exception condition produces the expected Oracle Fusion error or validation message at the correct lifecycle stage — import, parsing, validation or processing.",
    "The exception category (File/Import, Statement, Balance, Transaction or Configuration) matches the condition that was deliberately triggered.",
    "Exception message content is specific enough to identify the affected file, statement, balance or transaction line.",
    "Statement or transaction status correctly reflects the unresolved exception rather than silently succeeding.",
    "No exception is silently dropped, suppressed or overwritten by a later step.",
    "Evidence captured for the exception is sufficient to support root-cause triage.",
    "Where a likely classification is proposed, it is consistent with the underlying evidence.",
    "The exception remains available for review and is not resolved automatically without explicit reprocessing."
  ],
  "validation_checkpoints": [
    "Exception category correctly identified — File/Import, Statement, Balance, Transaction or Configuration.",
    "Exception raised at the correct lifecycle stage.",
    "Exception message is specific and actionable.",
    "Statement or transaction status reflects the unresolved exception.",
    "Transaction-level exceptions do not block unrelated valid lines.",
    "Evidence (screenshots/logs/messages) captured for triage.",
    "Exception does not silently pass as a successful outcome.",
    "Proposed classification is consistent with the captured evidence.",
    "Any APPLICATION_ERROR classification is flagged as tentative, not certain.",
    "Exception remains visible until resolved or reprocessed."
  ]
}
