NS

Nsoft Solutions — Payroll for Small Companies

Nsoft Solutions Payroll

A plain-language guide to what the system does, how each part works, and the pay rules it applies automatically — for staff training and client walkthroughs.

01What this system does

Nsoft Solutions Payroll is built for small companies that need proper payroll without the overhead of an enterprise HR system. It replaces manually building a pay sheet in Excel every month: it watches the biometric clock-in/out machine, works out who worked how many hours (including overtime), tracks leave and lateness, and then calculates a full, correct payslip for every employee — basic pay, overtime, EPF/ETF, tax, and every deduction — automatically and consistently every month.

Everything the system does is built around one rule: never lose history. If a pay rate changes, the old rate is kept alongside the new one so a payslip from six months ago still shows exactly what applied at the time. Nothing is ever silently overwritten.

Attendance

Reads the clock-in/out device and turns punches into regular, overtime, and double-overtime hours.

Leave

Tracks entitlements by leave type and length of service, and keeps a day off from looking like an unpaid absence.

Payroll

Runs the full monthly calculation — pay, tax, EPF/ETF, and every deduction — for every employee in one go.

Payslips & reports

Produces a printable payslip matching the company's own format, plus cost and compliance reports.

02Logging in & roles

There's no public sign-up — every login is created individually by an Admin. Each person is given one of two roles:

Admin

Full access — everything HR can do, plus changing pay rules, holiday types, OT settings, and managing other people's logins.

HR

Day-to-day work — employees, attendance, leave, pay periods, payroll runs, reports. Can't change the underlying pay rules or manage users.

A login stays valid for 8 hours, then you're asked to sign in again.

04Setting up the system

These are mostly one-time or occasional settings — an Admin sets them up, and day-to-day work rarely touches them again. Every one of these is admin-editable, not buried in code — if company policy changes, there's a screen to update it.

Departments & categories

Every department belongs to either the Factory Staff or Office Staff category, which controls which shifts it can use and how absence is priced. Department names are fully editable — add a new one any time.

Shift types & rotation

Shift A and Shift B swap between Day and Night every week; Shift General, Office, and Maintenance don't rotate. Each shift's start time and length are editable, and — importantly — changes are dated, so attendance already calculated under the old hours is never retroactively changed.

Overtime rules

Every shift has its own rule per day type (Weekday / Saturday / Sunday), covering: regular hours, when overtime starts, when double overtime starts, and the multiplier for each. A grace period and rounding block (e.g. "round up to the next 15 minutes past the grace period") apply company-wide and are also editable.

Holidays

An Admin marks specific calendar dates as Poya, Public Holiday, or Statutory Holiday. Each holiday type has its own pay rate (see the rules reference) — once marked, that date overrides the normal weekday/Saturday/Sunday rule automatically.

Leave types & entitlements

Annual, Casual, Lieu, Special, Medical, Short, and Unpaid leave, each with its own entitlement. Factory staff's Annual Leave entitlement grows with length of service and depends on which quarter they joined in — see Leave.

Other settings

  • Late Deduction Settings — the Rupee tiers charged against Attendance Allowance for lateness.
  • Death Donation — the flat amount charged to every active employee per funeral that period.
  • No Pay Divisor — the day-rate used to price an absence, separately for Factory and Office staff.

05Managing employees

The Employees screen is where a person's whole record lives — identity, pay, shift, allowances, deductions, advances, and leave.

Adding someone

  1. Fill in their name, EPF status, department, shift, and basic salary.
  2. If their EPF status is Pending, the system shows them the next available temporary EPF number automatically.
  3. Optionally attach starting allowances right away — anything else (deductions, advances) is added afterward from their record.

Keeping a record up to date

Edit Details

Address, emergency contact, bank details, marital status, department, supervisor — anything that isn't EPF or shift.

Salary History

Every basic salary change is logged automatically with a reason, so nothing gets lost.

Change Shift

Move someone permanently, or temporarily (e.g. covering another shift for two weeks) — it reverts on its own when the cover period ends.

Manage Allowances / Deductions

Attach or remove recurring monthly amounts. Both are date-tracked, never silently changed.

Manage Advances / Loans

A Salary Advance is recovered the following month; a Company Loan is recovered over several months. Both can be "held" to skip a month without losing the schedule.

Manage Leave

Apply leave against specific dates and see the running balance.

When someone leaves

Deactivating an employee asks for their Date of Leaving — their last actual working day. The system uses that date to pay them correctly for only the part of the month they actually worked; the rest of the pay period is automatically unpaid, the same way a mid-month new joiner's first partial month is handled.

Why this matters

Without a Date of Leaving, the system has no way to know someone only worked half the month — it would either overpay them or need a manual correction. Always set it when deactivating a real leaver.

06Attendance & shifts

Step 1: Import the day's punches

