How to make a salary slip, in Excel or online, without payroll software
What goes on an Indian salary slip, the Excel formulas for PF and loss of pay, and a worked ₹50,000 example that comes to ₹48,000 net.
Calci Editorial · · 5 min read

A shop with four staff does not buy payroll software. Neither does a clinic, a coaching centre or a small CA office. But the moment one of those employees applies for a home loan, a credit card or a rented flat, someone asks for the last three salary slips, and the owner has to produce them.
The good news: a salary slip is a simple document. It is a list of what was earned, a list of what was held back, and the difference. The bad news: getting the two lists right is where small employers slip up, usually on PF and on days of leave without pay.
This post covers both routes. First, what has to be on the slip. Then how to build one in Excel with formulas that do the arithmetic. Then the faster way, if you just want a clean PDF.
What a salary slip must show
Banks and landlords look for the same things:
- Employer: the company's name and address, and the month the salary is for.
- Employee: name, employee ID, designation, department, date of joining. PAN and the PF account number (UAN) if you have them. Bank account, often shown only by its last four digits.
- Days: days in the month and days paid, so anyone reading it can see whether leave without pay was cut.
- Earnings: basic salary, HRA, special allowance and any others, one per line, with a total called gross earnings.
- Deductions: provident fund, professional tax, income tax (TDS), ESI if it applies, any loan recovery, with a total.
- Net pay: gross earnings minus total deductions, in figures and in words.
That last line, in words, matters more than it looks. A figure can be altered with a pen. "Forty-eight Thousand Rupees Only" is much harder to change.
The worked example
Take an employee on ₹50,000 a month:
| Earnings | ₹ | Deductions | ₹ |
|---|---|---|---|
| Basic salary | 25,000 | Provident fund (12% on ₹15,000) | 1,800 |
| HRA | 10,000 | Professional tax | 200 |
| Special allowance | 15,000 | Income tax (TDS) | 0 |
| Gross earnings | 50,000 | Total deductions | 2,000 |
Net pay: 50,000 − 2,000 = ₹48,000.
Two of those numbers need a word of explanation.
PF is ₹1,800, not ₹3,000. The employee's share is 12% of basic pay plus DA. Many employers apply it only to the first ₹15,000 of basic, the EPF wage ceiling, which gives 12% of 15,000 = ₹1,800. Others apply it to the full basic: 12% of 25,000 = ₹3,000. Both are allowed; what matters is that you do the same thing every month and match what you actually deposit with EPFO.
Professional tax is ₹200. That is the monthly amount in states such as Maharashtra and Karnataka. It is a state tax, capped at ₹2,500 a year by the Constitution, and several states do not levy it at all. Check your state's slab rather than copying a number from a template.
Building it in Excel
Lay the sheet out in two halves: details at the top, then earnings on the left and deductions on the right. Then let formulas do the work, so next month you change two cells, not twenty.
Days in the month. Put any date of the salary month in a cell, say B2 holds 1-Nov-2026. Then:
=DAY(EOMONTH(B2,0))
gives 30. For February 2027 it gives 28, so you never have to remember which month is which.
Days paid. If B3 holds the days in the month and B4 the days of leave without pay:
=B3-B4
Each earning after leave without pay. Keep the full monthly amount in one column and the paid amount in the next. For basic salary in C8, with days paid in B5:
=ROUND(C8*$B$5/$B$3,0)
Copy it down for HRA and the other allowances.
PF on the ₹15,000 ceiling. If the paid basic is in D8:
=ROUND(MIN(D8,15000)*12%,0)
Drop the MIN if you deduct on the full basic: =ROUND(D8*12%,0).
Totals and net pay. =SUM() for each column, and net pay is gross minus deductions.
Net pay in words. Excel has no built-in formula for this. We wrote a short macro that writes it the Indian way, in lakh and crore, with paise. It is in our guide on converting numbers to words in Excel; paste it once and =RupeesInWords(D20) fills the line for you.
The same example with two days of leave without pay
Say the employee took two days of unpaid leave in November, a 30-day month. Each earning is scaled by 28 ÷ 30:
| Earning | Full month | Paid for 28 of 30 days |
|---|---|---|
| Basic salary | ₹25,000 | ₹23,333 |
| HRA | ₹10,000 | ₹9,333 |
| Special allowance | ₹15,000 | ₹14,000 |
| Gross | ₹50,000 | ₹46,666 |
PF stays ₹1,800, because the paid basic of ₹23,333 is still above the ₹15,000 ceiling. If you deduct PF on the full basic, it becomes 12% of 23,333 = ₹2,800. With professional tax of ₹200, net pay is 46,666 − 1,800 − 200 = ₹44,666.
Notice the gross is ₹46,666, not ₹46,667. Each line is rounded to the rupee on its own, and the rounding does not always add up to what you would get by scaling ₹50,000 in one go. That is normal. The slip should add up line by line, which it does.
One more choice to make: some employers divide by the calendar month (30 in November, 28 in February), others by a fixed 26 or 30 days every month. In February, two unpaid days on a ₹25,000 basic come to ₹23,214 using the calendar month, but ₹23,333 using a fixed 30. Pick one rule, write it into your appointment letters, and use it every month.
The faster way: make it online
If you do not want to maintain a spreadsheet, our salary slip generator does the same thing in the browser. Fill in the company and employee, add the earnings and deductions, and it adds them up and writes the net pay in words as you type. Two buttons handle the fiddly parts: one fills PF at 12% of basic, with or without the ₹15,000 ceiling, and one reduces every earning for the days of leave without pay.
Press Print and choose Save as PDF to get the file. Nothing you type is uploaded, which matters when the slip carries PAN and bank details.
Mistakes that get slips rejected
Net pay that does not match the bank credit. Loan officers check the slip against the bank statement. If ₹48,000 is on the slip and ₹46,500 reached the account, they will ask why. Usually it is a deduction, a loan recovery or an advance, that never made it onto the slip.
PF on the slip but not deposited. If the slip says ₹1,800 went to PF, the employee's EPF passbook should show it. A mismatch here is a compliance problem, not just a paperwork one.
Round numbers every month. A salary that is exactly ₹50,000 net every single month, through months with leave and months without, looks made up, because real payroll rarely behaves that way.
No month and year. A slip without a pay period is useless as proof of anything.
A salary slip records what was actually paid. Make it from the real figures, keep a copy, and it will do its job. To see what a CTC offer turns into each month after PF and tax, the in-hand salary calculator works it out, and the PF calculator shows what those monthly deductions grow into.