How it works
- Enable Payroll v2 once for the company, and make sure every employee to be paid has an active salary structure.
- Finalize the month in Attendance so payroll reads frozen paid days. A banner on a draft run says whether that attendance month is finalized.
- Create a new payroll run with the month, the year and the type: Regular, Off-cycle or Bonus.
- ZeniaHR computes a line per employee with paid days, gross, PF, ESI, professional tax, net pay and employer cost. People who joined after the month or left before it are listed as left out, with the reason.
- Fix any attendance or input issue and press Recompute. The draft keeps its number and refreshes every line.
- Press Finalize and seal. The run gets its seal, becomes read-only and marks that month's pending inputs as applied.
- If a mistake surfaces later, cancel the run, which stays on record for audit and releases its inputs, then create a fresh one.
What you can set
- Run types: Regular, Off-cycle and Bonus.
- One regular run per month; a second one for the same month is refused until the first is cancelled.
- Draft actions: Recompute, Finalize and seal, and Delete draft.
- Finalized actions: Create payment batch and Cancel run.
- Run totals: employees, gross, deductions, net payable and employer cost.
- Finalize permission: with Access Control enforcement on, only roles given the finalize action can seal a run.
- Paid days per line from the finalized attendance month, always bounded by joining and exit dates.
Why a sealed run matters
In many companies the payroll sheet keeps changing after salaries are paid: a formula is fixed, a row is edited, and three months later nobody can say which version the bank transfer used. A sealed run ends that. The digest is computed from each line's employee, gross, deductions, net pay and employer cost, and the run cannot be edited afterwards. Corrections happen in the open, by cancelling and rerunning, so the record shows both the mistake and the fix.
Worked example: the September 2026 run
A food processing company in Nashik has 42 employees with salary structures. HR finalizes September attendance on 2 October and creates the regular run for September. The draft has 40 lines. Two people are listed as left out: Tanvi, whose join date of 5 October is after the period, and Ganesh, whose exit date of 31 August is before it.
Pradeep, a packing supervisor on a gross of ₹24,000, shows 29 of 30 paid days after one unpaid absence, so his earned gross is ₹23,200, at ₹800 a day. HR then notices that Anjali's ₹1,500 sales incentive is missing, adds it as an input for September and presses Recompute. On 4 October Finance checks the totals and finalizes the run, leaving time to pay before the 7th.
A payroll calendar that meets the deadline
Monthly wages must be paid by the 7th of the following month, so work backwards from that date. Close attendance corrections by the 2nd, finalize the attendance month, collect inputs by the 3rd, review the draft on the 4th and finalize by the 5th, leaving two days for the bank. Put these dates in your compliance calendar and read the wage payment timelines for exits, where wages are due within two working days.
See payroll runs in a demo
We show it on a video call with your own shifts, leave types and rules. Free for your first 50 employees.
Book a free demoSee pricingFrequently asked questions
What is a payroll run?
A payroll run is one calculation of salaries for a month. In ZeniaHR it holds a line for every employee with an active salary structure, showing paid days, gross, deductions, net pay and employer cost. It starts as a draft, can be recomputed, and becomes read-only once finalized.
What happens to employees who joined or left mid-month?
They are paid for the days they were employed. Paid days are always bounded by the joining and exit dates, so a joiner on the 16th of a 30-day month with full attendance earns 15 of 30 days. Anyone whose employment does not touch the month is left out of the run with a reason.
Why does a run say an employee was left out?
Because that person should not be paid for the month. ZeniaHR lists each one with a reason, such as a join date after the period, an exit date before it, or an offboarded status with no exit date on record. Fix the record if the reason is wrong and recompute the draft.