{
  "test_id": "ORCL.R2R.CM.BS.VALIDATE",
  "scenario_name": "Validate Bank Statement",
  "application": "Oracle Fusion Cloud",
  "product": "Financials",
  "module": "Cash Management",
  "process": "Bank Statements",
  "business_flow": "Record-to-Report / Cash Management",
  "scenario_type": "Positive & Negative / 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/validate-bank-statement/",
  "objective": {
    "intro": "The objective of this test is to verify that Oracle Fusion correctly validates bank statement data — accepting a valid statement that is ready for processing, and correctly identifying statement-level or transaction-level issues in an invalid statement through the expected Oracle validation.",
    "confirms": [
      "the statement is evaluated against a configured, active bank account",
      "the statement currency is checked against the bank account's configured currency",
      "a valid statement with consistent, balanced transaction data passes validation",
      "statement dates are checked against the intended accounting period",
      "opening and closing balances are validated for consistency with statement transactions",
      "duplicate statement numbers are correctly identified and rejected",
      "required statement and transaction line data is confirmed as present",
      "an invalid statement is correctly blocked and produces the expected Oracle validation message",
      "the statement's validation status accurately reflects the outcome"
    ],
    "scope_note": "This scenario focuses on statement validation only. It does not claim that the statement has been processed, reconciled, or that transactions have posted to Cash Management or General Ledger — those are separate downstream test scenarios."
  },
  "preconditions": [
    "Oracle Fusion Cash Management access is configured for the test user.",
    "A parsed or manually-entered bank statement exists and is ready for validation.",
    "The relevant bank account is configured in Oracle Fusion (for positive scenarios).",
    "The accounting period intended for the statement is open (for positive scenarios).",
    "Valid and invalid test scenarios are available — for example, a duplicate statement scenario requires an existing statement to duplicate against.",
    "The test user has permission to validate Cash Management bank statements."
  ],
  "test_data": [
    {
      "field": "Statement Number",
      "example": "${STATEMENT_NUMBER} — e.g. STMT-20260810-001"
    },
    {
      "field": "Bank Account (Valid)",
      "example": "${BANK_ACCOUNT} — e.g. valid, configured operating account"
    },
    {
      "field": "Bank Account (Invalid example)",
      "example": "${BANK_ACCOUNT_INVALID} — e.g. unrecognized or unconfigured account number"
    },
    {
      "field": "Currency",
      "example": "${CURRENCY} — e.g. USD, matching the bank account's configured currency"
    },
    {
      "field": "Statement Date Range",
      "example": "${STATEMENT_START_DATE} – ${STATEMENT_END_DATE}"
    },
    {
      "field": "Opening Balance",
      "example": "${OPENING_BALANCE}"
    },
    {
      "field": "Closing Balance",
      "example": "${CLOSING_BALANCE}"
    }
  ],
  "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 to Validate",
      "action": "Search for and open the statement to be validated.",
      "test_data": "${STATEMENT_NUMBER}",
      "expected_result": "The correct statement is located and its status confirms it is ready for validation.",
      "validation_type": "action",
      "note": "This single business step replaces multiple technical actions such as opening search, entering the statement number, clicking Search and selecting the result."
    },
    {
      "step_number": 5,
      "step_name": "Review Statement Header and Lines",
      "action": "Review the statement header (bank account, currency, date range, opening and closing balance) and transaction lines.",
      "test_data": "",
      "expected_result": "Statement header and line data display the expected values prior to validation.",
      "validation_type": "action"
    },
    {
      "step_number": 6,
      "step_name": "Initiate Statement Validation",
      "action": "Select the Validate action on the statement.",
      "test_data": "",
      "expected_result": "Oracle Fusion processes the validation request without unexpected errors.",
      "validation_type": "action"
    },
    {
      "step_number": 7,
      "step_name": "Review Validation Result",
      "action": "Review the validation outcome returned by Oracle Fusion.",
      "test_data": "",
      "expected_result": "The outcome indicates whether the statement passed validation or was correctly blocked, consistent with the scenario's intended data.",
      "validation_type": "action"
    },
    {
      "step_number": 8,
      "step_name": "Review the Validation Message",
      "action": "For a statement that does not pass, review the specific validation message returned.",
      "test_data": "",
      "expected_result": "The message identifies the specific business rule violated — for example unknown bank account, invalid currency, duplicate statement or balance mismatch.",
      "validation_type": "action"
    },
    {
      "step_number": 9,
      "step_name": "Correct Data Where Applicable",
      "action": "Where the scenario expects an eventual pass, correct the field identified by the validation message.",
      "test_data": "",
      "expected_result": "The corrected field is accepted by Oracle Fusion.",
      "validation_type": "action"
    },
    {
      "step_number": 10,
      "step_name": "Re-Validate the Corrected Statement",
      "action": "Re-initiate validation on the corrected statement.",
      "test_data": "",
      "expected_result": "The corrected statement passes validation.",
      "validation_type": "action"
    },
    {
      "step_number": 11,
      "step_name": "Verify Statement Validation Status",
      "action": "Confirm the statement's validation status field.",
      "test_data": "",
      "expected_result": "The validation status accurately reflects Passed, or the expected validation-blocked state for scenarios not intended to pass.",
      "validation_type": "action"
    },
    {
      "step_number": 12,
      "step_name": "Verify Statement Is Ready for the Next Lifecycle Stage",
      "action": "Confirm a successfully validated statement is available for processing.",
      "test_data": "",
      "expected_result": "The validated statement is available for the Process Bank Statement scenario, with its validation outcome correctly recorded.",
      "validation_type": "business_assertion",
      "note": "This is the main business assertion for the scenario — the test does not stop merely because validation was initiated successfully. A negative scenario passes when Oracle correctly produces the expected validation."
    }
  ],
  "expected_results": [
    "A valid statement with correct bank account, currency, date range and balanced/consistent transaction data passes validation successfully.",
    "A statement violating a business rule — unknown account, invalid currency/date, duplicate statement, balance mismatch, or missing statement number/line data — is correctly blocked with the expected Oracle validation message.",
    "Validation messages identify the specific business rule violated.",
    "Statement validation status accurately reflects the outcome.",
    "A corrected statement passes validation on re-validation.",
    "Successfully validated statements are available for the next lifecycle stage (processing)."
  ],
  "validation_checkpoints": [
    "Bank account on the statement matches a configured, active account.",
    "Currency matches the bank account's configured currency.",
    "Statement date range falls within the intended accounting period.",
    "Statement number does not duplicate an existing statement for the account.",
    "Opening balance is consistent with the prior closing balance.",
    "Closing balance is consistent with statement transactions.",
    "Required statement and transaction line data is present.",
    "Transaction amounts and dates are valid.",
    "Validation outcome and message match the scenario's expected result.",
    "Validation status is correctly reflected after validation completes."
  ]
}
