Skip to main content
Nigeria PAYE & Pension Payroll — A build-to-order ERPNext app that adds Nigerian statutory payroll to your instance: graduate — 1/1Illustrative preview

A build-to-order ERPNext app that adds Nigerian statutory payroll to your instance:

graduated PAYE tax bands, pension contributions, NHF and NSITF deductions, consolidated relief allowance, and bank-ready salary disbursement schedules.

ECOSIRE builds, installs and supports it on your ERPNext v15/v16.

What is Nigeria PAYE & Pension Payroll?

A build-to-order ERPNext app that adds Nigerian statutory payroll to your instance: graduated PAYE tax bands, pension contributions, NHF and NSITF deductions, consolidated relief allowance, and bank-ready salary disbursement schedules. ECOSIRE builds, installs and supports it on your ERPNext v15/v16. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Effective-dated PAYE band DocType so prior-period runs and back-pay recompute against the rates that applied at the time
Consolidated Relief Allowance computed to the Personal Income Tax Act rule (higher of NGN 200,000 or 1% of gross, plus 20% of gross)
Graduated PAYE tax applied to taxable income after CRA and tax-exempt deductions, implemented as server-side logic behind Salary Component formulas
Pension contribution handling with separate employee (deducted) and employer (non-net) legs under the Pension Reform Act
NHF deduction at 2.5% of basic with a configurable cap and opt-in/opt-out per employee
NSITF employer contribution tracked as an employer cost, kept out of employee net pay
Computation wired into Salary Slip validate/on_submit doc events via hooks.py so totals recompute deterministically and resist manual UI edits
Custom State field on Employee driving state-IRS treatment where it differs across the federation
Bank schedule export (CSV / columnar) generated from the submitted Payroll Entry in the layout GTBank, Zenith, Access or UBA expect
PENCOM-style pension schedule and PAYE remittance summary exports reconciled back to source Salary Slips
Client script on the Salary Slip form showing a live PAYE / pension / NHF / net breakdown for reviewers
Dedicated Payroll Officer role profile gating statutory config, exports and whitelisted methods
Whitelisted REST API methods so schedules and summaries can be pulled by a portal or downstream automation, permission-checked
Scheduler events to queue the monthly Payroll Entry and email statutory summaries to the finance lead
Configuration DocTypes for rates, bands and thresholds so future statutory changes are data edits, not code changes

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your ERPNext.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

ERPNext Compatibility
—
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
MariaDB 10.6+

About this Product

Running Nigerian payroll on stock ERPNext means fighting the Payroll module every month. ERPNext ships generic Salary Structures and Income Tax Slabs, but it has no built-in understanding of the Personal Income Tax Act: the Consolidated Relief Allowance (the higher of NGN 200,000 or 1% of gross income, plus 20% of gross income), the graduated PAYE bands, statutory pension splits under the Pension Reform Act, NHF at 2.5% of basic, and NSITF employer contributions. Finance teams end up maintaining fragile spreadsheets alongside ERPNext, re-keying figures into pension administrator and bank templates, and hoping the numbers reconcile at year end. That is where the native system runs out of road.

ECOSIRE builds a proper Frappe app — for example ecosire_ng_payroll — installed on your own ERPNext instance rather than bolted on as spreadsheets. The app adds custom DocTypes for statutory configuration (PAYE bands, CRA parameters, pension, NHF and NSITF rates, each effective-dated so historical runs stay correct) and wires the computation into ERPNext's existing Salary Slip and Payroll Entry flow. Statutory components are implemented as Salary Component formulas backed by server-side logic, so gross-to-net follows the legal order of operations: compute gross, derive CRA, subtract tax-exempt pension and NHF, apply the PAYE bands to taxable income, then net down. Employer-side pension and NSITF are tracked separately so they never leak into the employee's net pay.

Technically, the calculation logic lives in whitelisted Python methods invoked from hooks.py doc events (Salary Slip validate and on_submit) so the numbers recompute deterministically every run and cannot be silently edited in the UI. A State field (custom field on Employee) drives the correct state Internal Revenue Service treatment where it differs. Client scripts surface a live PAYE/pension/NHF breakdown on the Salary Slip form for reviewers. Scheduler events can queue the monthly Payroll Entry and email statutory summaries to the finance lead. Everything respects Frappe's permission model — a dedicated Payroll Officer role profile gates access to statutory config and bank schedules, and the whitelisted export methods are permission-checked, not open endpoints.

Disbursement is a first-class output, not an afterthought. The app generates a bank schedule export (CSV or the fixed-width/columnar layout your bank expects — GTBank, Zenith, Access, UBA and similar) directly from the submitted Payroll Entry, plus a PENCOM-style pension schedule and PAYE remittance summary. Reports are exposed via the Frappe REST API and whitelisted methods so a portal or downstream automation can pull them, and every figure ties back to the source Salary Slip for audit.

Because this is build-to-order, nothing is a generic download. After a short scoping call we confirm your exact requirements — states you operate in, pension administrators, allowance structure, bank formats and any collective-agreement rules — then build against ERPNext v15 or v16 to match your instance. You review the working app on a staging site during UAT, we install to production with a rollback plan, hand over the git repository and documentation, and support you through your first live payroll runs. Typical delivery is one working week from confirmed scope.

