A Phase-by-Phase Process for a First Live Payroll Run with Zero Errors
Audience: HR Heads, Payroll Managers, and IT Leads managing a payroll system transition | Read time: 8 min
Payroll data migrations fail in predictable ways: incomplete data extracted from the outgoing system, fields that do not map cleanly to the new platform, a parallel run skipped to save time, and an error discovered in month two that traces back to a corrupted import on day one.
This guide gives you the process that prevents all of that. It adds three to four weeks to your transition timeline. It saves months of post-go-live remediation.
Phase 1: Data Inventory — Know What You Have Before You Move It
The most dangerous assumption in a payroll migration is that your current system holds everything you need in a clean, complete, importable format. Start with an explicit inventory of every required data field, its current format, and where it actually lives.
Employee master data — the non-negotiable foundation
| Field | Required format | Common source problem |
| Full legal name | Exact as on PAN card | Nicknames or shortened names in HR records differ from PAN — breaks TDS filing |
| PAN number | 10-char alphanumeric, verified | Placeholder or unverified PANs in legacy system — any incorrect PAN breaks Form 24Q |
| UAN (Universal Account Number) | 12-digit EPFO-issued number | Missing for employees who joined before UAN was mandatory — must be retrieved from EPFO Unified Portal |
| ESIC IP number | 10-digit ESIC-issued number | Missing for employees promoted above ₹21,000 ceiling — they retain their ESIC history even if no longer contributing |
| Bank account + IFSC | Current account number, active IFSC code | Stale IFSCs post bank mergers (BoB-Dena, UBI-OBC, SBI rural IFSCs) — salary transfers reject silently |
| Date of joining | DD/MM/YYYY exact | Month-year only in old system — exact date required for correct gratuity calculation and 240-day PF rule |
| Date of birth | DD/MM/YYYY per Aadhaar/PAN | Estimated or rounded birth dates — affects ESIC eligibility age cut-off and tax rebate calculations |
| CTC component structure | Per-component monthly amounts: Basic, HRA, conveyance, special allowance, etc. | Only gross CTC stored; individual components must be reconstructed from offer letters before import |
| Tax regime declaration | Old or New regime per financial year | Not captured in most legacy systems — must be collected fresh from all employees before first payroll run |
| Work location (state) | Must map to PT schedule and LWF board | City recorded but not state — affects PT slab, LWF applicability, and S&E Act registration |
Year-to-date financial data — mandatory for mid-year migrations
| YTD data required | What breaks without it |
| Month-by-month salary components — April through migration month | Without YTD figures, TDS for remaining months must be estimated. Estimated TDS produces an incorrect Form 16 that prevents accurate employee ITR filing. |
| YTD TDS deducted and deposited per employee, per quarter | Directly feeds Form 26AS reconciliation. Missing TDS history = employee ITR discrepancies and Form 16 errors that surface in June. |
| Leave balance (EL, SL, CL) accumulated through migration date | Any employee exiting after migration has incorrect leave encashment in F&F. Understatement creates legal exposure; overstatement creates overpayment. |
| Investment declarations and proofs submitted YTD | Without declared investments, new system re-calculates TDS from scratch — over-deducting for old-regime employees who have already submitted proofs. |
| Outstanding salary advances or loans | Deductions either disappear (employee windfall) or get re-entered incorrectly. Either creates a payroll discrepancy in month two that is harder to trace. |
| Variable pay and bonus paid YTD | Affects annual tax computation, Payment of Bonus Act eligibility calculations, and TDS structuring for remaining months. |
Phase 2: Clean Data Extraction
Most payroll systems can export data. The format and completeness of that export varies considerably. Do not assume a single export from the outgoing system covers everything.
- Request exports in CSV or Excel — not PDF. PDFs cannot be processed programmatically and require error-prone manual re-entry.
- Export employee master, YTD salary history, and statutory contribution data as separate files. A single combined export frequently omits fields stored in different system modules.
- Cross-check the employee list against your EPFO portal — export the ECR for the current financial year and verify every active employee has a matching UAN record. Discrepancies must be resolved before migration.
- Validate bank account data against your bank’s last salary NACK file — rejected transactions immediately identify stale or closed account numbers.
- Run an ESIC portal check for all employees at or below the ₹21,000 threshold — download contribution history and verify it matches your payroll system employee-by-employee.
- If your legacy system stored only gross CTC without component breakdowns: pull offer letters and salary revision letters for each employee and reconstruct the component structure. This cannot be skipped — payroll software needs per-component data to calculate PF, TDS, and ESI correctly.
The single most common migration failure: importing gross salary and attempting to reconstruct component breakdowns after go-live. The calculation engine requires Basic, HRA, conveyance, and other allowances as separate fields. A gross-only import produces incorrect PF and TDS from the first payroll run — and the correction loop is expensive.
Phase 3: Pre-Import Validation
Build a validation checklist and run it against the extracted data before submitting anything to the new system. Errors found pre-import take minutes to fix. The same errors found post-go-live take days to trace and weeks to clean.
| Validation check | How to run it |
| PAN format: 10 characters, pattern AAAAA9999A | Excel: =AND(LEN(A1)=10, EXACT(A1,UPPER(A1))). Flag any that fail the format check. Unverified PANs must be confirmed against employee’s physical PAN card or Form 16 from prior year. |
| UAN: 12-digit numeric, no duplicates in employee list | Excel: LEN check + Remove Duplicates. Any blank UAN must be retrieved from EPFO Unified Portal (epfindia.gov.in) using the employee’s PAN before import. |
| Bank IFSC: current and active post all bank mergers | Cross-reference against RBI’s IFSC list or your bank’s NEFT/RTGS validator. Watch for: SBI rural IFSCs from pre-2017, BoB merged bank IFSCs, Dena Bank and Vijaya Bank codes. |
| CTC component totals = declared gross CTC | Sum of Basic + HRA + conveyance + special allowance + all other allowances must equal gross CTC for each employee. Any mismatch = data entry error — find and fix before import. |
| YTD TDS reconciliation | Sum monthly TDS per employee from old system. Compare to Form 26AS if accessible via TRACES. Significant variances per employee flag a TDS computation problem inherited from the old system. |
| Leave balance sanity check | EL balance = (monthly accrual rate × months served) − leave taken. If any employee balance exceeds the policy carry-forward cap, the carry-forward rule was not enforced in the old system — decide whether to carry or cap at migration. |
| Total count: records in export = active headcount | Count rows in export file. Should match active payroll headcount exactly. Any discrepancy means records were dropped in export — identify the missing employees before proceeding. |
Phase 4: The Parallel Run
A parallel run processes one full payroll cycle in the new system using the same inputs as the old system — before going live. Outputs are compared line by line. This is the single step that separates clean migrations from expensive recoveries.
- Process the parallel for the month immediately before go-live, not a historical month. Use real payroll data — not test data with round salary figures.
- Compare at employee level, not in aggregate. A matching grand total can hide two equal-and-opposite errors that net to zero at the total but are wrong for the affected employees.
- Acceptable variance: rounding differences of ±₹1 due to different rounding logic. Every other discrepancy — TDS, PF, gross salary, net pay — requires root-cause investigation before go-live.
- Document the parallel run: employee count processed, total gross, total TDS, total PF, total ESIC, discrepancies found, root cause, resolution action, and sign-off by HR and Finance.
- Do not compress the parallel run to save time. A parallel run takes 2–3 days and eliminates the largest class of migration failures. Post-go-live error remediation costs 10–20× more in time and effort.
Paybooks includes a parallel run as a standard part of onboarding for all new customers — not as an optional extra. The Paybooks implementation team reviews the parallel run results before confirming a go-live date. If discrepancies exist, go-live is held until root cause is identified and resolved.
Phase 5: Go-Live and the First Two Cycles
Go-live is not the end of the migration. The first two live payroll cycles carry elevated risk as edge cases surface that the parallel run did not exercise.
| Stage | Actions required |
| First payroll — pre-credit review | Before salary is credited: manually review 8–10 employee payslips across salary bands. Check gross matches expected CTC, TDS is at declared regime rate, PF and ESIC deductions are correct, net pay is consistent with offer letter. |
| First payroll — post-credit | Confirm all bank transfers credited within 24 hours. Pull NACK file from bank and investigate any rejected transactions. Process re-credits within the same business day if possible. |
| Week 2: statutory filings | Verify PF ECR was filed and deposit made by 15th. Verify TDS deposit made by 7th. Verify ESIC deposit made by 15th. Download and file all challan confirmation copies — these are the audit trail for the first month on the new system. |
| Month 2: full validation | Second month payroll exercises edge cases not in month 1: salary revisions applied in month 1 now carry through, employees who joined in month 1 have their first full-month payslip, and LOP adjustments from month 1 attendance are processed. If month 2 runs cleanly, the migration is confirmed successful. |
| Paybooks migration: guided setup, parallel run standard, first payroll in 7 business days. Our implementation team manages the data template, validation checklist, parallel run, and go-live sign-off. You review and approve — we do the work. paybooks.in | info@paybooks.in | +91 80 4710 7171 |