EgisedgeOracle Partner
TestingHCM6 min readBy Egisedge Technologies

Oracle HCM Payroll Parallel Run: Step-by-Step Guide

How to plan and run an Oracle HCM payroll parallel run: balance loads, Calculate Payroll, Oracle payroll reports, reconciling with legacy and sign-off.

A payroll parallel run is the last proof that Oracle Fusion Cloud Payroll will pay people correctly. You calculate the same pay period in the legacy system and in Oracle, with the same inputs, and compare the results. Every difference is explained before you switch off the old payroll.

This guide sets out a practical approach. Oracle feature names come from Oracle's current documentation. Confirm screens and tasks in your own instance. For the wider HCM setup sequence, see our Oracle HCM implementation guide.

1. Decide what the parallel run must prove

Agree the scope before the first cycle. A parallel run should prove three things:

  • Correct pay. Gross, deductions and net pay match for each employee, or differ for a known and accepted reason.
  • Correct balances. Year-to-date and other cumulative balances carry forward correctly.
  • A repeatable process. The payroll team can run the cycle in Oracle on time, without the implementation team doing the work.

Oracle's own guidance for first payrolls makes the same point. Compare at employee level, by earning and deduction category, and at overall totals. Matching totals alone do not show that each person was paid correctly.

2. Plan the cycles

Oracle does not prescribe how many parallel runs to do. Common practice is:

  • At least two full cycles, run on real period data.
  • A third cycle where pay is complex, there are several payroll frequencies, or the period includes bonuses, arrears or year-end.
  • One payroll period per cycle, matched exactly to a period already paid in legacy.

Book the payroll team's time early. Each cycle needs the full input, run and review effort of a live payroll.

3. Prepare Oracle before cycle one

Most parallel run differences start in setup, not in the run. Check these first:

  • Legislative data groups and payroll statutory units. Payroll data is partitioned by legislative data group, and each payroll statutory unit belongs to one. Get this right before loading anything.
  • Payroll definitions. These hold the frequency and processing schedule. Align period dates with legacy.
  • Elements and eligibility. Elements only calculate for an employee through element eligibility. Oracle advises creating eligibility for statutory deduction elements before hiring workers.
  • Balances and feeds. Check that each element feeds the balances your reports and statutory returns use.

Our HCM core setup playbook lists the order we follow.

4. Load data and opening balances

Load workers, assignments, salaries and recurring element entries with HCM Data Loader. Use the same cut-off as the legacy period you will compare.

If you go live mid-year, load opening balances. Oracle describes this as an HCM Data Loader load of balance initialization batches, using a batch header and batch lines, followed by the Load Initial Balances flow. Key rules from Oracle's documentation:

  • Load initial balances before the employee is processed in a payroll.
  • If a payroll has already run for the employee, roll it back or use a balance adjustment instead.
  • The process can roll back a batch so you can correct and reload it.

Oracle publishes country-specific guidance on balance initialization, including for India. Check the guidance for your country before you design the balance file.

5. Freeze the inputs

Both systems must calculate from the same data. For each cycle:

  1. Pick a closed legacy period.
  2. Extract every input used: new hires, leavers, salary changes, overtime, absences, one-off payments and deductions.
  3. Load the same inputs into Oracle with the same effective dates.
  4. Record row counts per input type in both systems.
  5. Do not change setup in the middle of a cycle without logging it.

6. Run payroll in Oracle

Oracle provides predefined payroll flow patterns. They can be a single task, such as Calculate Payroll, or a full payroll cycle flow. You can run them as delivered or copy them as templates.

  1. Submit the flow with a clear name, for example "PARALLEL-C1-OCT".
  2. Use the flow's checklist to track tasks and roll back a task if needed.
  3. Review errors and warnings in the process results, and run the Payroll Messages Report.
  4. Fix data, then retry or roll back and rerun.
  5. Run reports before moving on to prepayments.

7. Reconcile with legacy

Oracle's documentation names the Element Results Register as a way to reconcile run results with your legacy payroll during implementation. Use the other calculation reports alongside it:

ReportUse in the parallel run
Element Results RegisterElement-level results per employee to compare with legacy
Payroll RegisterTotals by balance category and a detailed run per employee
Gross-to-Net ReportGross, deductions, net pay and employer liabilities
Payroll Activity ReportRun results, balance adjustments and initializations before payment
Payroll Balance ReportBalance results for an employee, to diagnose differences
Statutory Deduction RegisterEmployee and employer statutory liabilities

