Back to all articles
payrollguidesnigerianta-2025hrsoftware

Migrating from spreadsheet payroll to software: a 2026 guide

How Nigerian SMEs migrate from Excel payroll to compliant software — data prep, parallel run, NTA 2025 cutover, and what to do on day one of the new system.

AnooreHR Team··9 min read

You know spreadsheet payroll is a problem. You process it every month and it takes most of a day. Your accountant adds two hours reconciling the journal entries. An employee queries their net pay, and you spend 20 minutes tracing a formula someone overwrote three months ago. You know this isn't sustainable. You just haven't found the moment to fix it.

That moment tends to arrive in one of three ways: a tax audit query, a new hire who asks to see their payslip in a system, or — for Nigerian employers since January 2026 — a payroll with a completely different tax calculation because the Nigeria Tax Act 2025 rewrote the rules. This guide walks you through the migration: what to prepare, how to run the transition cleanly, and what "done" actually looks like.

Why 2026 is the inflection point

Spreadsheet payroll for a small team used to be defensible. The Finance Act 2020 changed the PAYE brackets but the underlying CRA formula was stable enough that a careful accountant could maintain it for years. NTA 2025 breaks that stability.

Effective 1 January 2026, the Act made five structural changes that interact with each other:

  1. CRA abolished. The old Consolidated Relief Allowance (higher of ₦200K or 1% gross, plus 20% gross) is gone. Spreadsheets that hardcode CRA calculations are wrong for every 2026 payroll they produce.
  2. New brackets. The PAYE rate schedule changed from seven bands (7/11/15/19/21/24%) to six bands with a ₦800,000 annual tax-free threshold (0/15/18/21/23/25%). Every bracket formula in your spreadsheet is wrong.
  3. Rent Relief is now a statutory deduction. Employees can declare annual rent and receive relief up to ₦500,000 per year — but only if the system captures the declaration and applies it monthly with a December year-end true-up. A spreadsheet can't do this without rebuilding itself into a mini-system.
  4. NHF is voluntary. National Housing Fund contributions (2.5% of basic) are no longer mandatory for private-sector employees. Your spreadsheet needs a per-employee opt-in/opt-out flag — and an audit trail of when each employee opted out, who approved it, and via which channel.
  5. Minimum tax is abolished. The old "pay at least 1% of gross" floor is gone. Per SHQ Legal's NTA 2025 analysis, the minimum tax provision was explicitly repealed. Some of your lower-earning employees' PAYE will be ₦0. Your spreadsheet minimum-tax formula is now a tax overcharge.

Per Afriwise's 2025 review, these changes apply to all payrolls from 1 January 2026 — there is no phase-in. Every month you run a 2026 payroll on a Finance Act 2020 spreadsheet, you are calculating PAYE incorrectly and issuing wrong payslips.

That's not a minor inconvenience. Nigeria Revenue Service desk audits now routinely pull 12 months of payroll evidence. A gap between your remittance schedule and correctly computed PAYE is an assessable underpayment.

The true cost of staying on spreadsheets

The "it's free" calculation for spreadsheet payroll ignores the real ledger:

Hidden costTypical impact for a 20-person team
Accountant time6–10 hours/month on payroll input + reconciliation
Error correction1–2 employee queries per run; each takes 30–60 min to trace
NRS audit exposurePAYE underpayment assessable at full amount + 10% penalty per year
No audit trailNo timestamp, no sign-off, no version history — cannot defend any figure
Manual journal entries8–12 GL lines per payroll run, posted manually every month
NTA 2025 non-complianceAll of the above, now compounded by a structurally wrong calculation

The switch to software typically pays for itself within the first two months of accountant time saved, before counting the compliance risk reduction.

Step 1 — Take stock of what you're migrating

A clean migration starts with a data inventory. Before you open the new system, collect:

Employee master data (per employee):

  • Full name, date of birth, date of hire
  • Job title, department, location
  • NIN (National Identification Number)
  • Bank account number and bank name
  • PFA (Pension Fund Administrator) and RSA PIN
  • NHF membership number (if applicable)
  • Tax ID / TIN
  • Current basic salary, housing allowance, transport allowance, other allowances

Payroll configuration:

  • Statutory deductions currently applied (PAYE, pension, NHF, NSITF, ITF, any others)
  • Any non-statutory deductions (salary advance recoveries, loan repayments, cooperative dues)
  • Pay frequency (monthly is standard in Nigeria; confirm if you pay weekly or bi-weekly for any staff)

