> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flowpayroll.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Run a parallel pay run

> Before you go live, run Flow Payroll alongside your old system, check gross to net and year-to-date figures balance to the penny, then switch over.

A parallel run is how you prove Flow Payroll is set up correctly before you rely on it. Your old payroll system stays live, paying your employees and reporting to HMRC as normal, while you run the same pay period in Flow with the same inputs and compare the results employee by employee. Only when they balance to the penny do you go live, and from then on Flow takes over.

Do this after you've [imported your data](/onboarding/data-templates) and before you go live.

> [!WARNING]
>
> Only one system can report a pay period to HMRC. **During the parallel run, your old system sends the FPS and makes the payments.** Flow only calculates, so don't submit an FPS from Flow for the parallel period. Flow takes over the FPS from your first live period.

## Before you start: check your year-to-date figures

If you're switching part-way through the tax year, your results can only match if the year-to-date (YTD) figures are right. Most differences in a parallel run trace back to these.

* **Use the right period.** YTD figures must be as at the **last period your old system finalised**, the one immediately before the period you parallel run. If the old system has already processed part of the period you're about to run, the figures will be counted twice.
* **Tie out the totals.** Add up each employee's YTD gross pay, taxable pay, tax, employee NI, employer NI, student loan and pension in Flow. The totals should equal your old system's year-to-date payroll summary or P11 report, and the year-to-date values on the last FPS it sent to HMRC.

Switching at the start of the tax year? There are no YTD figures to check, so go straight to the parallel run.

## Run the period in both systems

**1. Process the period in your old system**

Run the period as you normally would: submit the FPS and pay your employees from your old system. Keep its payslips and payroll summary to compare against.

**2. Open the same period in Flow**

Go to **Pay runs** and select **Start new pay run**. Check the pay schedule, tax period and payment date match your old system.

[Running a pay run →](/guides/pay-runs/running-a-pay-run)

**3. Enter exactly the same inputs**

Use the same hours, overtime, bonuses, absences, starters, leavers and pay changes as in your old system. If you can, import the same payments file into both: in Flow, click **Import CSV** in the pay run's top bar. Using one source means any difference comes from the calculation, not the data entry.

[Importing payments from CSV →](/guides/pay-runs/running-a-pay-run#importing-payments-from-csv)

**4. Compare the results**

Review each employee's pay lines in the **Payments** step and preview their payslips. Payslips viewed before you lock are marked **Preview**. Compare them against your old system using the checklist below.

**5. Lock the parallel pay run if you're happy**

Once everything balances, you can lock the parallel pay run in Flow, but you don't have to. Locking doesn't send anything to HMRC. If you do lock it, don't select **Submit FPS to HMRC** for this period: your old system has already reported it.

## What to compare

Check every employee thoroughly. **Gross to net and year-to-date figures must balance to the penny**, for each employee and in total. Don't accept a difference because it's small: a few pence on one payslip can point to a set-up error that grows every period.

| Area | What should match |
| - | - |
| **Pay lines** | Every line item: salary, hours, overtime, bonus, allowances and deductions. Check the quantity, rate and amount. |
| **Gross to net** | Gross pay, taxable pay, tax, employee NI, student and postgraduate loan, pension, statutory pay, court order deductions and net pay. |
| **Employer costs** | Employer NI (by NI category), employer pension contributions and pensionable pay. |
| **Year to date** | After the period, each employee's updated YTD figures. |
| **Totals** | Total gross, tax, NI and net pay for the period, and what you owe HMRC for the period. Your net pay total should match the payment file. |

## If something doesn't match

If any figure doesn't balance to the penny, find out why before you go live. A penny can occasionally come from rounding, but confirm that's the cause rather than assuming it. These are the usual causes:

| Difference in | Likely cause |
| - | - |
| **Tax** | A different tax code, or the tax code is on a cumulative basis in one system and week 1/month 1 in the other. |
| **Tax and NI** | YTD figures taken from the wrong period, a different NI category, or a pay element set up with the wrong tax or NI treatment. |
| **Pension** | A different earnings basis (qualifying earnings or full pay), a different tax relief method (relief at source or net pay arrangement), or a pay element marked pensionable in one system and not the other. |
| **Gross pay** | A different proration method for starters, leavers or unpaid leave (working days or calendar days), or a different holiday pay calculation. |
| **Which period** | The payment date falls in a different tax period, or the pay schedule's reference period is set differently. |

Fix the cause in Flow (an employee's details, a pay element or the pay schedule) and the pay run recalculates. Then compare again.

## Go live: Flow takes over

When gross to net and year-to-date figures balance to the penny for every employee, and the totals agree, you're ready to switch.

**1. Refresh your year-to-date figures**

Update each employee's YTD figures in Flow to match the **last period your old system submitted**, so Flow starts from exactly where your old system finished. Tie out the totals again.

**2. Stop using your old system**

Your old system's last FPS is for the period before go-live. From your go-live period onwards, it doesn't submit anything to HMRC or make any payments.

**3. Run and lock your first live pay run in Flow**

Process your go-live period in Flow, check it as carefully as the parallel run, then lock it and select **Submit FPS to HMRC**. From now on, Flow sends every FPS.

> [!WARNING]
>
> Lock only when you're happy with the results.

> [!TIP]
>
> Want to parallel run more than one period before you switch, for example because you run weekly and monthly payrolls or pay a lot of statutory pay? Talk to your onboarding contact before you start.

## Next steps

> **[Switch to Flow Payroll](/onboarding/overview)**
>
> Closing down your old provider once your first pay run has gone through.

> **[HMRC & RTI](/guides/compliance/hmrc-rti)**
>
> How your FPS is sent to HMRC, and what to do if it fails.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.