Export the Oracle and legacy results to one workbook. Match on employee number and element. Then compare in this order:

  1. Headcount. Same people paid in both systems.
  2. Totals. Gross, total deductions, net and employer cost.
  3. Elements. Each earning and deduction per employee.
  4. Balances. Year-to-date and statutory balances.

A tolerance helps triage, not sign-off. Many teams use a small rounding tolerance per employee and investigate everything above it. That threshold is your project's decision, not an Oracle rule.

8. Classify every difference

Put every difference into one category and assign an owner:

  • Oracle setup error. Fix and retest.
  • Data error. Fix the load or the input.
  • Legacy error. The old system was wrong. Get written business agreement.
  • Timing or rule change. An accepted design difference. Document it.
  • Rounding. Within the agreed tolerance.

Track counts per category from cycle to cycle. The open setup and data errors should fall towards zero.

9. Set exit criteria

Agree exit criteria before cycle one. Typical criteria are:

  • No unexplained differences in net pay.
  • All statutory deductions reconciled.
  • Costing and liabilities checked by finance.
  • The payroll team ran the last cycle with only advisory support.
  • Payment file and payslips reviewed.

Record the sign-off decision, the approver and any accepted risks. Our SIT and UAT playbook covers how this fits the wider test cycle.

Payroll parallel run checklist

  • Scope, cycles and exit criteria agreed
  • Legislative data groups, payroll definitions and elements reviewed
  • Element eligibility in place for all pay elements
  • Workers and element entries loaded with HCM Data Loader
  • Opening balances loaded before any payroll run
  • Inputs frozen and row counts matched
  • Calculate Payroll run in a named flow
  • Payroll Messages Report reviewed
  • Element Results Register compared with legacy
  • Every difference classified and owned
  • Finance has checked costing and liabilities
  • Sign-off recorded with accepted risks

Common mistakes

Comparing totals only. Two errors can cancel out. Reconcile at employee and element level.

Loading balances too late. Oracle does not let you initialize balances once a payroll has run for the employee. Plan the load first.

Changing inputs mid-cycle. A late change in one system makes the comparison meaningless.

Assuming legacy is right. Legacy errors are common. Agree them in writing rather than copying them into Oracle.

Letting consultants run every cycle. The final cycle should be run by the team that will run live payroll.

How Egisedge helps

Egisedge Technologies is an Oracle Partner, founded in 2019, with offices in Gurugram and Mahendergarh. We implement Oracle Fusion Cloud HCM, and our HCM practice is led by Jafar, our HCM Director. Our Oracle HCM references include Al Shirawi Group, Abu Dhabi Healthcare, Zayed University and Almana Group (Qatar). For Policybazaar, we delivered HR and payroll integration.

We help payroll teams plan parallel cycles, load opening balances, build the reconciliation workbook and work through differences to sign-off.

Planning an Oracle payroll go-live? Email info@egisedge.com or book a demo with our team.

Frequently asked questions

What is a payroll parallel run in Oracle HCM?

It is a test in which you calculate the same pay period in your legacy payroll and in Oracle Fusion Cloud Payroll, using the same inputs, and then compare the results employee by employee and element by element. Every difference is explained and either fixed or accepted before go-live.

How many parallel runs should we do?

Oracle does not set a number. Common practice is at least two full cycles, and three where you have complex pay, multiple payroll frequencies or a cycle that includes year-end or bonus processing. Plan for an extra cycle in case the exit criteria are not met.

Which Oracle reports help reconcile a parallel run?

Oracle's documentation describes the Element Results Register as a way to reconcile run results with your legacy payroll during implementation. The Payroll Register, Gross-to-Net Report, Payroll Activity Report and Payroll Balance Report help you check totals, balances and individual employees.

Do we need to load year-to-date balances before a parallel run?

Yes, if you go live mid-year or your calculations depend on cumulative values. Oracle's guidance is to load initial balances with HCM Data Loader before the employee is processed in a payroll. If a payroll has already run for the employee, you must roll it back or use a balance adjustment.

Talk to Egisedge about HCM

Tell us where you are and we'll reply within one working day with next steps.