What you get

  • Installable source code for your configured version of the app (Frappe app, e.g. ecosire_ng_payroll)
  • Installation and configuration on your ERPNext v15/v16 instance, including Salary Components, role profile and custom fields
  • Technical documentation: DocType reference, hooks/doc-event map, whitelisted API methods and configuration guide
  • User guide plus a live training session for your payroll and finance team
  • UAT on a staging site with sign-off, then production install with a documented rollback plan
  • Post-go-live support window covering your first live payroll runs and statutory exports
  • Git repository handover with full commit history and deployment notes
  • Statutory configuration seeded with current PAYE bands, CRA, pension, NHF and NSITF rates

Who this is for

Nigerian SME finance manager

Runs monthly payroll for 20–300 staff and needs PAYE, pension, NHF and NSITF computed correctly inside ERPNext without maintaining a parallel spreadsheet or re-keying figures into bank and PENCOM templates.

West-African group HR/payroll lead

Operates across multiple Nigerian states (and sometimes neighbouring countries) and needs state-aware PAYE treatment, consistent pension splits, and one reconciled source of truth for audits and remittances.

ERPNext partner or in-house Frappe admin

Already runs ERPNext and wants a clean, permissioned Frappe app with documented DocTypes, hooks and whitelisted methods they can maintain and extend — not undocumented server scripts pasted into the UI.

Business owner / MD onboarding to ERPNext

Migrating off manual payroll or a legacy tool and wants statutory compliance, bank-ready disbursement schedules and a trained team from day one, with a supported go-live.

How Nigeria PAYE & Pension Payroll Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
Nigeria PAYE, pension, NHF, NSITF logicBuilt to statute, effective-dated, wired into Salary SlipPossible but you own every edge casePartial, generic assumptionsNot present; generic tax slabs only
Consolidated Relief AllowanceComputed to the PITA formula automaticallyHand-coded and hand-maintainedOften approximated or missingNo CRA concept
Bank & PENCOM schedule exportYour bank's exact layout, from Payroll EntryBuild it yourself per bankGeneric CSV, may need reworkManual export and reformatting
Fit to your ERPNext versionBuilt for your v15/v16 instanceDepends on your teamWhatever the app targetsN/A — core only
MaintainabilityDocumented DocTypes, hooks, git handoverOnly as good as your docsClosed or thinly documentedConfig-only, no statutory logic
Statutory updatesData-driven config plus support windowYour responsibilityVendor's release cycleManual every change
Delivery modelBuild-to-order, one working week, UAT + rollbackOpen-ended projectInstant install, genericAlready installed, incomplete
Support & ownershipGo-live support plus full source ownershipYou support it entirelyVendor support, no sourceCommunity/self-support

Frequently Asked Questions about Nigeria PAYE & Pension Payroll

Is this a ready-made app I can download and install today?

No. This is a build-to-order engagement. ECOSIRE builds the app against your confirmed requirements and your ERPNext version, then installs and supports it. There is no instant download — you receive source code, install, documentation and training as part of delivery.

How long does delivery take?

Typical delivery is one working week from confirmed scope. The timeline starts once we have agreed your exact requirements on the scoping call — states of operation, pension administrators, allowance structure, bank formats and any special rules. Larger or multi-entity scopes may run longer, and we tell you upfront.

Which ERPNext and Frappe versions are supported?

We build for ERPNext / Frappe v15 and v16. We target the specific version your instance runs so DocTypes, hooks and API methods match your environment. If you are mid-upgrade, we scope the target version during the call.

How does it handle statutory changes like new PAYE bands or pension rules?

Rates, bands and thresholds live in effective-dated configuration DocTypes, so most statutory changes are data edits rather than code changes, and historical payroll runs stay correct. During your support window we help you apply changes; beyond that they are straightforward config updates or a small change request.

What about support and updates after go-live?

Every engagement includes a post-go-live support window covering your first live payroll runs and statutory exports. After that, we offer ongoing support and maintenance agreements. Because you receive the full git repository, your own Frappe team can also maintain and extend the app.

Can it export bank and pension schedules in the format my providers require?

Yes. Bank schedule export is a core deliverable — we build the CSV or columnar layout your bank expects (GTBank, Zenith, Access, UBA and similar) and a PENCOM-style pension schedule and PAYE remittance summary, all generated from the submitted Payroll Entry and reconciled to source Salary Slips.

Will it interfere with our existing ERPNext payroll setup?

It builds on ERPNext's native Salary Structure, Salary Slip and Payroll Entry rather than replacing them. We validate everything on a staging site during UAT and install to production with a documented rollback plan, so your live data is protected.

Request a quote

Nigeria PAYE & Pension Payroll

A build-to-order ERPNext app that adds Nigerian statutory payroll to your instance: graduated PAYE tax bands, pension contributions, NHF and NSITF deductions, consolidated relief allowance, and bank-ready salary disbursement schedules. ECOSIRE builds, installs and supports it on your ERPNext v15/v16.

  • Effective-dated PAYE band DocType so prior-period runs and back-pay recompute against the rates that applied at the time
  • Consolidated Relief Allowance computed to the Personal Income Tax Act rule (higher of NGN 200,000 or 1% of gross, plus 20% of gross)
  • Graduated PAYE tax applied to taxable income after CRA and tax-exempt deductions, implemented as server-side logic behind Salary Component formulas
  • Pension contribution handling with separate employee (deducted) and employer (non-net) legs under the Pension Reform Act

Request a Quotation

Tell us about your Nigeria PAYE & Pension Payroll requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.