QPayroll — Enterprise Payroll

QPayroll — Enterprise Payroll

QPayroll is the QoinPay Enterprise module for running payroll on your own infrastructure. It combines a country-aware calculation engine, a governed pay-run workflow with segregation-of-duties (SoD) controls, employee self-service, and disbursement — both bank-file export and a live disbursement module — into a single on-premise product against the shared MariaDB instance. Because salary, tax, and bank data are among the most sensitive an organisation holds, keeping the entire payroll inside your compliance boundary is the point of the on-premise model.

Getting started: install, configure the database, activate, create an admin, go live
Getting started: install, configure the database, activate, create an admin, go live

Capabilities

QPayroll is organised around the employee record, the pay element (earnings, deductions, and employer contributions), the statutory country pack (the rules that turn gross into net for a jurisdiction), and the pay run (a dated, approved batch that produces payslips and a disbursement instruction).

Key capabilities include:

  • Statutory country packs. Jurisdiction-specific calculation rules, delivered and updated as packs. Nigeria ships first, implementing PAYE under the relevant tax act, pension contributions, NHF, and NSITF, with the consolidated-relief and tax-band logic maintained through Software Subscription & Support.
  • Flexible pay elements. Configurable earnings, pre- and post-tax deductions, employer contributions, loans, and arrears, with formula-driven or table-driven values.
  • Governed pay runs. Each run moves through draft → calculated → reviewed → approved → disbursed → posted, with every transition permission-gated and audited.
  • Segregation of duties. The person who edits pay data cannot also approve the run, and approval cannot also release disbursement — enforced by role, not convention.
  • Disbursement. Export a bank-file in your bank's mandated format, or use the live disbursement module to submit payments through a connected channel and track settlement status per employee.
  • Employee self-service (ESS). Employees view and download payslips, view leave and loan balances, and update permitted personal details, reducing payroll-office load.
  • General-ledger export. Post payroll cost and liability to your accounting system through a configurable GL mapping.

The pay-run workflow and SoD

A pay run is deliberately multi-stage so that no single operator can move money unchecked. A payroll officer prepares and calculates the run; a reviewer inspects variances against the prior period; an approver authorises; and a separate disbursement role releases payment. QPayroll enforces these as distinct permissions, so SoD is a property of the system rather than a matter of trust. Every stage writes to an immutable audit log capturing who acted, when, and on what figures — the evidence auditors expect for payroll controls.

Disbursement — bank file and live module

For organisations that pay through their bank's portal, QPayroll produces a validated bank-file in the required layout, with a control total to check before upload. For straight-through processing, the live disbursement module submits the approved batch over a connected channel, receives per-employee acknowledgements, and updates each line to paid, pending, or returned so the payroll office can resolve failures without leaving the module.

Key modules

  • Employee Records — master data, contracts, banking, and statutory identifiers.
  • Pay Element Library — the configurable catalogue of earnings, deductions, and contributions.
  • Statutory Country Packs — maintained jurisdictional calculation rules.
  • Pay Run Engine — calculation, review, approval, and the SoD state machine.
  • Disbursement — bank-file export and the live disbursement module.
  • Employee Self-Service — the employee-facing payslip and profile portal.
  • GL Export — mapping and posting to your accounting system.

API and integration

QPayroll integrates through /api/v1 for HR-system synchronisation and downstream posting. Employee data can be pushed from your HRIS, and pay-run completion is delivered as a signed webhook so finance systems react automatically:

POST /api/v1/payroll/employees
Content-Type: application/json
Authorization: Bearer {token}

{
  "staff_no": "NG-00412",
  "full_name": "Ada Obi",
  "country_pack": "NG",
  "gross_monthly": 850000,
  "bank": { "code": "058", "account": "0123456789" }
}

The payrun.disbursed webhook carries the run id and control totals; verify the signature and key on the event id, as deliveries are at-least-once.

API integration: your system and the QoinPay /api/v1 REST and signed webhooks
API integration: your system and the QoinPay /api/v1 REST and signed webhooks

Editions

  • Standard — single country pack, bank-file export, core pay elements, and basic ESS.
  • Professional — multiple country packs, full SoD roles, GL export, and variance review.
  • Enterprise — live disbursement, multi-entity payroll, custom pay-element formulas, and extended audit retention.

Edition is encoded in the entitlement and enforced by the license key; adding the live disbursement module is an entitlement change.

Sizing metric — employee band (B1–B5)

QPayroll is licensed by employee band, a headcount tier rather than a raw seat count:

  • B1 — up to 250 employees
  • B2 — up to 1,000
  • B3 — up to 5,000
  • B4 — up to 20,000
  • B5 — 20,000+

The billable figure is the peak number of active (payable) employees in a pay run during the period; terminated staff who are no longer paid do not count. The console warns as headcount approaches the band ceiling and blocks calculation of a run that would exceed it until the band is raised. Size to projected peak headcount, and note that a large seasonal intake can push you into the next band for the periods it is active.

Licensing and Software Subscription & Support

QPayroll is perpetually licensed — the software runs indefinitely regardless of S&S status. Payroll is uniquely dependent on subscription, however, because statutory country packs are delivered through Software Subscription & Support. The first year of S&S is included; letting it lapse means tax-band, relief, and contribution-rate changes stop arriving, so a live payroll should always keep S&S current.

Software Subscription and Support timeline: year one included, renewal, lapse
Software Subscription and Support timeline: year one included, renewal, lapse

Deployment

QPayroll installs on the shared application tier and MariaDB instance and uses the standard activation flow. It needs a scheduler for reminders and scheduled runs, secure storage for payslip PDFs, and — for the live disbursement module — a connected disbursement channel to your bank. Given the sensitivity of payroll data, restrict database and file-store access tightly and enable the full audit log. See the Getting Started, Licensing, and API overviews for install, activation, and integration detail.