{
  "test_id": "ORCL.R2R.GL.JRN.APPROVAL",
  "scenario_name": "Journal Approval",
  "application": "Oracle Fusion Cloud",
  "product": "Financials",
  "module": "General Ledger",
  "process": "Journals",
  "business_flow": "Record-to-Report",
  "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/general-ledger/journals/journal-approval/",
  "objective": {
    "intro": "The objective of this test is to verify that a validated journal requiring approval in Oracle Fusion General Ledger routes correctly to the configured approver(s), that approver actions correctly update the journal's status, and that configured approval rules and routing behave as intended.",
    "confirms": [
      "a validated journal submitted for approval routes to the correct approver based on the configured rule",
      "single-level and multi-level approval routing behave as configured",
      "the approver can approve, reject or reassign the journal",
      "journal status updates correctly following each approval action",
      "a rejected journal can be corrected and resubmitted for approval",
      "a journal cannot be posted before it reaches the required approval status",
      "the approved journal is correctly available for subsequent posting"
    ],
    "scope_note": "This scenario does not assume a specific dollar-value approval threshold — approval rules, routing hierarchy and thresholds are configured per Oracle Fusion implementation and should be sourced from the customer's configuration or DataVault where available."
  },
  "preconditions": [
    "Oracle Fusion General Ledger is configured and available, with appropriate user access.",
    "A validated journal exists and requires approval per the configured approval rule.",
    "Approval workflow / routing is configured for the applicable journal category, ledger or amount range.",
    "At least one valid approver is assigned to the applicable approval rule.",
    "The test user (or approver) has the appropriate approver role and security access."
  ],
  "test_data": [
    {
      "field": "Journal",
      "example": "Validated journal submitted for approval"
    },
    {
      "field": "Ledger",
      "example": "Ledger associated with the journal"
    },
    {
      "field": "Approval Rule Context",
      "example": "Amount-based / category-based / ledger-based — scenario-defined"
    },
    {
      "field": "Approval Threshold",
      "example": "${APPROVAL_THRESHOLD} — resolved from the configured approval rule, not a fixed value"
    },
    {
      "field": "Approver",
      "example": "Assigned approver for the applicable rule"
    },
    {
      "field": "Approval Action",
      "example": "Approve / Reject / Reassign"
    }
  ],
  "business_steps": [
    {
      "step_number": 1,
      "step_name": "Sign in to Oracle Fusion",
      "action": "Sign in to the Oracle Fusion environment using an authorised General Ledger 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 General Ledger > Journals",
      "action": "Navigate to General Ledger and open the Journals work area.",
      "test_data": "",
      "expected_result": "The Journals work area opens successfully.",
      "validation_type": "action"
    },
    {
      "step_number": 3,
      "step_name": "Locate the Validated Journal Requiring Approval",
      "action": "Search for and open the validated journal that requires approval.",
      "test_data": "${JOURNAL_NUMBER}",
      "expected_result": "The correct journal is located and its status confirms it is validated and eligible for approval submission.",
      "validation_type": "action",
      "note": "This single business step replaces multiple technical actions such as opening search, entering the journal number, clicking Search and selecting the result."
    },
    {
      "step_number": 4,
      "step_name": "Submit Journal for Approval",
      "action": "Submit the journal for approval.",
      "test_data": "",
      "expected_result": "The journal is submitted successfully and its status changes to a pending-approval state.",
      "validation_type": "action"
    },
    {
      "step_number": 5,
      "step_name": "Verify Journal Routes to the Expected Approver",
      "action": "Review the workflow / approval history to confirm the routed approver(s).",
      "test_data": "${APPROVAL_RULE_CONTEXT}",
      "expected_result": "The journal routes to the approver(s) expected for the applicable approval rule (amount, category, ledger or context-based).",
      "validation_type": "action"
    },
    {
      "step_number": 6,
      "step_name": "Sign In as the Approver (or Switch Approver Context)",
      "action": "Sign in as the assigned approver, or switch to the approver's context or worklist.",
      "test_data": "${APPROVER}",
      "expected_result": "The approver can access the submitted journal in their worklist or notifications.",
      "validation_type": "action"
    },
    {
      "step_number": 7,
      "step_name": "Review the Submitted Journal",
      "action": "Open and review the submitted journal, including header, lines and supporting details.",
      "test_data": "",
      "expected_result": "Journal details are visible and available for approval review.",
      "validation_type": "action"
    },
    {
      "step_number": 8,
      "step_name": "Take the Approval Action",
      "action": "Take the applicable approval action — approve, reject or reassign the journal.",
      "test_data": "${APPROVAL_ACTION}",
      "expected_result": "Oracle Fusion accepts the approval action without unexpected errors.",
      "validation_type": "action"
    },
    {
      "step_number": 9,
      "step_name": "Verify Journal Status Updates Accordingly",
      "action": "Confirm the journal status following the approval action.",
      "test_data": "",
      "expected_result": "Journal status updates correctly — Approved, Rejected, or Pending (when reassigned) — as applicable to the action taken.",
      "validation_type": "action"
    },
    {
      "step_number": 10,
      "step_name": "Review Rejection Reason (If Rejected)",
      "action": "If the journal was rejected, review the rejection reason and comments recorded by the approver.",
      "test_data": "",
      "expected_result": "Rejection reason is captured and visible for corrective action.",
      "validation_type": "action",
      "note": "This step applies only to rejection variations of the scenario."
    },
    {
      "step_number": 11,
      "step_name": "Resubmit Corrected Journal Where Applicable",
      "action": "Correct the journal as needed and resubmit it for approval.",
      "test_data": "",
      "expected_result": "The corrected journal is resubmitted successfully and re-enters the approval routing.",
      "validation_type": "action"
    },
    {
      "step_number": 12,
      "step_name": "Verify Final Approval Status Before Posting Eligibility",
      "action": "Confirm the journal's final approval status and its eligibility for posting.",
      "test_data": "",
      "expected_result": "The journal reaches the expected final approval status (e.g. Approved) and is correctly eligible — or correctly blocked — for posting based on that status.",
      "validation_type": "business_assertion",
      "note": "This is the main business assertion for the scenario — the test confirms the journal's actual approval status and posting eligibility, not merely that an approval action was clicked."
    }
  ],
  "expected_results": [
    "Journals requiring approval route correctly to the configured approver(s) based on the applicable rule (amount, category, ledger or context-based).",
    "Single-level and multi-level approval routing behave as configured.",
    "Approve, reject and reassign actions correctly update journal status.",
    "Rejected journals can be corrected and resubmitted for approval.",
    "Journals cannot be posted before reaching the required approval status.",
    "Approved journals are correctly available for posting."
  ],
  "validation_checkpoints": [
    "Journal is in a validated, approval-eligible state before submission.",
    "Journal routes to the correct approver per the applicable rule.",
    "Approval rule context (amount, category, ledger) is correctly applied.",
    "Approve, reject and reassign actions are correctly processed.",
    "Journal status reflects the approval action taken.",
    "Rejection reason is captured when applicable.",
    "Corrected journal can be resubmitted and re-routed.",
    "Journal cannot be posted prior to required approval.",
    "Final approval status is accurately reflected before posting eligibility.",
    "Multi-level approvals route through each required level."
  ]
}
