Gross-to-net payroll
Gross-to-net payroll: PAYE + statutory employee deductions → net take-home (Nigeria, Kenya)
Answeringour last check, 2026-10-10
1 of 1checks answered this week
1937 msmedian answer time
$0.1listed price per call
$0.1price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://afriref.dev/v1/answers/payroll
| Category | Everything else |
|---|---|
| Provider host | afriref.dev |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 2 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-10-10 | valid payment request | 402 | $0.1 | 1937 ms |
Example input (from the provider)
{
"body": {
"country": "ke",
"gross": 500000,
"period": "month"
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"properties": {
"annual_rent": {
"description": "Nigeria: annual rent paid (unlocks rent relief, capped \u20a6500,000)",
"type": "number"
},
"basic": {
"description": "Nigeria: basic pay (for exact pension/NHF base; else a 40/30/10 split is assumed and disclosed)",
"type": "number"
},
"country": {
"description": "ISO country code (payroll supported: Nigeria, Kenya)",
"enum": [
"ke",
"ng"
],
"type": "string"
},
"gross": {
"description": "Gross pay in local currency",
"type": "number"
},
"housing": {
"description": "Nigeria: housing allowance",
"type": "number"
},
"insurance_premium": {
"description": "Kenya: insurance premium (15% relief, capped KES 5,000/mo)",
"type": "number"
},
"nhis_premium": {
"description": "Nigeria: NHIS employee premium if a scheme deducts one",
"type": "number"
},
"pensionable_pay": {
"description": "Kenya: pensionable pay for NSSF tiers (default = gross capped at UEL)",
"type": "number"
},
"period": {
"description": "Period the gross covers (default month)",
"enum": [
"month",
"year"
],
"type": "string"
},
"receipt": {
"description": "Optional. true adds an Ed25519 answer receipt on a paid 200, incluedd in this price. Not a certified extract.",
"type": "boolean"
},
"sector": {
"description": "Nigeria: public applies NHF 2.5%; private (default) sets NHF 0",
"enum": [
"public",
"private"
],
"type": "string"
},
"transport": {
"description": "Nigeria: transport allowance",
"type": "number"
}
},
"required": [
"country",
"gross"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"assumptions": {
"description": "Disclosed assumptions (e.g. Nigeria 40/30/10 pay split, sector default)",
"type": "array"
},
"gross_pay": {
"type": "number"
},
"income_tax": {
"description": "PAYE payable",
"type": "number"
},
"net_pay": {
"description": "Net take-home pay",
"type": "number"
},
"provenance": {
"description": "Bracket instrument + contribution-law citations",
"type": "object"
},
"receipt": {
"description": "Only when receipt=true on a paid 200. kind answer_receipt. Verify at /certified/public-key.",
"type": "object"
},
"scope_note": {
"type": "string"
},
"status": {
"type": "string"
},
"statutory_deductions": {
"description": "Employee social-security contributions withheld",
"type": "object"
},
"tax_breakdown": {
"description": "Per-bracket workings",
"type": "array"
},
"taxable_income": {
"type": "number"
}
},
"required": [
"status",
"net_pay",
"income_tax",
"statutory_deductions"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}