NSSF Payroll Template Kenya: Download, Fill & Submit Without Errors
Every employer in Kenya who pays NSSF contributions for their staff must submit a payroll file in the exact format NSSF specifies. Get it wrong — a formula in a cell, a hyphen in an NSSF number, a total row at the bottom — and NSSF’s system rejects the whole file. This guide walks you through the template column by column, explains every rule NSSF checks before accepting your submission, and shows you how to upload it correctly through the employer portal.
What the NSSF Payroll Template Is
The NSSF payroll template is an Excel file (.xlsx) that employers use to declare their employees’ NSSF contributions each month. Instead of entering each employee one by one on the portal, you fill in all your employees on this spreadsheet and upload it in one go. NSSF’s system then reads the file, validates every row, and processes the contributions.
The template has been the standard submission method for years and is still the required format in 2026, whether you are submitting Tier 1 only contributions or both Tier 1 and Tier 2 under the new NSSF Act rates.
Where to Download the NSSF Payroll Template
Go to the NSSF Employer Portal
Open your browser and visit eservices.nssf.or.ke — the official NSSF employer self-service portal.
Log in with your employer credentials
Use the employer number and password you registered with. If you’ve forgotten your password, use the “Forgot Password” option on the login page.
Navigate to Contributions
Once inside the portal, look for the Contributions or Monthly Returns section in the menu.
Download the payroll template
You’ll find a download link for the payroll template in the upload/submit section. Download the .xlsx file and save it on your computer.
Every Column in the NSSF Payroll Template Explained
The template has 8 columns. Here is what goes in each one and what format NSSF expects:
Payroll Number
Your internal employee payroll number. This column is optional — you can leave it blank if you don’t use payroll numbers. Format: Text.
Surname
Employee’s surname (last name) as it appears on their ID. No special characters — no hyphens, slashes, or quotation marks. Format: Text.
Other Names
Employee’s first name and any middle names. Again, no special characters. Format: Text.
ID Number
The employee’s National ID number. For non-citizens, use their passport number or alien ID. Format: Text (to prevent Excel from dropping leading zeros if any).
KRA PIN
The employee’s KRA Personal Identification Number. Format: Text. Example: A001234567B.
NSSF Number
The employee’s NSSF membership number. Must be between 9 and 10 characters. Include leading zeros and the trailing X where applicable — for example 0123456789 or 012345678X. Format: Text (critical — if this column is set to Number format, leading zeros will be dropped and NSSF will reject the row).
Gross Pay
The employee’s gross monthly salary — the amount before any deductions. This is what NSSF uses to calculate the Tier 1 and Tier 2 contribution amounts. Format: General (plain number, no currency symbols, no commas).
Voluntary Contribution
Any additional voluntary contribution the employee wants to make above the mandatory deduction. Leave blank or enter 0 if there is no voluntary contribution. Format: General.
The 10 Rules NSSF Checks Before Accepting Your File
These are the exact rules from the official NSSF payroll template. NSSF’s system validates all of these automatically — fail any one of them and the entire file is rejected.
How to Fill the Template Correctly — Step by Step
Delete the description rows first
The template comes with several rows explaining the rules (the ones we listed above). Delete all of those rows before you start entering employee data. Only the header row (Row 1 with the column names) should remain above your first employee.
Set column formats before typing anything
Select Columns A through F, right-click, Format Cells, and set to Text. Select Columns G and H and set to General. Do this before entering any data — changing the format after can cause Excel to silently reformat values you’ve already typed.
Enter one employee per row, no gaps
Start at Row 2 and enter each employee on a new row. Do not skip rows. Do not merge cells. Do not add sub-headings for departments or branches — NSSF’s system reads the file flat.
Check NSSF numbers before saving
Go through Column F and confirm every NSSF number is 9–10 characters and stored as Text (you’ll see a green triangle in the top-left corner of the cell if Excel is treating a text-format number correctly). If you see numbers without leading zeros, retype them with the zeros included.
Remove any formulas
If you calculated gross pay using a formula (for example =BasicPay+Allowances), select all data cells, copy them, then Paste Special → Values Only. This replaces every formula with its plain result.
Delete extra sheets
Right-click on any sheet tab that isn’t your data sheet and click Delete. The workbook must have exactly one sheet when you upload it.
Save as .xlsx
Save the file in Excel format (.xlsx). Do not save as .csv, .ods, or any other format. NSSF’s portal expects an Excel workbook.
How to Submit the Payroll File via the NSSF Employer Portal
Log in to the NSSF Employer Portal
Go to eservices.nssf.or.ke and sign in with your employer credentials.
Go to Monthly Contributions
Find the Contributions or Returns section in the portal menu. Select the month you are submitting for.
Upload your payroll file
Choose the upload option, browse to your saved .xlsx file, and submit it. The system will validate the file — if it passes, you’ll see a confirmation. If it fails, you’ll get an error message telling you which rows or columns have a problem.
Generate and pay the contribution invoice
Once the file is accepted, the portal generates a payment invoice showing the total NSSF contributions due. Pay via M-Pesa Paybill 222222 using the invoice number as the account number, or pay through your bank.
Common Errors and How to Fix Them
| Error | Likely Cause | Fix |
|---|---|---|
| File rejected immediately on upload | Wrong file format, extra sheets, or file is corrupted | Save as .xlsx, delete extra sheets, re-upload |
| Specific rows flagged as invalid | Special characters in names, or NSSF number wrong length | Remove hyphens/slashes from names; fix NSSF number length |
| NSSF numbers showing without leading zeros | Column F set to Number format instead of Text | Reformat column as Text, retype affected numbers with leading zeros |
| “Formula found in cell” error | Gross pay or other columns calculated with Excel formulas | Copy all data → Paste Special → Values Only |
| Extra rows causing errors | Totals row or description text left below last employee | Delete everything below your last employee row |
| Hidden rows causing validation failure | Rows hidden but not deleted | Select all, unhide rows and columns, then delete any blank hidden rows |
| Payment not matching submission | Wrong account number used on M-Pesa | Use the exact invoice number from the portal as the M-Pesa account number |
Frequently Asked Questions
Where do I download the official NSSF payroll template?
From the NSSF employer self-service portal at eservices.nssf.or.ke. Log in with your employer credentials, go to the contributions section, and download the template from the upload area.
What columns does the NSSF payroll template have?
8 columns: Payroll Number (optional), Surname, Other Names, ID Number, KRA PIN, NSSF Number, Gross Pay, and Voluntary Contribution.
Why is my NSSF payroll file being rejected?
The most common reasons: formulas in cells instead of plain values, special characters like hyphens or slashes in names, a totals or description row after the last employee, NSSF numbers with wrong length or wrong format, or more than one sheet in the workbook.
What format should the NSSF number be in?
9 to 10 characters, stored as Text. Include leading zeros (e.g. 0123456789) and the trailing X where it appears (e.g. 012345678X). If the column is set to Number format, Excel drops the leading zeros and NSSF rejects the row.
Can I add formulas or totals to the template?
No. Formulas will cause the file to be rejected. Totals rows below the last employee will also cause errors. The file must contain only plain employee data with nothing below the last row.
What is the NSSF paybill number for paying contributions?
Paybill 222222. Use the invoice number generated by the portal after your payroll upload is accepted as the account number. Do not guess an account number — NSSF won’t be able to match an unlinked payment.
Do I need to submit this template every month?
Yes. NSSF contributions are monthly. You need to upload the payroll template and make payment by the end of each month to avoid late payment penalties.
What if an employee doesn’t have an NSSF number yet?
Register them for NSSF first before including them in the payroll file. The NSSF number field is mandatory and must be a valid, registered number.


