Skip to content
All guides

Reports & Analytics · Updated October 29, 2026

Reports & Statutory Filings

Review workforce trends, build saved reports and inspect Kenya payroll schedules.

Workforce Analytics

Reports, Analytics (the page title is Workforce Analytics) presents headcount, hiring/turnover, diversity, employment type, tenure and payroll trends. The page describes a last-12-month view; current headcount and monthly KPIs are separate snapshots. Payroll charts are shown when PAYROLL is licensed and use completed runs. They also need view_payroll or manage_payroll and company-wide payroll access (view_all_payroll), because they are company totals.

The page has module tabs: All, Core HR, Payroll and Leave. A picker appears only when you can see more than one module. The Leave set (a headline strip, Leave Days Taken, Leave Requests by Status and Leave Balances) needs view_leave and the LEAVE licence, and shows only the people in your reach.

The dashboard includes department headcount, hiring/turnover trend, gender/employment-type charts, tenure distribution, payroll cost and statutory deductions. Empty states are distinct from failed requests; a failed request should be retried or investigated, not interpreted as zero activity.

Saved reports

The Reports page creates named definitions, runs them with optional start/end dates, shows table/chart results and exports CSV. Types include Headcount, Turnover, Payroll Cost, Payroll Tax, Workforce Diversity, Tenure, Compensation, Leave Utilization, Attendance, Recruiting, Performance and Custom.

Some types need their module as well as the REPORTS licence: Leave Utilization needs LEAVE, Attendance needs TIME_ATTENDANCE, Recruiting needs RECRUITING, Performance needs PERFORMANCE, and Payroll Cost and Payroll Tax need PAYROLL. Without the module the Run button is disabled and names the module your company is missing.

Report type is fixed after creation. Name, description, chart type, visibility and supported configuration can be edited. To use another type, create a new report.

  1. Choose New Report, enter its name/type and optional chart and visibility settings.
  2. For Custom, choose a source, dimensions/measures and optional filters from the builder.
  3. Save and use the run action. Set date bounds where appropriate.
  4. Review the table or chart, then export the result set as CSV.

The run service defaults to 1,000 rows with a maximum of 10,000. Attendance defaults to the last 30 days when no start date is supplied. Date filters are report-specific; they do not imply every report type filters every source by the same field.

Custom report builder

Custom reports are implemented, not placeholders. The builder uses a server-provided catalogue of Employees, Leave balances and Payroll (completed runs), with allowed dimensions, measures and filters. It does not accept arbitrary SQL. Payroll sources need view_payroll or manage_payroll as well as reporting access, and return only the employees in your payroll reach.

Visibility and ownership

A Private report is visible and runnable only by the person who created it. A Public report is visible to everyone with view_reports, and it runs with the permissions and reach of the person who runs it, so two people can get different rows from the same report. Only the creator can edit or delete a report.

The web page currently puts its run controls alongside management actions, requiring export_reports; the backend run endpoint requires view_reports. Sensitive types (Payroll Cost, Payroll Tax and Compensation) additionally require view_payroll or manage_payroll, as do sensitive custom sources. Payroll Cost and Payroll Tax also need company-wide payroll access (view_all_payroll). Reports that list people, such as Tenure, Compensation, Leave Utilization and Attendance, include only the employees in your reach.

Kenya statutory schedules

Prepare a monthly schedule

  1. Confirm that the relevant pay runs have completed and that employee tax/contribution identifiers are populated.
  2. Open Payroll → Statutory Reports and choose the schedule and payment month/year.
  3. Select Generate and compare the preview's employees and totals with the completed runs.
  4. Download the monthly CSV where available. Check the file before using it in your filing process; downloading a schedule does not submit it to an authority.

A CSV download stops and lists what to fix when a required identifier is blank: the employer KRA PIN, NSSF number or SHIF code in company settings, or an employee's KRA PIN, NSSF number or national ID, depending on the schedule. Fix the listed employees or settings and download again.

For P9A, select the employee and year instead of a payment month. If an employee had multiple completed runs in a month, check the aggregated result rather than expecting one row per run.

Payroll, Statutory Reports offers these outputs:

ReportSelectionOutput
P9AYear and employeeAnnual employee tax-card preview and CSV
P10Month/yearPAYE preview, CSV (sheet B), Sheet C and Check workbook
NSSFMonth/yearEmployee/employer contribution preview and CSV
SHIFMonth/yearHealth contribution preview and CSV
Housing LevyMonth/yearEmployee/employer contribution preview and CSV
HELBMonth/yearHELB deduction preview and CSV

Schedules select completed pay runs by payment date, not by the period's start/end month. Multiple completed runs for the same employee and payment month are aggregated. Reversed runs are excluded because they are no longer completed.

P9A includes monthly/annual pay, taxable income, tax and relief totals with employer/employee tax identifiers. Monthly schedules include the relevant employee identifiers and contribution amounts. HELB includes matching HELB deductions. Review identity fields and totals before using an export.

Generate shows a preview. CSV downloads are named after the sheet, the employer and the period, for example NSSF-Schedule-2026-06.csv or P10-SheetB-P051234567X-2026-06.csv. The P10 CSV imports into sheet B of KRA's P10_Return.xlsm workbook. The sheet A values (employer PIN and name, return period, total PAYE) are shown beside the P10 card with a Copy button, because a header block inside the CSV would shift every column on import. P9A downloads as a CSV card for the employee. These are generated schedules, not automatic submissions or proof an authority accepts the file.

For P10, Sheet C downloads the employees who hold a KRA disability exemption certificate. They are left out of the sheet B CSV, so file both. Check workbook compares a P10_Return.xlsm you upload with the columns Arche writes, so you can see whether KRA changed the layout before you import the CSV. Sheet C and Check workbook need export_statutory.

Permissions and licences

ActionRequirement
Read analytics and saved reportsview_reports, REPORTS licence
Create/edit/delete saved reports, web run controlsexport_reports (creator restrictions apply to edits/deletion)
Run sensitive payroll/compensation reportsAlso view_payroll or manage_payroll
Generate statutory previewsmanage_payroll, export_statutory or manage_compliance; PAYROLL licence
Download statutory CSV, P10 Sheet C, Check workbookexport_statutory; PAYROLL licence

Plain view_payroll does not grant statutory schedule access. A user with only manage_compliance can generate previews but needs export_statutory for CSV downloads.

Troubleshooting

QuestionNext step
Which report helps compare payroll costs?Use Payroll Cost; review the selected date bounds and completed-run data
How do I reuse a report?Save a named definition, then run it for the relevant dates
Can I change a saved report's type?Create a new definition; type cannot be changed after creation
Why can I preview but not download a statutory CSV?Ask your administrator to check export_statutory permission
Why is a payroll chart unavailable?Check the Payroll licence and the permissions required for sensitive report data

For an empty statutory schedule, check payment month/year and completed status. For empty attendance results, check the default 30-day range. If the API reports a query error, address it rather than treating it as an empty dataset. For payroll calculations and configured rates, use the Payroll Workflow Guide.