What This Screen Does
Payroll in a small Indian business is the same arithmetic twelve times a year. iAccounting stores each employee's structure once and does the rest:
- Employees — Basic, HRA, other allowances, whether PF and ESI apply, and a monthly TDS figure.
- Monthly run — pick a month, preview every employee's gross, PF (both sides), ESI (both sides), TDS and net pay.
- One voucher — post the month as a single Journal, with the ledgers created for you under the right groups.
- Idempotent — a month can only be posted once. To re-run it you must undo it first, so you can't double-book salaries.
What It Does Not Do — Read This First
Being clear about the boundaries will save you a wasted afternoon. This is a lean payroll for a small business, not a full HR system:
| Not handled | What to do instead |
|---|---|
| TDS slab computation | You enter a flat monthly TDS figure per employee. Work out the annual liability yourself (or with your CA) and divide it across the months. |
| Attendance, leave, loss of pay | The structure is a fixed monthly amount. For a month with LOP, temporarily reduce that employee's components before posting, or post the voucher and adjust it manually. |
| Salary advances | There's an "Advance ledger" field on the employee, but it is stored for reference only — it is not deducted or posted. Recover advances with your own separate entry. |
| Professional tax, LWF, gratuity, bonus | Post as separate entries. |
| PF admin charges / EDLI | Only the 12% employer share is computed. Add admin and EDLI charges yourself if you account for them. |
| Payslip printing, ECR files | Not generated here. The preview grid is your working sheet. |
If you need all of that, keep using your payroll provider and bring in just the monthly summary entry. If you're a business with a handful of staff on fixed salaries, this covers it.
Step 1 — Open Payroll
- Open the Transactions menu.
- Click 👥 Payroll (Salaries)…
The screen splits in two: Employees on top (a grid with an editor beneath) and Monthly Salary Run below. Press Esc to close.
Step 2 — Add an Employee
Fill the editor under the employee grid and click 💾 Save:
| Field | What to enter |
|---|---|
| Name * | Required, and must be unique in the company. |
| Designation | Optional, for your own reference. |
| Joined | Joining date, dd-MM-yyyy. |
| Advance ledger | Optional reference only — see the scope table above. |
| Basic ₹/mo | Monthly basic. PF is calculated on this, so split salary between Basic and allowances deliberately. |
| HRA ₹/mo | Monthly house rent allowance. |
| Other allow. ₹/mo | Everything else — conveyance, special allowance, and so on. |
| TDS ₹/mo (flat) | The monthly TDS to deduct under section 192. Enter 0 for employees below the taxable limit. |
| PF applicable | Ticked by default. Untick for employees outside EPF coverage. |
| ESI applicable | Ticked by default. Even when ticked, ESI only applies if gross is within the ceiling — the software checks. |
Gross = Basic + HRA + Other allowances. That gross drives the ESI test, so how you split the package matters in two places at once.
Use New to start a fresh employee, click any grid row to edit an existing one, and Deactivate to take someone off future runs.
Step 3 — The Statutory Maths
Worth understanding, because it explains every figure in the preview.
EPF — Provident Fund
- 12% of Basic, deducted from the employee, and 12% again from the employer.
- PF wages are capped at ₹15,000 per month. So even on a ₹60,000 basic, PF is computed on ₹15,000 — a maximum of ₹1,800 each side.
- Rounded to the nearest rupee.
- Skipped entirely when PF applicable is unticked.
ESI — Employees' State Insurance
- 0.75% of gross from the employee, 3.25% of gross from the employer.
- Applies only when gross is ₹21,000 per month or less. Above that, both sides are nil — automatically, whatever the tick box says.
- Each contribution is rounded up to the next rupee, following ESIC practice.
Note the difference: PF is a capped calculation that keeps applying above the ceiling; ESI is a cliff that stops entirely above its ceiling. A raise that pushes gross from ₹20,900 to ₹21,100 removes ESI completely.
TDS and net pay
- TDS is the flat monthly figure you entered. No slab calculation.
- Net pay = Gross − employee PF − employee ESI − TDS.
The employer's PF and ESI are not deducted from the employee — they're a cost to the business on top of gross, which is why they appear as separate expense legs in the voucher.
A Worked Example
An employee on Basic ₹12,000 + HRA ₹5,000 + Other ₹2,000, with PF and ESI both applicable and TDS of ₹0:
| Item | Working | Amount |
|---|---|---|
| Gross | 12,000 + 5,000 + 2,000 | ₹19,000 |
| Employee PF | 12% of 12,000 (under the ₹15,000 cap) | ₹1,440 |
| Employer PF | 12% of 12,000 | ₹1,440 |
| Employee ESI | 0.75% of 19,000 (gross ≤ 21,000), rounded up | ₹143 |
| Employer ESI | 3.25% of 19,000, rounded up | ₹618 |
| TDS | as entered | ₹0 |
| Net pay | 19,000 − 1,440 − 143 − 0 | ₹17,417 |
| Cost to company | 19,000 + 1,440 + 618 | ₹21,058 |
Two things to notice. The employee takes home ₹17,417 while costing the business ₹21,058 — that gap is what employer PF and ESI actually mean. And if this person's gross rose past ₹21,000, employer ESI of ₹618 would vanish while their take-home jumped by their ₹143 share.
Step 4 — Preview the Month
In Monthly Salary Run, set the Month (use the up/down arrows) and click 🔍 Preview. Every active employee gets a row: Employee, Gross, PF (emp), PF (empr), ESI (emp), ESI (empr), TDS, Net Pay.
Beneath the grid runs a totals line — gross, PF split by side, ESI, TDS and Net Payable. That net payable figure is what will leave your bank.
The status line beside the buttons tells you where the month stands: "Not yet posted for July 2026", or "✔ Posted for July 2026 (voucher …)" in green once it's done.
Check the preview properly before posting. It costs nothing to look, and it's the last easy moment to catch a wrong basic.
Step 5 — Post the Salary Voucher
Click Post Salary Voucher. A confirmation spells out what's about to happen; accept it and iAccounting posts the month.
You'll get the voucher number and total back, and the status line turns green. The Post button then disables itself for that month — the guard against posting twice.
The Accounting Entry
One Journal voucher, dated the last day of the month, referenced PAYROLL-yyyy-MM, narrated "Salary for <Month yyyy>":
| Ledger | Group | Amount | |
|---|---|---|---|
| Dr | Salary Expense | Indirect Expenses | Total gross |
| Dr | Employer PF Expense | Indirect Expenses | Employer PF |
| Dr | Employer ESI Expense | Indirect Expenses | Employer ESI |
| Cr | PF Payable | Duties & Taxes | Employee + employer PF |
| Cr | ESI Payable | Duties & Taxes | Employee + employer ESI |
| Cr | TDS on Salary Payable (192) | Duties & Taxes | Total TDS |
| Cr | Salary Payable | Current Liabilities | Total net |
Any of these ledgers that don't exist yet are created automatically under the groups shown. It's an ordinary Journal voucher — visible in the Day Book, and it appears in your P&L as salary cost with the employer contributions correctly shown as additional expense rather than hidden inside gross.
Step 6 — Pay the Salaries and the Statutory Dues
Posting the salary voucher records what you owe. It does not pay anybody. Four liabilities are now sitting in your books, and you clear each with a normal Payment voucher when you actually pay it:
- Salary Payable → Dr Salary Payable, Cr Bank, when salaries go out.
- PF Payable → Dr PF Payable, Cr Bank, on the EPFO challan.
- ESI Payable → Dr ESI Payable, Cr Bank, on the ESIC challan.
- TDS on Salary Payable (192) → Dr TDS on Salary Payable, Cr Bank, on the TDS challan.
Those four ledgers are a useful health check in themselves. If a balance is still sitting there after the due date has passed, something hasn't been paid.
Undo a Month
Spotted a wrong salary after posting? Click Undo Month. It deletes that month's salary voucher and clears the run record, so the month can be posted again from a corrected preview.
The normal correction sequence is: Undo Month → fix the employee's structure → Save → Preview → Post again.
Joiners and Leavers
The month picker doesn't pro-rate — the run takes each active employee's full monthly structure. So:
- Someone joins mid-month? Add them, then reduce their components for that first month only, post, and restore the full figures afterwards.
- Someone leaves? Deactivate them rather than deleting. They drop out of future runs while their history and past vouchers stay intact. Inactive employees show greyed out in the grid.
- Deactivated by mistake? Select them and the button reads Activate.
Messages Explained
| Message | Meaning |
|---|---|
| "No active employees — add them first." | Nothing to run. Add employees, or reactivate someone. |
| "An employee named '…' already exists" | Names must be unique. Add an initial or an employee code to distinguish two people with the same name. |
| "Salary components cannot be negative" | One of the amount fields is below zero. |
| "Employee name required." | The Name field is empty. |
| "Salary for … is already posted (voucher …). Undo it first to re-run." | The double-post guard. Use Undo Month. |
| "Manual Entry — Licence Feature" | Your edition doesn't allow manual posting. Ask the AI assistant to run payroll instead. |
Tips & Best Practice
- Split the package deliberately. Basic drives PF and gross drives ESI, so the split changes both your cost and the employee's take-home. Decide it once, when you set them up.
- Watch the ₹21,000 ESI cliff. A small raise across it removes ESI cover entirely — worth knowing before you promise it.
- Review TDS twice a year. It's a flat figure you set. Revisit it mid-year and again before the last quarter so you're not left with a large deduction in March.
- Preview every month, even when nothing changed. Ten seconds against a wrong month in your books.
- Post on the last day of the month — that's the date the voucher takes, and it keeps the accrual in the right period.
- Clear the four payables promptly. A lingering balance means a missed challan.
- Deactivate, never delete. Keeps the history clean for audit.
- Reconcile at year end. Total salary expense across twelve vouchers should tie to your salary register; the payable balances should be nil or equal to genuinely unpaid dues. See Year-End Final Entries.
What's Next?
- Year-End Final Entries — provisions for unpaid salary and statutory dues
- Import a Bank Statement with AI — book the salary payments straight from your bank statement
- AIS Reconciliation — check your TDS position before filing