{
  "test_id": "ORCL.R2R.CM.BS.PARSE",
  "scenario_name": "Load & Parse 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/load-parse-bank-statement/",
  "objective": {
    "intro": "The objective of this test is to verify that imported bank statement content is correctly interpreted and mapped into Oracle Cash Management statement headers and transaction lines.",
    "confirms": [
      "the statement header — bank account, statement date, currency, opening and closing balance — is parsed correctly",
      "transaction lines are parsed without loss, duplication or truncation",
      "debit and credit transactions are mapped to the correct indicator",
      "transaction reference and bank/branch code values parse completely",
      "value date and transaction date are parsed into distinct, correctly formatted fields",
      "currency is parsed and matches the bank account configuration",
      "opening balance, closing balance and parsed transaction amounts are internally consistent",
      "no recognized field is dropped or left unmapped during parsing"
    ],
    "scope_note": "This scenario does not claim that parsed statement lines are reconciled against Oracle transactions or that exceptions are resolved — those are covered by separate downstream validation, processing and exception-handling test scenarios."
  },
  "preconditions": [
    "Oracle Fusion Cash Management is configured and accessible to the test user.",
    "A raw imported bank statement file or feed is present and available for parsing.",
    "The statement format mapping/template for the source bank is configured in Oracle Fusion.",
    "A valid bank account exists and is correctly associated with the statement format.",
    "The test user has permission to view Cash Management bank statements."
  ],
  "test_data": [
    {
      "field": "Bank Account",
      "example": "${BANK_ACCOUNT}"
    },
    {
      "field": "Statement Date",
      "example": "${STATEMENT_DATE}"
    },
    {
      "field": "Transaction Debit/Credit Code",
      "example": "Debit or Credit indicator per line"
    },
    {
      "field": "Transaction Amount",
      "example": "${AMOUNT}"
    },
    {
      "field": "Value Date",
      "example": "${VALUE_DATE}"
    },
    {
      "field": "Transaction Date",
      "example": "${TRANSACTION_DATE}"
    },
    {
      "field": "Currency",
      "example": "Matches bank account currency"
    },
    {
      "field": "Transaction Reference",
      "example": "Bank-supplied reference number"
    },
    {
      "field": "Bank/Branch Code",
      "example": "Bank-supplied routing/branch identifier"
    },
    {
      "field": "Opening Balance",
      "example": "Header-level opening balance"
    },
    {
      "field": "Closing Balance",
      "example": "Header-level 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 Imported Statement",
      "action": "Search for and open the previously imported statement for the target bank account and statement date.",
      "test_data": "${BANK_ACCOUNT} / ${STATEMENT_DATE}",
      "expected_result": "The correct imported statement is located and its parsed status is available.",
      "validation_type": "action",
      "note": "This single business step replaces multiple technical actions such as opening search, entering the bank account, clicking Search and selecting the result."
    },
    {
      "step_number": 5,
      "step_name": "Review Parsed Statement Header",
      "action": "Review the parsed statement header — bank account, statement date, currency, opening balance and closing balance.",
      "test_data": "",
      "expected_result": "Header fields display values consistent with the source statement file.",
      "validation_type": "action"
    },
    {
      "step_number": 6,
      "step_name": "Review Parsed Transaction Lines",
      "action": "Review the parsed transaction lines associated with the statement.",
      "test_data": "",
      "expected_result": "All transaction lines present in the source file appear as parsed lines, with no lines missing or duplicated.",
      "validation_type": "action"
    },
    {
      "step_number": 7,
      "step_name": "Verify Debit/Credit Mapping",
      "action": "Verify that debit and credit transaction lines are mapped to the correct debit/credit indicator.",
      "test_data": "${AMOUNT}",
      "expected_result": "Debit and credit codes map correctly to the corresponding amount and indicator.",
      "validation_type": "action"
    },
    {
      "step_number": 8,
      "step_name": "Verify Transaction Reference Values",
      "action": "Verify that each transaction line's reference value matches the source statement.",
      "test_data": "",
      "expected_result": "Reference values parse completely, without truncation or corruption.",
      "validation_type": "action"
    },
    {
      "step_number": 9,
      "step_name": "Verify Value Date and Transaction Date Mapping",
      "action": "Verify that value date and transaction date parse into distinct, correctly formatted fields.",
      "test_data": "${VALUE_DATE} / ${TRANSACTION_DATE}",
      "expected_result": "Value date and transaction date are correctly distinguished and formatted as expected.",
      "validation_type": "action"
    },
    {
      "step_number": 10,
      "step_name": "Verify Currency Mapping",
      "action": "Verify that statement and transaction currency are mapped correctly.",
      "test_data": "",
      "expected_result": "Currency matches the bank account currency configuration.",
      "validation_type": "action"
    },
    {
      "step_number": 11,
      "step_name": "Verify Opening/Closing Balance Consistency",
      "action": "Verify that the opening balance, closing balance and the net total of parsed transaction amounts are internally consistent.",
      "test_data": "",
      "expected_result": "Opening balance plus the net parsed transaction total reconciles with the closing balance.",
      "validation_type": "action"
    },
    {
      "step_number": 12,
      "step_name": "Confirm No Unmapped or Dropped Fields",
      "action": "Confirm that the parsed statement header and lines account for all recognized fields from the source file, with nothing dropped or left unmapped.",
      "test_data": "",
      "expected_result": "The parsed statement fully represents the source data, with header and line fields mapped correctly and no unmapped or dropped fields.",
      "validation_type": "business_assertion",
      "note": "This is the main business assertion for the scenario — the test does not stop merely because the statement header and lines were displayed."
    }
  ],
  "expected_results": [
    "Statement header is created with correct bank account, statement date, currency, opening and closing balance.",
    "All transaction lines from the source statement are present as parsed lines.",
    "Debit and credit transactions are mapped to the correct indicator.",
    "Transaction amounts match the source statement values.",
    "Transaction reference and bank/branch code values parse completely and accurately.",
    "Value date and transaction date are correctly distinguished and formatted.",
    "Currency is parsed correctly and matches bank account configuration.",
    "Opening and closing balances are internally consistent with the parsed transaction lines.",
    "No recognized field is dropped or left unmapped.",
    "Parsed statement is available for subsequent validation and processing scenarios."
  ],
  "validation_checkpoints": [
    "Statement header bank account matches the imported file.",
    "Statement date parses correctly.",
    "Currency matches bank account configuration.",
    "Opening balance matches the source file.",
    "Closing balance matches the source file.",
    "All transaction lines from the source file are present as parsed lines.",
    "Debit/credit indicator is correct for each line.",
    "Transaction amount matches the source value for each line.",
    "Value date and transaction date are correctly distinguished.",
    "Transaction reference values parse without truncation.",
    "Bank/branch code parses into the expected field.",
    "Opening balance plus net transaction total reconciles with closing balance."
  ]
}