Historical data:

  • Last 3 months of gross pay and net pay per employee (for parallel run validation)
  • Year-to-date PAYE remitted per employee (critical for back-calculations if you're mid-year)
  • Leave balances as of migration date

What you don't need to migrate: Past payroll runs can stay in the spreadsheet as an archive. You're migrating the current state, not the history. Most systems let you import a year-to-date PAYE figure if you're migrating mid-year.

Step 2 — Choose cut-over timing

Two sensible moments to migrate:

Start of a new financial year (January 1) — cleanest option. You carry zero YTD figures into the new system. Every calculation starts fresh. For 2026, this also meant the NTA 2025 cut-over happens at the same moment — one transition instead of two.

Start of a new month (any month) — the next best option. You capture year-to-date PAYE as a starting balance, run January through the migration month in your spreadsheet as historical context, and take the new system live from the next full pay period. This is the realistic path if you're migrating mid-year.

What not to do: Don't migrate mid-month. Split-month payrolls create partial-period reconciliation problems and a confusing audit trail. Start on day 1 of a pay period, every time.

Step 3 — Import and validate your employee data

Most payroll systems accept a CSV or Excel import. The process:

  1. Export your employee register from the spreadsheet as a flat CSV — one row per employee, columns matching the data fields above.
  2. Clean the data before importing. Common issues: inconsistent bank names (GTBank vs Guaranty Trust Bank), missing TINs, salary fields stored as text with ₦ signs. Fix these in the export, not after import.
  3. Map columns. The import wizard will ask you to match your spreadsheet columns to the system's fields. If your spreadsheet uses "Basic Salary" and the system expects "basic_salary", you'll map them. A decent system handles this with fuzzy matching — if it requires exact column names, that's a red flag.
  4. Validate the imported records. After import, run a headcount check (your spreadsheet had 23 employees — the system now shows 23) and spot-check 3–5 records by name against the original spreadsheet.
  5. Configure deductions. Set up which deductions apply to which employees: pension contributions, NHF opt-in/opt-out status, any recurring advances or deductions.

Step 4 — Run one parallel payroll

Before you switch off the spreadsheet, run one month on both systems simultaneously. Don't pay twice — just compute on both and compare.

For each employee, compare:

Line itemSpreadsheet resultSystem resultAcceptable variance
Gross pay₦XXX,XXX₦XXX,XXX₦0 (must match)
PAYE₦XXX₦XXX₦0 (must match under NTA 2025)
Pension (employee)₦XXX₦XXX₦0 (must match)
NHF (if applicable)₦XXX₦XXX₦0 (must match)
Net pay₦XXX,XXX₦XXX,XXX₦0 (must match)

If the PAYE figures differ: This is expected if your spreadsheet is still running Finance Act 2020 brackets and the system has correctly switched to NTA 2025. In that case, the system is right and the spreadsheet is wrong — document the delta, confirm the NTA 2025 logic with your accountant, and proceed.

If gross pay differs: Stop and investigate. Gross pay is formula-free — it's just salary + allowances. A discrepancy here means a data import error.

One parallel run is usually sufficient. If you find and fix an import error, run a second parallel. Don't run three or four — at some point parallel running becomes the new normal and you never fully cut over.

Step 5 — Cut over and run payroll in the new system

On cut-over day:

  1. Lock the spreadsheet. Rename it to payroll-archive-YYYY-MM.xlsx and move it to a read-only folder. Do not delete it — it's your compliance archive.
  2. Process the first payroll in the new system — this is now the system of record. The journal entries will auto-post to your GL. The payslips will be available to staff via the self-service portal.
  3. Remit statutory deductions using the new system's remittance schedule. PAYE to State IRS by the 10th, pension to the employee's PFA by the 10th, NSITF by the 10th, WHT by the 21st.
  4. Issue payslips. The first electronic payslip is usually the moment employees register that the system is real. It's also the moment someone will spot an issue — have a 48-hour review window before payslips are considered final.

What good looks like at month two

By the second payroll run in the new system, you should have:

  • No manual journal entries. Every payroll run auto-posts a balanced double-entry to the GL: DR salary expense → CR PAYE payable, pension payable, NHF payable, NSITF payable, net pay payable.
  • Payslips accessible to staff. Employees log in, see their payslip, can export it as PDF without emailing HR.
  • NTA 2025 compliance automated. Rent Relief declarations captured, NHF opt-outs recorded, correct brackets applied — all without your accountant editing a formula.
  • A full audit trail. Every payroll run has a timestamp, an approver, and a record of who processed it. NRS can ask for any of this and you have it.
  • Statutory remittance reminders. The system tells you what's due and by when. The 10th and 21st deadlines are on a dashboard, not in your head.

The spreadsheet took a day. The second month in a real system typically takes under two hours — one hour to review and approve, one hour to handle any employee queries.


AnooreHR's import wizard handles Nigerian employee data out of the box — fuzzy column mapping, NIN/PFA/TIN field detection, and a side-by-side validation view before you commit. NTA 2025 brackets, Rent Relief, and NHF opt-outs are all built in from day one. See a walkthrough or start your free migration.

Related: How AnooreHR handles payroll · How to compute PAYE under NTA 2025 · See pricing

Stop running payroll on spreadsheets

AnooreHR is free for teams up to 3.

PAYE, Pension, NHF, NSITF, ITF — all handled. No setup fee, no card.

Get started free

Ready to unify your business?

Start free in under two minutes. No credit card. No sales call unless you want one.

Free tier covers up to 3 employees · Cancel any time · Paid in your local currency.