{
  "test_id": "ORCL.R2R.CM.BS.REPROCESS",
  "scenario_name": "Reprocess Bank Statement",
  "application": "Oracle Fusion Cloud",
  "product": "Financials",
  "module": "Cash Management",
  "process": "Bank Statements",
  "business_flow": "Record-to-Report / Cash Management",
  "scenario_type": "Positive / Functional",
  "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/reprocess-bank-statement/",
  "objective": {
    "intro": "The objective of this test is to verify that an authorised Cash Management user can correct the underlying data or configuration behind a previously recorded bank statement exception and successfully reprocess the statement, resolving the exception rather than merely re-attempting the same failed action.",
    "confirms": [
      "the statement with a known prior exception can be correctly located",
      "the recorded exception detail is reviewed and understood",
      "the root cause of the exception is correctly identified",
      "the underlying data or configuration is corrected before reprocessing is attempted",
      "reprocessing is initiated only after a genuine correction is in place",
      "the prior exception no longer occurs once the correction is applied",
      "the statement status updates to reflect successful reprocessing",
      "no unexpected duplicate record is created as a result of reprocessing",
      "the corrected statement is available for the next lifecycle stage"
    ],
    "scope_note": "This scenario does not claim that every exception category, correction workflow or bank statement format is covered — behavior depends on the customer's bank statement configuration and the nature of the underlying exception; those are addressed by separate test scenarios."
  },
  "preconditions": [
    "Oracle Fusion Cash Management is configured and available, with access to Bank Statements.",
    "A bank statement exists that previously failed import, validation or processing, with a recorded exception.",
    "The nature of the exception is known or can be identified (for example, invalid account, invalid date, bad mapping or a balance issue).",
    "The test user, or a configuration owner, has the ability to correct the underlying data or configuration associated with the exception.",
    "Appropriate security/role for reprocessing bank statements is assigned to the test user.",
    "The accounting or banking period relevant to the statement is open where applicable."
  ],
  "test_data": [
    {
      "field": "Statement with Exception",
      "example": "Bank statement previously failed with a recorded exception"
    },
    {
      "field": "Exception Category",
      "example": "Invalid Account / Invalid Date / Bad Mapping / Balance Issue"
    },
    {
      "field": "Corrected Account",
      "example": "${CORRECTED_ACCOUNT}"
    },
    {
      "field": "Corrected Date",
      "example": "${CORRECTED_DATE}"
    },
    {
      "field": "Corrected Amount",
      "example": "${CORRECTED_AMOUNT}"
    },
    {
      "field": "Bank Account",
      "example": "${BANK_ACCOUNT}"
    }
  ],
  "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": "Locate the Statement with the Prior Exception",
      "action": "Search for and open the bank statement previously flagged with an exception.",
      "test_data": "Statement with Exception",
      "expected_result": "The correct statement is located and its recorded exception status is confirmed.",
      "validation_type": "action",
      "note": "This single business step replaces multiple technical actions such as opening search, entering the statement reference, filtering by exception status and selecting the result."
    },
    {
      "step_number": 5,
      "step_name": "Review the Recorded Exception Details",
      "action": "Open and review the exception details recorded against the statement.",
      "test_data": "Exception Category",
      "expected_result": "The exception category and supporting detail (for example, invalid account, invalid date, bad mapping or balance issue) are visible and understood.",
      "validation_type": "action"
    },
    {
      "step_number": 6,
      "step_name": "Identify the Root Cause",
      "action": "Determine the root cause of the exception by comparing statement content against current bank account, mapping and configuration data.",
      "test_data": "",
      "expected_result": "The root cause is correctly identified as a data issue, a configuration issue, or both.",
      "validation_type": "action"
    },
    {
      "step_number": 7,
      "step_name": "Correct the Underlying Data or Configuration",
      "action": "Apply the correction required to resolve the identified root cause — for example, updating the account, date, amount or mapping configuration.",
      "test_data": "${CORRECTED_ACCOUNT} / ${CORRECTED_DATE} / ${CORRECTED_AMOUNT}",
      "expected_result": "The correction is accepted and saved without unexpected errors.",
      "validation_type": "action"
    },
    {
      "step_number": 8,
      "step_name": "Initiate Statement Reprocessing",
      "action": "Select the option to reprocess the corrected bank statement.",
      "test_data": "${BANK_ACCOUNT}",
      "expected_result": "The reprocessing request is accepted and submitted for processing.",
      "validation_type": "action"
    },
    {
      "step_number": 9,
      "step_name": "Monitor Reprocessing Status",
      "action": "Monitor the reprocessing status until it reaches a terminal state.",
      "test_data": "",
      "expected_result": "Reprocessing status progresses to completion without becoming stuck or indeterminate.",
      "validation_type": "action"
    },
    {
      "step_number": 10,
      "step_name": "Verify the Prior Exception No Longer Occurs",
      "action": "Confirm that the originally recorded exception is not reproduced on this reprocessing attempt.",
      "test_data": "",
      "expected_result": "The prior exception (for example, invalid account, invalid date, bad mapping or balance issue) no longer occurs.",
      "validation_type": "business_assertion",
      "note": "This is a core outcome of the Initial Processing → Exception → Correct → Reprocess → Validate Success chain — the test asserts genuine resolution, not just that a Reprocess action completed."
    },
    {
      "step_number": 11,
      "step_name": "Verify Statement Status Updates to Reflect Successful Reprocessing",
      "action": "Confirm the statement status reflects the successful reprocessing outcome.",
      "test_data": "",
      "expected_result": "Statement status updates accordingly (for example, to a Processed or equivalent success status).",
      "validation_type": "business_assertion"
    },
    {
      "step_number": 12,
      "step_name": "Confirm No Unexpected Duplicate Record Was Created",
      "action": "Check for duplicate transaction or statement records that may result from the reprocessing attempt.",
      "test_data": "",
      "expected_result": "No unexpected duplicate record is created as a result of reprocessing.",
      "validation_type": "business_assertion"
    },
    {
      "step_number": 13,
      "step_name": "Verify the Corrected Statement Is Available for the Next Lifecycle Stage",
      "action": "Confirm the corrected, successfully reprocessed statement is available for inquiry and downstream reconciliation.",
      "test_data": "",
      "expected_result": "The corrected statement is available for the next lifecycle stage (Inquiry) and downstream review.",
      "validation_type": "business_assertion",
      "note": "This is the main end-to-end business assertion for the scenario — reprocessing is validated as part of the full Initial Processing → Exception → Identify Cause → Correct → Reprocess → Validate Success chain, not merely as an isolated action."
    }
  ],
  "expected_results": [
    "A bank statement corrected at its root cause reprocesses successfully.",
    "The prior exception is resolved and does not recur on the corrected statement.",
    "Statement status updates accordingly to reflect successful reprocessing.",
    "No duplicate record is unexpectedly created as a result of reprocessing.",
    "Reprocessing a statement without a genuine correction reproduces the original exception rather than silently succeeding.",
    "An incomplete correction surfaces a new or remaining validation rather than silently succeeding.",
    "The corrected statement is available for subsequent inquiry and reconciliation."
  ],
  "validation_checkpoints": [
    "Statement with the prior exception is correctly located.",
    "Exception category and details are accurately reviewed.",
    "Root cause is correctly identified before correction.",
    "Correction is applied to the correct data or configuration element.",
    "Reprocessing is initiated only after a genuine correction.",
    "Prior exception does not recur after correction.",
    "Statement status reflects successful reprocessing.",
    "No unexpected duplicate record is created.",
    "Reprocessing without correction correctly reproduces the original exception.",
    "Corrected statement is available for the next lifecycle stage."
  ]
}
