{
  "test_id": "ORCL.HCM.OTL.TIMECARD.ENTRY",
  "scenario_name": "Timecard Entry",
  "application": "Oracle Fusion Cloud",
  "product": "HCM",
  "module": "Time and Labor",
  "process": "Timecard Entry",
  "business_flow": "Time-to-Pay",
  "scenario_type": "Positive / Negative / Boundary / Security",
  "priority": "High",
  "automation_status": "SyntraFlow Ready",
  "library": "Syntra Standard",
  "canonical_url": "https://www.syntraflow.cloud/oracle-erp-testing-tool/test-library/hcm/time-and-labor/timecard-entry/",
  "objective": {
    "intro": "This test validates creation, editing and submission of worker timecards using eligible workers, valid time periods, time types, hours and costing attributes across Oracle Fusion HCM Time and Labor.",
    "confirms": [
      "each eligible worker can enter, edit and submit a timecard using valid time types, hours and the correct time period",
      "time can be correctly attributed to a project, project task or cost center where costing entry applies",
      "time entered against or outside the worker's configured work schedule is correctly recorded or flagged as a conflict",
      "deliberately invalid entries — missing or invalid time type, negative or excessive hours, duplicate or overlapping entries — are correctly rejected or flagged rather than silently accepted",
      "inactive, terminated or ineligible workers cannot have a timecard entered or submitted on their behalf",
      "unauthorized users cannot enter time on behalf of another worker without the required security access"
    ],
    "scope_note": "A negative or boundary Timecard Entry scenario passes when Oracle correctly enforces the expected rule; this test does not attempt to certify a specific Oracle application defect. Where an entry or validation appears unexpected or its cause is unclear, it is treated as requiring further investigation and supporting evidence rather than a confirmed conclusion. This page catalogs 36 individual Timecard Entry scenarios as a single comprehensive reference rather than as separate indexable pages."
  },
  "preconditions": [
    "Oracle Fusion Time and Labor access is available to the test user.",
    "A representative eligible ${WORKER} with an active assignment and a configured ${WORK_SCHEDULE} exists.",
    "Valid and invalid ${TIME_TYPE} values are available or can be constructed for entry testing.",
    "A valid ${TIME_PERIOD}, plus at least one closed or future period, is available for period-boundary testing.",
    "${PROJECT} and ${PROJECT_TASK} references, including at least one invalid or closed project, are available for costing entry testing.",
    "An inactive worker, a terminated worker and a worker who is not eligible for time entry are available or can be constructed for negative testing.",
    "A user without time-entry authorization for ${WORKER} is available for security testing."
  ],
  "test_data": [
    {
      "field": "Worker",
      "example": "${WORKER}"
    },
    {
      "field": "Assignment",
      "example": "${ASSIGNMENT}"
    },
    {
      "field": "Time Period",
      "example": "${TIME_PERIOD}"
    },
    {
      "field": "Time Type",
      "example": "${TIME_TYPE}"
    },
    {
      "field": "Standard Hours",
      "example": "${STANDARD_HOURS}"
    },
    {
      "field": "Work Schedule",
      "example": "${WORK_SCHEDULE}"
    },
    {
      "field": "Project",
      "example": "${PROJECT}"
    },
    {
      "field": "Project Task",
      "example": "${PROJECT_TASK}"
    },
    {
      "field": "Cost Center",
      "example": "${COST_CENTER}"
    },
    {
      "field": "Manager",
      "example": "${MANAGER}"
    }
  ],
  "business_steps": [
    {
      "step_number": 1,
      "step_name": "Sign In to Oracle Fusion HCM",
      "action": "Sign in to Oracle Fusion Cloud with a user account that has Time and Labor access.",
      "test_data": "",
      "expected_result": "The Oracle Fusion Cloud home page loads successfully for the authenticated user.",
      "validation_type": "action"
    },
    {
      "step_number": 2,
      "step_name": "Navigate to Time and Labor",
      "action": "Navigate to the Time and Labor work area used to enter and manage timecards.",
      "test_data": "",
      "expected_result": "The Time and Labor work area opens successfully.",
      "validation_type": "action"
    },
    {
      "step_number": 3,
      "step_name": "Select Worker and Time Period",
      "action": "Select the eligible worker and the time period for which the timecard will be entered.",
      "test_data": "${WORKER} / ${TIME_PERIOD}",
      "expected_result": "The worker's timecard opens for the selected time period.",
      "validation_type": "action"
    },
    {
      "step_number": 4,
      "step_name": "Enter Time Type and Hours",
      "action": "Enter the required time type and hours for the applicable days of the time period.",
      "test_data": "${TIME_TYPE} / ${STANDARD_HOURS}",
      "expected_result": "The time type and hours are entered on the timecard.",
      "validation_type": "action"
    },
    {
      "step_number": 5,
      "step_name": "Attribute Time to Project, Task or Cost Center",
      "action": "Attribute the entered time to a project, project task or cost center where costing entry applies to the worker's assignment.",
      "test_data": "${PROJECT} / ${PROJECT_TASK} / ${COST_CENTER}",
      "expected_result": "The entry is attributed to the correct project, task or cost center.",
      "validation_type": "action",
      "note": "Applies only where project or cost-center attribution is configured for the worker's assignment."
    },
    {
      "step_number": 6,
      "step_name": "Review for Schedule Conflicts",
      "action": "Review the timecard for conflicts against the worker's configured work schedule, including entries below, above or outside the scheduled hours.",
      "test_data": "${WORK_SCHEDULE}",
      "expected_result": "Any schedule conflict is correctly flagged, and entries matching the configured schedule show no conflict.",
      "validation_type": "business_assertion",
      "note": "Correctly flagging a schedule conflict is a passing outcome for negative and boundary scenarios, not a failure."
    },
    {
      "step_number": 7,
      "step_name": "Submit the Timecard",
      "action": "Submit the completed timecard for processing.",
      "test_data": "",
      "expected_result": "The timecard is submitted successfully, or a deliberately invalid submission is rejected with the expected validation.",
      "validation_type": "action"
    },
    {
      "step_number": 8,
      "step_name": "Verify Entry Recorded Correctly",
      "action": "Confirm that the submitted timecard entry recorded correctly against the intended time period, time type, hours and costing attributes.",
      "test_data": "",
      "expected_result": "The entry recorded correctly against the intended time period, and status accurately reflects a valid submission or an expected validation for an invalid one.",
      "validation_type": "business_assertion",
      "note": "This is the main business assertion for the scenario across the full catalog of 36 Timecard Entry variations."
    }
  ],
  "expected_results": [
    "Each eligible worker's timecard entry recorded correctly against the intended time period, time type and hours.",
    "Project, task and cost-center attribution recorded correctly where costing entry applies.",
    "Schedule conflicts — below, above or outside the configured work schedule — are correctly flagged.",
    "Deliberately invalid entries raise the expected data validation rather than being silently accepted.",
    "Inactive, terminated and ineligible workers are correctly blocked from timecard entry.",
    "Unauthorized users are correctly prevented from entering time on another worker's behalf."
  ],
  "validation_checkpoints": [
    "Time entry recorded correctly against the intended period.",
    "Time type and hours correct.",
    "Project/task/cost-center attribution correct where applicable.",
    "Schedule conflicts correctly flagged.",
    "Ineligible workers correctly blocked.",
    "Unauthorized access correctly prevented."
  ]
}
