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 $249.00 USD; request a quote for a scoped proposal.

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.
ابھی کوئی ادائیگی نہیں۔ یہ ہماری ٹیم کو قیمت کی درخواست بھیجتا ہے — ہم قیمت اور اگلے اقدامات کے ساتھ ای میل کے ذریعے رابطہ کریں گے۔
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.
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
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 2–4 weeks from confirmed scope.
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.
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.
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.
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.
Buy the license on ecosire.com and download the Nigeria PAYE & Pension Payroll app ZIP from your account dashboard.
Extract the ZIP into your bench's apps folder, or run `bench get-app` with the path to the extracted app.
Run `bench --site SITE_NAME install-app APP_NAME` followed by `bench migrate` to install Nigeria PAYE & Pension Payroll and apply its schema.
Open the ECOSIRE License settings on your site and activate your license key. Requires the free ecosire_connect and ecosire_license_client apps.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Nigeria PAYE, pension, NHF, NSITF logic | Built to statute, effective-dated, wired into Salary Slip | Possible but you own every edge case | Partial, generic assumptions | |
| Consolidated Relief Allowance | Computed to the PITA formula automatically | Hand-coded and hand-maintained | Often approximated or missing | |
| Bank & PENCOM schedule export | Your bank's exact layout, from Payroll Entry | Build it yourself per bank | Generic CSV, may need rework | |
| Fit to your ERPNext version | Built for your v15/v16 instance | Depends on your team | Whatever the app targets | |
| Maintainability | Documented DocTypes, hooks, git handover | Only as good as your docs | Closed or thinly documented | |
| Statutory updates | Data-driven config plus support window | Your responsibility | Vendor's release cycle | |
| Delivery model | Build-to-order, 2–4 weeks, UAT + rollback | Open-ended project | Instant install, generic | |
| Support & ownership | Go-live support plus full source ownership | You support it entirely | Vendor support, no source |
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.
Typical delivery is 2–4 weeks 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.
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.
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.
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.
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.
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.
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.