The biometric clock-in/out machine keeps its own record of every punch. Once a day, click "Import Now" on the Attendance screen's "Import Biometric Punches" card to pull anything new into this system — safe to click more than once, already-imported punches are never duplicated. Do this before processing attendance below, since processing only reads punches already imported.

Step 2: Process attendance

Every day, the system reads the imported clock-in/clock-out punches and matches them to each employee's scheduled shift window for that date — accounting for the weekly Day/Night rotation. From that, it calculates:

  • Regular hours — always counted from the shift's scheduled start time, not the actual clock-in. Arriving early earns no bonus; arriving late doesn't shrink regular hours either (lateness is handled separately — see below).
  • Overtime and double-overtime — worked past the scheduled window, priced by the shift's rule for that day type.
  • Lateness — minutes late are recorded separately and never affect the hours above.

Attendance statuses

StatusMeaning
CompleteBoth punches found, hours calculated normally.
Missing In / Missing OutOnly one punch found — must be resolved by HR before payroll can run for that period.
AbsentNo punches at all on a day the employee was scheduled to work. Reduces pay (see No Pay).
WeekendAn unpunched Sunday — unpaid, but explicitly not treated as an unexcused absence.
Day OffA scheduled rest day — paid in full, no punch expected.
HolidayA declared holiday the employee didn't come in for — still paid in full.
LeaveCovered by an approved leave application — paid according to that leave type's rule.

Correcting a mistake

Every attendance record on the Attendance screen can be manually corrected — click Edit, adjust the in/out time, save. A corrected record is marked and audited, and re-running attendance processing will never silently overwrite a manual correction.

Sunday-worked day off

Working a full Sunday shift earns a compensatory day off within the next 6 days — tracked as a credit on the employee's record and applied whenever it's convenient, rather than auto-scheduling it.

07Leave

Seven leave types are built in: Annual, Casual, Lieu, Special, Medical, Short, and Unpaid. Medical and Short both support a half-day (AM/PM) application. Leave is applied directly by HR/Admin against specific dates — there's no employee self-service portal.

How entitlement is worked out

Office Staff get a flat entitlement per leave type. Factory Staff's Annual Leave is graduated by service — it depends on how many years someone has worked and, in their second year specifically, which quarter they joined in:

Factory Staff — Annual Leave by year of service & join quarter
Year of serviceJan–Mar joinerApr–Jun joinerJul–Sep joinerOct–Dec joiner
Year 2141074
Year 3 onward14 (flat, regardless of join quarter)

A new joiner still on probation earns Unpaid Leave automatically at 0.5 days for every completed month, frozen the day they're confirmed Permanent.

08Pay periods & running payroll

The pay period lifecycle

A pay period moves through three states, and only in one direction unless something fails:

  1. Open — the period exists, attendance is being processed, adjustments can be entered.
  2. Processing — a payroll run is in progress. Nothing else can happen to the period while this is underway.
  3. Closed — the run finished successfully. Payslips are final.

If a run fails for any reason, the period automatically rolls back to Open — nothing is left half-done.

Before you can run payroll

The system checks every attendance record in the period first. If anyone has a Missing In/Missing Out that hasn't been fixed, the run is blocked and you're shown the full list — never processed with gaps, and never fails halfway through one employee at a time.

What gets calculated, in plain terms

For every active employee (plus anyone who left partway through the period), one run works out:

  • Basic pay, reduced for any unpaid days (absence, or a partial month for a joiner/leaver).
  • Overtime pay at the correct rate for each hour worked, including the special Sunday/holiday rules.
  • Allowances currently assigned to the employee, with lateness deductions applied where they've earned them.
  • EPF, ETF, and PAYE tax, using the current statutory rates and slabs.
  • Deductions — Stamp Duty, Death Donation, any standing deductions, and recovery of salary advances/loans due that month.
  • One-off adjustments an Admin entered for that specific period (e.g. Salary Arrears, Leave Balance encashment).
  • The final split between cash and bank payment.

The full breakdown for every rate and formula used above is in the Quick reference section.

09Payslips & reports

Once a run is complete, every employee has a print-ready payslip matched line-for-line to the company's own paper format — logo, info box, and the same fixed order of earnings and deductions.

OT Report

Department summary and day-by-day detail of overtime hours across the company.

Payslips

Browse and print any employee's payslip from a completed run.

Payroll Cost Summary

Total company cost for a run — gross, deductions, employer EPF/ETF.

Department-wise Cost

The same totals broken down by department.

EPF/ETF Report

Employer contributions per employee, ready for statutory submission.

Every report can be downloaded as an Excel file.

10Activity log & users

Every meaningful change — a new employee, a salary change, an attendance correction, a payroll run — is written to the Activity Log (Admin only), showing who did it and when. Nothing is silent.

