Running parallel payrolls

Run parallel payrolls to ensure data accuracy and a smooth transition to a new provider.

A parallel payroll involves running payrolls simultaneously in both the existing and new payroll systems to compare results and identify discrepancies. This process helps ensure data accuracy and a smooth transition to the new payroll provider by resolving any variances before going live.

The upside of parallel payrolls is that if done properly it can build confidence in a new payroll provider and put the customer at ease. The downside of parallel payrolls is that they can create additional operational overhead during the setup process.

Parallel payrolls are not always the right tool for your customers, but when needed they can be easily achieved in Check by following the steps below. If you prefer a potentially easier alternative, see Check’s Historical Payroll Audit Report.

Set up your company in Check

Setting up the company is the first step in the parallel payroll process. The company’s information is required to create new payrolls and historical data is required to ensure accuracy of go-forward payroll calculations.

Setup can be completed via any of the avenues we offer, including:

Create a new draft payroll in Check that mirrors the company’s next payroll on the existing system

Now that the company is set up on Check, you should be able to set up their next payroll on Check as a draft payroll, using either our Payroll API, or the Run Payroll Component.

When you do this, you should be exactly copying the data about employees and earnings on the payroll from the payroll that the company is running on the existing system (the one they are switching away from). You can gain this data by generating a report from the existing system and using it as a basis to feed into Check.Preview the draft payroll in Check, and compare the calculation output against the numbers in the existing system

Use the Preview Payroll endpoint (or the Run Payroll Component) to calculate taxes on the draft payroll you created in step 2. Now compare the numbers for taxes, benefits, and post-tax deductions against those that came from the existing system.

If they’re not penny-for-penny accurate, don’t worry. It is entirely normal for different payroll engines to round taxes slightly differently.

However, if there are large discrepancies between the numbers you’re seeing, it could be a sign that either the existing system is misconfigured, or the data in Check is not set up completely correctly.

Some common causes for discrepancies are:

  • A difference in pay frequency on the payrolls being compared. Pay frequency determines taxation for income taxes, and so if you are comparing a quarterly payroll against a bi-weekly one, you should expect to see large differences.
  • Missing or misconfigured employee withholdings. Filing status, additional withholding, and dependents all control income tax calculations.
  • Missing or misconfigured benefits or post-tax deductions.

Dig into the discrepancies to determine what the root cause might be. As soon as you address it, you can re-preview the draft payroll to see the new result produced by Check.

Add the new payroll to the company’s pay history in Check using the External Payroll API

Once you’re satisfied that the two systems match, the last step of the Parallel Payroll process is to add the payroll that was run on the existing system into Check, using the External Payrolls API. You can also add this using the historical payroll upload tool in Console.

This step is important because the next payroll that the company runs in Check will need to know about the payroll that was just run in the existing system.

Once the payroll has been uploaded to Check, the company’s data in Check will match that in the existing system, and you’re free to proceed with migration!

Did this answer your question?
😞
😐
🤩

Last updated on June 30, 2024