How to calculate staff salary from attendance (monthly, daily, weekly, hourly)

Published · 6 min read · By Hisab Pagar

Illustration of an open ledger with a bundle of banknotes and a stack of coins

Every month-end the same questions come up at the counter. Is September 30 days or 26? Is Sunday paid? What about the half day on the 15th? This guide shows the three common ways to turn an attendance register into a salary figure, with worked examples in rupees, so you can pick one method and apply it the same way every month.

Step 1: Know how each person is paid

Small businesses in India usually pay staff in one of four ways, and the maths is different for each:

  • Monthly salary: a fixed amount for the month, for example ₹15,000. Typical for shop staff, accountants and supervisors.
  • Daily wage: a rate per day worked, for example ₹600. Common for helpers, construction labour and factory workers.
  • Weekly wage: a fixed amount per week, often settled on Saturday or Sunday.
  • Hourly pay: a rate per hour, for part-time staff or workers whose shift length changes day to day.

Step 2: Count the month from your register

Before any maths, total up each person’s month. You need these numbers:

  • Days in the month: 28, 29, 30 or 31.
  • Present days (P) and half days (H). A half day is normally counted as 0.5.
  • Absent days (A) and unpaid leave: not paid.
  • Paid leave (PL): paid as if the person was present.
  • Week offs (WO) and holidays (HO): paid for monthly staff under most methods, not paid for daily-wage staff unless you have agreed otherwise.

Two rules avoid most arguments. First, a working day left blank should be treated as absent, so mark every day. Second, days before the joining date do not count at all, neither paid nor absent.

Step 3: Choose a method for monthly salary

For monthly staff you need a per-day rate to handle absences. There is no single rule that every business follows, and the three common methods give slightly different answers:

MethodPer-day rateMultiply by
Calendar daysSalary ÷ days in that month (28–31)Paid days, including week offs and holidays
Fixed 30 daysSalary ÷ 30, every monthPaid days, including week offs and holidays
Working daysSalary ÷ working days in the month (days minus week offs)Days actually worked and paid leave

Whichever you pick, tell your staff when they join, write it down, and use it every month. Switching methods from month to month is what causes disputes.

Worked example: monthly salary

Ramesh, ₹15,000 per month, Sunday off

September 2026 has 30 days. Sundays fall on the 6th, 13th, 20th and 27th, so there are 4 week offs and 26 working days. Ramesh was absent on 2 days and took 2 half days. He was present on the other 22 working days.

Calendar-days method (also the same as fixed-30 in a 30-day month):

Paid days = 22 present + (2 half days × 0.5) + 4 week offs = 27 Per-day = ₹15,000 ÷ 30 = ₹500 Salary = ₹500 × 27 = ₹13,500

Working-days method:

Per-day = ₹15,000 ÷ 26 = ₹576.92 Days worked = 22 + (2 × 0.5) = 23 Salary = ₹576.92 × 23 = ₹13,269 (rounded)

The difference is ₹231 for the same attendance. Neither is wrong; they are different agreements.

In a 31-day month the calendar-days method gives a slightly lower per-day rate (₹15,000 ÷ 31 = ₹483.87), so each absence costs a little less. Someone with no absences still gets the full ₹15,000, because every day, including week offs, is a paid day. Under the fixed-30 method an absence always costs ₹500, and in a 31-day month you need to decide whether the extra day adds anything. Most owners who use fixed-30 simply pay the full salary minus ₹500 per absent day.

Worked example: daily wage

Sunita, ₹600 per day

Same month and the same attendance: 22 present days and 2 half days.

Days paid = 22 + (2 × 0.5) = 23 Wages = ₹600 × 23 = ₹13,800

Week offs and holidays are not paid here. If you pay a daily-wage worker for paid leave, add those days at the full rate.

Worked example: weekly wage

Aslam, ₹3,500 per week

A weekly wage covers seven days, so the per-day rate is ₹3,500 ÷ 7 = ₹500 and the weekly off is paid. For a normal week with no absence he gets the full ₹3,500. For a week with one half day:

Paid days = 5 present + 0.5 + 1 week off = 6.5 Wages = ₹500 × 6.5 = ₹3,250

Over the whole of September, with the same attendance as Ramesh, Aslam has 27 paid days, so ₹500 × 27 = ₹13,500.

Worked example: hourly pay

Imran, ₹80 per hour, 8-hour shift

Hourly staff are paid for hours worked. If you do not write down the hours each day, a present day counts as one full shift and a half day as half a shift:

Hours = (22 days × 8) + (2 half days × 4) = 184 Pay = 184 × ₹80 = ₹14,720

If he worked 10 hours on some days and 6 on others, write the actual hours for those days instead.

When someone joins in the middle of the month

Count only the days from the joining date. Suppose Ramesh had joined on 16 September. From the 16th to the 30th there are 15 days: 2 Sundays, 1 absence, 1 half day and 11 present days.

Paid days = 11 + 0.5 + 2 week offs = 13.5 Salary = ₹500 × 13.5 = ₹6,750

With the calendar-days method you still divide by 30, the days in the month, not by the 15 days he was employed.

Step 4: From earned salary to the amount you hand over

The figure above is what the person earned. To get the amount still to pay, take away what they have already received during the month:

Balance due = earned salary − penalties − advances and salary already paid

If Ramesh earned ₹13,500 and took advances of ₹2,000 on the 5th and ₹1,000 on the 18th, the balance due on the 30th is ₹10,500. Overtime and late fines change the earned figure; see overtime and late fine calculation, and how to track advances.

Common mistakes

  • Mixing methods. Dividing by 26 working days but then paying week offs too overpays every month.
  • Forgetting week offs for monthly staff. Under the calendar and fixed-30 methods a Sunday off is a paid day. Leaving it out makes salaries look short.
  • Leaving days blank. A blank box in the register turns into an argument at month-end. Mark A or WO.
  • Rounding at every step. Round once, at the end. ₹576.92 × 23 is ₹13,269.16, which becomes ₹13,269.
  • Ignoring the minimum wage. Check that the result meets the minimum wage notified by your state for that kind of work. Many states revise the rates during the year, so check the current figure.

How Hisab Pagar does it

Hisab Pagar uses the calendar-days method for monthly staff. These are the exact rules in the app:

  • Monthly: salary ÷ days in the month × (present + half days × 0.5 + paid leave + holidays + week offs).
  • Daily: daily rate × (present + half days × 0.5 + paid leave). Holidays and week offs are not paid.
  • Weekly: weekly rate ÷ 7 × (present + half days × 0.5 + paid leave + holidays + week offs).
  • Hourly: rate × hours. A present day counts as the “working hours per day” you set (8 by default) and a half day as half of that, unless you enter the hours worked; paid leave counts as a full shift.
  • A past working day that you did not mark counts as absent; an unmarked weekly-off day counts as a week off. Days before the joining date and days still to come are not counted, so in the middle of the month you see salary earned so far.
  • Overtime is added, the total is rounded to the nearest rupee, then penalties and late fines are deducted. Advances and payments recorded in that month are subtracted to show the balance due.

Apart from the working-days calculation, every example on this page is the figure Hisab Pagar shows for that attendance. If you use the working-days method instead, you can still use the app for the register and slips, but the salary figure will be calculated the calendar-days way.