The Users screen (Admin only) is where logins are created and managed: add a user, change their role, reset a password, or deactivate an account. Two safety rules apply automatically — an Admin can't deactivate or demote their own account, and the system will never let the last active Admin account be deactivated or demoted, so it's never possible to lock everyone out.

11Quick reference: all the rules

Every figure below is confirmed against the company's own policy and real payslips, and every one is admin-editable somewhere in the system if it ever needs to change — nothing here is fixed in code without a settings screen behind it.

Statutory deductions

ItemRateNotes
EPF — Employee8%Deducted from the employee's pay.
EPF — Employer12%Company cost — not deducted from the employee.
ETF — Employer3%Company cost only, no employee contribution.
Stamp DutyRs 25Only when gross salary exceeds Rs 25,000; otherwise Rs 0.

EPF/ETF are calculated on a slightly narrower base than gross salary — basic pay plus certain pay-related items, but excluding allowances and OT amounts entirely.

PAYE income tax (annual slabs)

Annual taxable incomeRate
Up to Rs 1,800,0000%
Rs 1,800,000 – 2,800,0006%
Rs 2,800,000 – 3,300,00018%
Rs 3,300,000 – 3,800,00024%
Rs 3,800,000 – 4,300,00030%
Above Rs 4,300,00036%

Each month's PAYE is worked out by annualizing that month's taxable gross (×12), applying these slabs, then dividing back down by 12.

Overtime & special-day pay

WhenHow it's priced
Regular-day overtime (1.5×)Basic ÷ 200 × 1.5
Regular-day double-OT (2.0×)Basic ÷ 200 × 2.0
Sunday — first 9 hours workedBasic ÷ 26 × 1.5 (flat day payment)
Sunday — hours beyond 9Basic ÷ 200 × 2.0
Poya — first 9 hours workedBasic ÷ 26 × 1.5 (flat day payment)
Poya — hours beyond 9Basic ÷ 200 × 2.0
Public / Statutory Holiday — first 9 hoursBasic ÷ 26 × 2.0 (flat day payment)
Public / Statutory Holiday — hours beyond 9Basic ÷ 200 × 3.0
Saturday night crossing into Sunday (Shift A/B night)Regular 6h, then double-OT

Absence, joining & leaving

SituationHow it's priced
Absent day — Factory StaffBasic ÷ 26 per day (Absent Saturday = half day)
Absent day — Office StaffBasic ÷ 30 per day
Days before a mid-month joiner's start dateSame day-rate as above, unpaid
Days after a mid-month leaver's last working daySame day-rate as above, unpaid

Lateness

RuleEffect
Cumulative lateness this period ≥ 30 minRs 2,000 deducted from Attendance Allowance
Cumulative lateness this period ≥ 60 minRs 3,000 deducted from Attendance Allowance
Cumulative lateness this period ≥ 150 minFull Attendance Allowance deducted
Cumulative lateness > 30 min in a month with no Short Leave appliedAn additional 2 hours of pay deducted (Basic ÷ 200 × 2)

These two lateness rules are separate and both apply — the Rupee tiers reduce Attendance Allowance specifically; the Short Leave rule is a flat pay deduction on top, and only bites if no Short Leave was applied to cover the lateness that month.

Other pay items

ItemRule
Day OffPaid in full, no punch expected.
Death DonationA flat amount per funeral that period, charged to every active employee company-wide.
Cash / Bank splitEach employee has a fixed cash amount (capped at what they're actually owed); the rest goes to bank.
Salary AdvanceRecovered in full the following month.
Company LoanRecovered as a fixed monthly installment over several months.

12Common questions

Q.Someone's punches aren't showing up in today's attendance sheet?

Click "Import Now" on the Attendance screen first — punches only reach this system once imported from the biometric machine, and processing only reads what's already been imported. Then re-run "Attendance Processing" for the date.

Q.Someone forgot to clock out — what do I do?

Open Attendance, find their record for that date, click Edit, and enter the correct in/out time. It's marked as manually corrected and will never be overwritten by re-processing.

Q.An employee joined or left mid-month — will they be paid correctly?

Yes. Set their Date of Joining (at creation) or Date of Leaving (when deactivating) — the payroll run automatically pays only the days they were actually employed within that period.

Q.Why won't the payroll run start?

Most often there's an unresolved attendance record — a Missing In or Missing Out somewhere in the period. The run tells you exactly which employees and dates need fixing first.

Q.I made a mistake on a closed pay period — can I fix it?

Reopen the period from Pay Periods, make the correction, and run payroll again. The previous run stays on record; a new one is created.

Q.Where do I change an overtime rate or a holiday's pay multiplier?

Shifts & Rotation (for shift-based OT rules) or Holidays (for holiday pay rates) — both Admin-only. Changing a rate never affects past payslips; it only applies going forward from the date you choose.

Q.Can an employee apply their own leave?

Not yet — leave is applied by HR/Admin on the employee's behalf from their record.