{
  "test_id": "ORCL.R2R.GL.JRN.REVERSE",
  "scenario_name": "Reverse Journal",
  "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/reverse-journal/",
  "objective": {
    "intro": "The objective of this test is to verify that an authorised General Ledger user can reverse a posted journal in Oracle Fusion General Ledger — generating a correct reversal journal, applying a valid reversal period and method, posting that reversal, and confirming the resulting net accounting effect together with the original journal.",
    "confirms": [
      "the original journal is Posted and eligible for reversal",
      "the reversal period is accepted, consistent with the ledger's reversal period configuration",
      "the reversal method (manual or automatic) is applied correctly",
      "the reversal journal is generated with debit and credit amounts correctly reversed line-by-line",
      "the reversal journal correctly references the original journal",
      "the reversal journal passes validation and can be posted",
      "the original journal's status reflects that it has been reversed",
      "the combined net accounting effect of the original and reversal journals is correct once both are posted"
    ],
    "scope_note": "This scenario does not claim that journal creation, validation, approval or posting of the original journal are covered — those are separate upstream test cases in the same GL Journals library. The reversal journal's own posting is included so the net accounting effect can be verified."
  },
  "preconditions": [
    "Oracle Fusion General Ledger access is configured for the test user.",
    "A posted journal eligible for reversal exists.",
    "A valid reversal period is available — the same period or a subsequent open period, depending on ledger configuration.",
    "Reversal method and reversal category are configured, manual and/or automatic as applicable to the journal source.",
    "The accounting period intended for the reversal is open.",
    "The test user has permission to reverse and post General Ledger journals."
  ],
  "test_data": [
    {
      "field": "Original Posted Journal",
      "example": "${ORIGINAL_JOURNAL} — e.g. GL-JRN-10045 (Posted)"
    },
    {
      "field": "Ledger",
      "example": "${LEDGER} — e.g. Vision Operations (USD)"
    },
    {
      "field": "Reversal Period",
      "example": "${REVERSAL_PERIOD} — same-period example: Jul-25; next-period example: Aug-25"
    },
    {
      "field": "Reversal Method",
      "example": "${REVERSAL_METHOD} — Manual or Automatic, where configured for the journal source"
    },
    {
      "field": "Currency",
      "example": "${CURRENCY} — matches original journal; foreign-currency example: EUR"
    }
  ],
  "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 the General Ledger Journals work area.",
      "test_data": "",
      "expected_result": "The Journals work area opens successfully.",
      "validation_type": "action"
    },
    {
      "step_number": 3,
      "step_name": "Locate the Posted Journal to Reverse",
      "action": "Search for and open the original posted journal that is eligible for reversal.",
      "test_data": "${ORIGINAL_JOURNAL}",
      "expected_result": "The correct original journal is located and its status confirms it is Posted and eligible for reversal.",
      "validation_type": "action",
      "note": "This single business step replaces multiple technical actions such as opening search, entering the journal or batch number, clicking Search and selecting the result."
    },
    {
      "step_number": 4,
      "step_name": "Initiate Journal Reversal",
      "action": "Select Reverse Journal for the located journal.",
      "test_data": "",
      "expected_result": "The Reverse Journal dialog opens, pre-referencing the original journal.",
      "validation_type": "action"
    },
    {
      "step_number": 5,
      "step_name": "Select Reversal Period",
      "action": "Select the accounting period into which the reversal journal should be created.",
      "test_data": "${REVERSAL_PERIOD}",
      "expected_result": "The selected reversal period is accepted, consistent with the ledger's reversal period configuration (same period or a subsequent open period).",
      "validation_type": "action"
    },
    {
      "step_number": 6,
      "step_name": "Select Reversal Method",
      "action": "Select the reversal method — manual reversal now, or automatic reversal on a defined trigger — where configured for the journal source.",
      "test_data": "${REVERSAL_METHOD}",
      "expected_result": "The selected reversal method is accepted.",
      "validation_type": "action"
    },
    {
      "step_number": 7,
      "step_name": "Review the Generated Reversal Journal",
      "action": "Review the reversal journal generated by Oracle, including header details and reversed line amounts.",
      "test_data": "",
      "expected_result": "The reversal journal mirrors the original journal's lines with debit and credit amounts reversed, and references the original journal.",
      "validation_type": "action"
    },
    {
      "step_number": 8,
      "step_name": "Save the Reversal Journal",
      "action": "Select Save on the reversal journal.",
      "test_data": "",
      "expected_result": "Oracle Fusion successfully processes the save request without unexpected errors.",
      "validation_type": "action"
    },
    {
      "step_number": 9,
      "step_name": "Validate the Reversal Journal",
      "action": "Run journal validation on the newly created reversal journal.",
      "test_data": "",
      "expected_result": "The reversal journal passes validation without unexpected errors.",
      "validation_type": "action"
    },
    {
      "step_number": 10,
      "step_name": "Post the Reversal Journal",
      "action": "Submit the reversal journal for posting.",
      "test_data": "",
      "expected_result": "The reversal journal reaches Posted status.",
      "validation_type": "action"
    },
    {
      "step_number": 11,
      "step_name": "Verify Original and Reversal Journal Statuses",
      "action": "Confirm the status of both the original journal and the newly posted reversal journal.",
      "test_data": "",
      "expected_result": "The original journal is flagged as Reversed and the reversal journal shows Posted status.",
      "validation_type": "action"
    },
    {
      "step_number": 12,
      "step_name": "Verify Net Accounting Effect Across Both Journals",
      "action": "Compare the account balances contributed by the original journal and the reversal journal together.",
      "test_data": "",
      "expected_result": "The combined net accounting effect of the original and reversal journals is correct — zero net impact on affected accounts for a full reversal.",
      "validation_type": "business_assertion",
      "note": "This is a primary business assertion for the scenario, completing the Create Journal → Post → Verify Accounting → Reverse → Post Reversal → Verify Net Effect chain. It confirms the reversal actually offsets the original journal's accounting impact — a materially higher-value check than simply confirming the Reverse action or Post action completed."
    },
    {
      "step_number": 13,
      "step_name": "Verify Reversal Reference to the Original Journal",
      "action": "Confirm the reversal journal carries a traceable reference back to the original journal, and that the original journal exposes a reference to its reversal.",
      "test_data": "",
      "expected_result": "The reversal journal is identifiable by its generated journal number and reference, with confirmed cross-reference linkage to the original posted journal.",
      "validation_type": "business_assertion",
      "note": "This is the closing business assertion for the scenario — confirming full traceability between the original and reversal journals for audit and reporting purposes."
    }
  ],
  "expected_results": [
    "Reversal journal is created successfully and correctly references the original posted journal.",
    "Reversal journal lines mirror the original journal with debit and credit amounts reversed.",
    "Reversal period is applied consistent with the ledger's reversal period configuration.",
    "Reversal method (manual or automatic) is applied as intended.",
    "Reversal journal passes validation without unexpected errors.",
    "Reversal journal can be posted successfully.",
    "Original journal status reflects that it has been reversed.",
    "Combined net accounting effect of the original and reversal journals is correct — zero net impact for a full reversal.",
    "Reversal journal is available for subsequent inquiry and reporting scenarios."
  ],
  "validation_checkpoints": [
    "Original journal status is Posted and eligible for reversal.",
    "Reversal period matches intended test data and ledger configuration.",
    "Reversal method matches intended test data.",
    "Reversal journal line amounts are the exact reverse of the original journal.",
    "Reversal journal references the original journal number/batch.",
    "Reversal journal passes validation.",
    "Reversal journal reaches Posted status.",
    "Original journal exposes a reference to its reversal.",
    "Net accounting effect across both journals nets to zero for a full reversal.",
    "Captured reversal journal number/identifier can be used by subsequent automated scenarios."
  ]
}
