Switching Payroll Mid-Year: YTD Balance or Catch-Up?
Why Beanflow does not offer a shortcut that enters a single year-to-date balance and starts payroll from there — and why the period-by-period catch-up it replaces is faster than most employers expect.
Last updated September 2026
At a glance
- Beanflow does not offer a “type in your YTD totals and start from here” option. This is a deliberate product decision, not a missing feature.
- A few YTD totals are not enough for a safe migration. CPP2 can depend on year-to-date pensionable earnings, while year-end reporting also needs pensionable and insurable earnings that are separate from the CPP and EI amounts deducted.
- A complete T4 and T4 Summary need more than employee deduction totals — employment income, pensionable and insurable earnings, income tax, and the employer portions of CPP, CPP2, and EI must also be complete.
- The reliable method is the period-by-period catch-up in our Rebuilding Payroll History guide. With CSV employee import, it takes less time than most employers expect.
The shortcut everyone asks about
If you are moving to a new payroll system in the middle of the year, the most natural request is: “Just let me enter each employee's year-to-date balance as of my last pay period, and start payroll from there.”
It is a fair question, and some payroll tools do offer it. We explored the same approach ourselves during development — a full YTD opening-balance import — and ultimately retired it before release. A safe version is possible, but it is not a simple “enter a few totals” feature. It would need additional payroll history such as pensionable and insurable earnings, employee and employer amounts needed for year-end reporting, strong validation, and safeguards that stop payroll or filing when required information is incomplete. We decided that complexity and misuse risk were too high for the current product, so Beanflow supports period-by-period catch-up instead.
Same employer switching systems — not a new employer
This guide is for the same employer moving its payroll history from another system into Beanflow. If an employee has simply left another employer and is newly hired by you, do not import that previous employer's YTD payroll into your Beanflow company. In an ordinary employer change, CRA requires the new employer to deduct CPP and EI without taking the previous employer's deductions into account. Business succession or reorganization can have special rules, so those cases should be reviewed separately.
Why a simple YTD balance is not enough
Some CRA payroll formulas can continue from employer-specific YTD amounts. For example, regular CPP and EI calculations take into account CPP contributions or EI premiums already deducted by that employer. But a safe mid-year migration still needs more than a few deduction totals: CPP2 can depend on YTD pensionable earnings, and year-end reporting needs pensionable and insurable earnings as separate values.
CPP and the $3,500 basic exemption
For regular salary or wages, the CPP formula considers the CPP already deducted by this employer, the current period's pensionable earnings, and the pay-period share of the $3,500 annual basic exemption. But CPP deducted YTD is not a substitute for the pensionable-earnings total needed for T4 Box 26.
CPP2 and the second ceiling
CPP2 applies at 4.00% to pensionable earnings above the YMPE and up to the YAMPE ($85,000 in 2026). The CRA formula uses YTD pensionable earnings as well as CPP2 already deducted, so an opening balance that omits pensionable earnings can make the next CPP2 calculation wrong.
EI and insurable earnings
For EI, the payroll calculation takes into account EI premiums already deducted by this employer and the current period's insurable earnings. But T4 Box 24 separately reports insurable earnings, so recording only the EI premium deducted YTD cannot reconstruct the full year-end record.
Income tax and pay dates
Historical income tax deducted is needed for T4 Box 22, but that total does not explain how each prior pay was calculated. Pay frequency, TD1 claims, earnings, and the tax tables in effect on each pay date can all affect the original deduction.
The practical issue is not that every opening-balance approach is impossible. It is that two migration records can show similar gross pay and deduction totals while carrying different pensionable or insurable earnings and a different CPP2 position. If an import captures only a few headline totals, it can lose values that later calculations and year-end reporting need. For the full mechanics, see CPP & EI Withholding.
What a simple YTD form can easily miss
A carefully designed opening-balance system can capture the information needed for year-end reporting. The problem is that a simple form asking only for gross pay and deductions usually does not. A T4 slip needs considerably more:
- Box 14 — employment income
- Box 16 / 16A — CPP and CPP2 contributions
- Box 18 — EI premiums
- Box 22 — income tax deducted
- Box 24 — EI insurable earnings
- Box 26 — CPP pensionable earnings
The T4 Summary additionally requires the employer portions of CPP, CPP2, and EI. Missing or approximated boxes produce slips that are incomplete or wrong — and pay stubs along the way inherit the same gaps, because a stub's YTD column is only as good as the history behind it.
The real cost: errors that surface at year-end
A shortcut like this rarely fails loudly. Payroll keeps running, stubs look plausible, and the problem surfaces months later — when T4 boxes do not reconcile with what was actually deducted, or when remittance totals and the T4 Summary tell different stories. At that point the fix is amended slips, employee questions, and a year-end reconciliation nobody planned for.
Pay stubs and T4 slips are legal documents your employees and the CRA rely on. We made the decision not to offer a path that can silently put wrong numbers on them — even though offering it would be easier.
The catch-up is less work than it sounds
Rebuilding payroll period by period has a reputation for being tedious. In practice, three things do most of the work for you:
- Import employee profiles by CSV. If the roster is in another Beanflow company, use Beanflow Export and Import directly. If it comes from another payroll provider, first map that provider's export to the Beanflow CSV template — third-party payroll CSV files are not guaranteed to import unchanged. See Employee Import & Export.
- You only go back to the first payroll of the tax year. T4 reporting follows the pay date, so the catch-up starts with the earliest payroll whose pay date falls in the current tax year — not with older history.
- Most periods take seconds. For salaried employees you confirm the amount and approve; for hourly staff you enter the hours from your records; a period with no pay is approved as zero. The system advances to the next period automatically.
The full walkthrough — including how to set the catch-up starting period, reconcile CPP/EI/tax against your historical records, and verify YTD before T4 season — is in Rebuilding Payroll History. If you are switching from another system entirely, start with Switching to Beanflow.
What if the historical records are incomplete?
If you genuinely cannot reconstruct what was paid period by period, do not guess the numbers into a catch-up and do not treat an approximate YTD entry as good enough. Contact Beanflow support — we will help you plan a migration that keeps your pay stubs and T4 accurate with the records you have.